Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//***************************************************************************
//
// File:
//
// Module: MS SNMP Provider
//
// Purpose:
//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
//***************************************************************************
/*---------------------------------------------------------
Filename: fs_reg.cpp Written By: B.Rajeev ----------------------------------------------------------*/
#include "precomp.h"
#include "common.h"
#include "fs_reg.h"
#include "sec.h"
FrameState::FrameState(IN SessionFrameId session_frame_id, IN VBList &vblist) : session_frame_id(session_frame_id), vblist(&vblist) {}
FrameState::~FrameState(void) { delete vblist; }
FrameStateRegistry::~FrameStateRegistry() { DestroySecurity(); }
FrameState *FrameStateRegistry::Get(IN SessionFrameId session_frame_id) { FrameState *frame_state; BOOL found = mapping.Lookup(session_frame_id, frame_state);
if ( found ) return frame_state; else return NULL; }
FrameState *FrameStateRegistry::Remove(IN SessionFrameId session_frame_id) { FrameState *frame_state = Get(session_frame_id);
if ( frame_state != NULL ) mapping.RemoveKey(session_frame_id);
return frame_state; }
FrameState *FrameStateRegistry::GetNext(OUT SessionFrameId *session_frame_id) { if ( current_pointer == NULL ) return NULL;
SessionFrameId local_session_frame_id; FrameState *frame_state;
mapping.GetNextAssoc(current_pointer, local_session_frame_id, frame_state);
if ( session_frame_id != NULL ) *session_frame_id = local_session_frame_id;
return frame_state; }
void FrameStateRegistry::RegisterSecurity(IN SnmpSecurity *snmp_security) { if ( snmp_security != NULL ) { security = snmp_security->Copy();
if ( !(*security)() ) throw GeneralException(Snmp_Error, Snmp_Local_Error,__FILE__,__LINE__); } else security = NULL; }
SnmpSecurity *FrameStateRegistry::GetSecurity() const { return security; }
void FrameStateRegistry::DestroySecurity() { if ( security != NULL ) { delete security; security = NULL; } }
|