MAK RTIspy API Documentation for HLA 1516
queryInterTransportMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: queryInterTransportMsg.h,v $ $Revision: 1.0 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtQueryInterTransportMsg_H_
00013 #define DtQueryInterTransportMsg_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "rtiMsg.h"
00017 #include "netQueryInterMsg.h"
00018 #include "vlutil/vlFedTarget.h"
00019 
00020 class DtConnectionMgr;
00021 class DtQueryInterTransportMsg;
00022 typedef void (*DtQueryInterTransportCb)(const DtQueryInterTransportMsg& msg, void* usr);
00023 
00024 class DT_DLL_LRC DtQueryInterTransportMsg : public DtRtiMsg
00025 {
00026 public:
00027 
00029     DtQueryInterTransportMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00030 
00032     DtQueryInterTransportMsg(
00033         DtFederateHandle targetFed,
00034         DtInteractionClassHandle handle,
00035         DtFederateHandle sendingFed,
00036         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037 
00039     DtQueryInterTransportMsg(const DtNetQueryInterTransportMsg* netRepMsg,
00040         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041 
00043     virtual ~DtQueryInterTransportMsg();
00044 
00046     virtual DtRtiMsg* clone(bool copy = true) const; 
00047 
00049     virtual void set(
00050         DtFederateHandle targetFed,
00051         DtInteractionClassHandle handle,
00052         DtFederateHandle sendingFed);
00053 
00055     virtual void setClassHandle(DtObjectClassHandle handle);
00056     virtual DtObjectClassHandle classHandle() const;
00057 
00059     virtual void setRecipientFederate(DtFederateHandle hand);
00060     virtual DtFederateHandle recipientFederate() const;
00061 
00063     virtual void setSendingFederate(DtFederateHandle hand);
00064     virtual DtFederateHandle sendingFederate() const;
00065 
00067     virtual void setHandle(const DtInteractionClassHandle& handle);
00068     virtual const DtInteractionClassHandle& handle() const;
00069 
00071     virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00072 
00073 public:
00074 
00076     static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00077         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00078 
00080     static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00081 
00083     static void addCallback(DtConnectionMgr *conn, 
00084         DtQueryInterTransportCb cb, void *usr);
00085     static void removeCallback(DtConnectionMgr *conn, 
00086         DtQueryInterTransportCb cb, void *usr);
00087 
00088 protected:
00089 
00091     virtual int tagFieldSize() const;
00092 
00094     virtual DtNetQueryInterTransportMsg* netQueryInterTransportMsg();
00095     virtual const DtNetQueryInterTransportMsg* netQueryInterTransportMsg() const;
00096 
00098     virtual DtRtiMsgKind internalDtRtiMsgKind();
00099 
00101     virtual int minSize() const;
00102 
00104     virtual DtQueryInterTransportMsg* self() const;
00105 
00106 protected:
00107 
00108     int myDirty;   
00109     DtInteractionClassHandle* myHandle;
00110 };
00111 
00112 
00113 inline DtQueryInterTransportMsg* DtQueryInterTransportMsg::self() const
00114 {
00115     return const_cast<DtQueryInterTransportMsg*>( this );
00116 }
00117 
00118 #endif
00119 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)