MAK RTIspy API Documentation for HLA 1516
queryTransportMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2010 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: queryTransportMsg.h,v $ $Revision: 1.0 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtQueryTransportMsg_H_
00013 #define DtQueryTransportMsg_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "rtiMsg.h"
00017 #include "netQueryTransportMsg.h"
00018 #include "vlutil/vlFedTarget.h"
00019 
00020 class DtConnectionMgr;
00021 class DtQueryTransportMsg;
00022 typedef void (*DtQueryTransportCb)(const DtQueryTransportMsg& msg, void* usr);
00023 
00024 enum DtQueryTransMsgKind
00025 {
00026     DtAttributeQuery,
00027     DtInteractionQuery,
00028 };
00029 
00030 class DT_DLL_LRC DtQueryTransportMsg : public DtRtiMsg
00031 {
00032 public:
00033 
00035     DtQueryTransportMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00036 
00038     DtQueryTransportMsg(
00039         DtFederateHandle targetFed,
00040         DtQueryTransMsgKind kind,
00041         DtObjectInstanceHandle objHand, 
00042         DtAttributeHandle handle,
00043         DtTransportType transType,
00044         DtFederateHandle sendingFed = 0,
00045         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046 
00048     DtQueryTransportMsg(const DtNetQueryTransportMsg* netRepMsg,
00049         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00050 
00052     virtual ~DtQueryTransportMsg();
00053 
00055     virtual DtRtiMsg* clone(bool copy = true) const; 
00056 
00058     virtual void set(
00059         DtFederateHandle targetFed,
00060         DtQueryTransMsgKind kind,
00061         DtObjectInstanceHandle objHand, 
00062         DtAttributeHandle handle,
00063         DtTransportType transType,
00064         DtFederateHandle sendingFed = 0);
00065 
00067     virtual void setQueryTransportMsgKind(DtQueryTransMsgKind kind);
00068     virtual DtQueryTransMsgKind queryTransportMsgKind() const;
00069 
00071     virtual void setObjHandle(DtObjectInstanceHandle id);
00072     virtual DtObjectInstanceHandle objHandle() const;
00073 
00074     virtual void setClassHandle(DtObjectClassHandle handle);
00075     virtual DtObjectClassHandle classHandle() const;
00076 
00078     virtual void setRecipientFederate(DtFederateHandle hand);
00079     virtual DtFederateHandle recipientFederate() const;
00080 
00082     virtual void setSendingFederate(DtFederateHandle handle);
00083     virtual DtFederateHandle sendingFederate() const;
00084 
00086     virtual void setHandle(const DtAttributeHandle& handle);
00087     virtual const DtAttributeHandle& handle() const;
00088 
00090     virtual void setTransportType( DtTransportType type );
00091     virtual DtTransportType transportationType() const;
00092 
00094     virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00095 
00096 public:
00097 
00099     static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00100         DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00101 
00103     static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00104 
00106     static void addCallback(DtConnectionMgr *conn, 
00107         DtQueryTransportCb cb, void *usr);
00108     static void removeCallback(DtConnectionMgr *conn, 
00109         DtQueryTransportCb cb, void *usr);
00110 
00111 protected:
00112 
00114     virtual int tagFieldSize() const;
00115 
00117     virtual DtNetQueryTransportMsg* netQueryTransportMsg();
00118     virtual const DtNetQueryTransportMsg* netQueryTransportMsg() const;
00119 
00121     virtual DtRtiMsgKind internalDtRtiMsgKind();
00122 
00124     virtual int minSize() const;
00125 
00127     virtual DtQueryTransportMsg* self() const;
00128 
00129 protected:
00130 
00131     int myDirty;   
00132     DtAttributeHandle* myHandle;
00133     DtTransportType myTransportType;
00134 };
00135 
00136 
00137 inline DtQueryTransportMsg* DtQueryTransportMsg::self() const
00138 {
00139     return const_cast<DtQueryTransportMsg*>( this );
00140 }
00141 
00142 #endif
00143 

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)