![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: assistantSyncPtUpdateMsg.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtAssistantSyncPtUpdateMsg_H_ 00010 #define DtAssistantSyncPtUpdateMsg_H_ 00011 00015 00016 #include <vlutil/vlString.h> 00017 #include <vlutil/vlUtil.h> 00018 00019 #include "assistantMsg.h" 00020 #include "federationInfo.h" 00021 #include "netAssistantSyncPtUpdateMsg.h" 00022 00023 class DtRtiAssistantServer; 00024 class DtRtiAssistantPeer; 00025 class DtAssistantSyncPtUpdateMsg; 00026 00027 typedef void (*DtAssistantSyncPtUpdateCb)(const DtAssistantSyncPtUpdateMsg& inter, void* usr); 00028 00033 class DT_DLL_ASSISTANT DtAssistantSyncPtUpdateMsg : public DtAssistantMsg 00034 { 00035 public: 00036 00038 DtAssistantSyncPtUpdateMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00039 00040 DtAssistantSyncPtUpdateMsg(const DtNetAssistantSyncPtUpdateMsg* netRepMsg, 00041 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00042 00044 virtual ~DtAssistantSyncPtUpdateMsg(); 00045 00047 virtual DtAssistantMsg* clone(bool copy = true) const; 00048 00050 virtual bool isRemoval() const; 00051 00053 virtual void setIsRemoval( bool remove ); 00054 00056 virtual void getPendingAndAchieved( DtPendingAchievedPair& pendAchieve ) const; 00057 00059 virtual void setPendingAndAchieved( const DtPendingAchievedPair& pendAchieve ); 00060 00062 virtual MAKRti::DtString federationName() const; 00063 00065 virtual void setFederationName( const MAKRti::DtString& name ); 00066 00068 virtual MAKRti::DtString syncPtName() const; 00069 00071 virtual void setSyncPtName( const MAKRti::DtString& name ); 00072 00074 virtual void printData() const; 00075 00076 public: 00077 00079 static DtAssistantMsg* create(const DtNetAssistantMsgHeader* initial, 00080 DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00081 00082 static DtAssistantMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER); 00083 00086 static void addCallback(DtRtiAssistantServer* conn, 00087 DtAssistantSyncPtUpdateCb cb, void* usr); 00088 static void removeCallback(DtRtiAssistantServer* conn, 00089 DtAssistantSyncPtUpdateCb cb, void* usr); 00090 00093 static void addCallback(DtRtiAssistantPeer* conn, 00094 DtAssistantSyncPtUpdateCb cb, void* usr); 00095 static void removeCallback(DtRtiAssistantPeer* conn, 00096 DtAssistantSyncPtUpdateCb cb, void* usr); 00097 00098 protected: 00099 00101 virtual DtNetAssistantSyncPtUpdateMsg* netAssistantSyncPtUpdateMsg(); 00102 virtual const DtNetAssistantSyncPtUpdateMsg* netAssistantSyncPtUpdateMsg() const; 00103 00105 virtual DtAssistantMsgKind internalMsgKind(); 00106 00108 virtual int minSize() const; 00109 00111 virtual void setNumPending( unsigned num ); 00112 virtual unsigned numPending() const; 00113 00115 virtual const DtNetU32* pendingPtr() const; 00116 virtual DtNetU32* pendingPtr(); 00117 00119 virtual void setNumAchieved( unsigned num ); 00120 virtual unsigned numAchieved() const; 00121 00123 virtual const DtNetU32* achievedPtr() const; 00124 virtual DtNetU32* achievedPtr(); 00125 00127 virtual void setFederationNameSize( unsigned size ); 00128 virtual unsigned federationNameSize() const; 00129 00131 virtual const char* federationNamePtr() const; 00132 virtual char* federationNamePtr(); 00133 00135 virtual void setSyncPtNameSize( unsigned size ); 00136 virtual unsigned syncPtNameSize() const; 00137 00139 virtual const char* syncPtNamePtr() const; 00140 virtual char* syncPtNamePtr(); 00141 00142 }; 00143 00144 #endif