VR-Link API Documentation for DIS
pduCbMgr.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 #pragma once
00006 
00009 
00010 #if DtDIS
00011 
00012 #include <vlutil/vlList.h>
00013 #include "pdu.h"
00014 
00015 class DT_DLL_VL DtPduCallbackInfo;
00016 
00018 typedef void (*DtPduCallbackFcn)(DtPdu* pdu, void* usr);
00019 
00024 
00025 class DT_DLL_VL DtPduCallbackManager
00026 {
00027 public:
00028 
00030    DtPduCallbackManager();
00031 
00033    virtual ~DtPduCallbackManager();
00034 
00036    DtPduCallbackManager(const DtPduCallbackManager& orig);
00037 
00039    DtPduCallbackManager& operator=(const DtPduCallbackManager& orig);
00040 
00043    virtual void addPduCallback(DtPduKind k, 
00044       DtPduCallbackFcn fcn, void* usr);
00045    virtual void removePduCallback(DtPduKind k, 
00046       DtPduCallbackFcn fcn, void* usr);
00047 
00049    virtual void processPdu(const DtPdu& pdu) const;
00050 
00052    virtual int numCallbacks(DtPduKind k) const;
00053 
00054 protected:
00055 
00057    virtual void addPduCallback(DtPduKind k, DtPduCallbackInfo* info);
00058    virtual void removePduCallback(DtPduKind k, const DtPduCallbackInfo& info);
00059 
00062    void emptyList();
00063 
00066    void copyList(const DtPduCallbackManager& orig);
00067 
00068 protected:
00069 
00070 #define DtMAX_PDU_KINDS 256
00071    DtList myCbList[DtMAX_PDU_KINDS];
00072 };
00073 
00074 #endif
00075 
00076 
00077 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)