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.
|
|
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
/*---------------------------------------------------------
Filename: tsent.cpp Written By: B.Rajeev ----------------------------------------------------------*/
#include "precomp.h"
#include "common.h"
#include "tsent.h"
void TransportSentStateStore::Register(IN TransportFrameId id, IN const SnmpErrorReport &error_report) { store[id] = new SnmpErrorReport(error_report); }
void TransportSentStateStore::Modify(IN TransportFrameId id, IN const SnmpErrorReport &error_report) { SnmpErrorReport *old_error_report = NULL ;
store.Lookup(id, old_error_report);
if ( old_error_report ) { old_error_report->SetError(error_report.GetError()); old_error_report->SetStatus(error_report.GetStatus()); } }
SnmpErrorReport TransportSentStateStore::Remove(IN TransportFrameId id) { SnmpErrorReport *error_report = NULL ;
store.Lookup(id, error_report);
store.RemoveKey(id);
SnmpErrorReport to_return ;
if ( error_report ) { to_return = (*error_report); delete error_report; }
return to_return; }
TransportSentStateStore::~TransportSentStateStore(void) { // get the first position
POSITION current = store.GetStartPosition();
// while the position isn't null
while ( current != NULL ) { TransportFrameId id; SnmpErrorReport *error_report = NULL ;
// get the next pair
store.GetNextAssoc(current, id, error_report);
// delete the ptr
delete error_report; }
// remove all the keys
store.RemoveAll(); }
|