![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: reqDiscObjMsg.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtReqDiscObjMsg_H_ 00013 #define DtReqDiscObjMsg_H_ 00014 00015 #include "rtiMsg.h" 00016 #include "netDiscObjMsg.h" 00017 00018 class DtConnectionMgr; 00019 class DtReqDiscObjMsg; 00020 00021 typedef void (*DtReqDiscObjCb)(const DtReqDiscObjMsg& msg, void* usr); 00022 00023 class DT_DLL_LRC DtReqDiscObjMsg : public DtRtiMsg 00024 { 00025 public: 00026 00028 DtReqDiscObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00029 00030 DtReqDiscObjMsg( 00031 DtObjectInstanceHandle objHandleValue, 00032 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00033 00035 DtReqDiscObjMsg(const DtNetDiscObjMsg* netRepMsg, 00036 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00037 00039 virtual ~DtReqDiscObjMsg(); 00040 00042 virtual DtRtiMsg* clone(bool copy = true) const; 00043 00045 virtual void set( 00046 DtObjectInstanceHandle objHandleValue, 00047 DtObjectClassHandle classHandleValue); 00048 00050 virtual void setObjHandle(DtObjectInstanceHandle id); 00051 virtual DtObjectInstanceHandle objHandle() const; 00052 00054 virtual void setClassHandle(DtObjectClassHandle hand); 00055 virtual DtObjectClassHandle classHandle() const; 00056 00058 virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const; 00059 00060 public: 00061 00063 static DtRtiMsg* create(const DtNetMsgHeader* initial, 00064 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00065 00067 static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00068 00070 static void addCallback(DtConnectionMgr *conn, 00071 DtReqDiscObjCb cb, void *usr); 00072 static void removeCallback(DtConnectionMgr *conn, 00073 DtReqDiscObjCb cb, void *usr); 00074 00075 protected: 00076 00078 virtual DtNetDiscObjMsg* netDiscObjMsg(); 00079 virtual const DtNetDiscObjMsg* netDiscObjMsg() const; 00080 00082 virtual DtRtiMsgKind internalDtRtiMsgKind(); 00083 00085 virtual int minSize() const; 00086 00088 virtual DtReqDiscObjMsg* self() const; 00089 }; 00090 00091 00092 inline DtReqDiscObjMsg* DtReqDiscObjMsg::self() const 00093 { 00094 return const_cast<DtReqDiscObjMsg*>( this ); 00095 } 00096 00097 #endif 00098