MAK RTIspy API Documentation for HLA 1.3
interTsoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: interTsoMsg.h,v $ $Revision: 1.13 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtInteractionTsoMsg_H_
00013 #define DtInteractionTsoMsg_H_
00014 
00015 #ifdef DtTIME
00016 
00017 #include "interactMsg.h"
00018 #include "netIntTsoMsg.h"
00019 
00021 
00022 class DT_DLL_LRC DtInteractionTsoMsg : public DtInteractionMsg
00023 {
00024 public:
00025 
00027    DtInteractionTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00028 
00029    DtInteractionTsoMsg(
00030       DtInteractionClassHandle theInteraction,
00031       const DtPhvps& theParameters,
00032       DtOrderHandle type,
00033 #ifdef DtIFSPEC1516
00034       rti1516::LogicalTime const & theTime,
00035       rti1516::VariableLengthData const& theTag,
00036 #elif defined(DtIFSPEC1516E)
00037       rti1516e::LogicalTime const & theTime,
00038       rti1516e::VariableLengthData const& theTag,
00039 #else
00040       RTI::FedTime const & theTime,
00041       char const * theTag,
00042 #endif
00043       unsigned long serialNumberVal,
00044       unsigned long channel,
00045       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00046 
00047    DtInteractionTsoMsg(const DtNetInteractionTsoMsg* netRepMsg,
00048       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00049 
00051    virtual ~DtInteractionTsoMsg();
00052 
00054    virtual DtRtiMsg* clone(bool copy = true) const; 
00055 
00057    virtual void set(
00058       DtInteractionClassHandle theInteraction,
00059       const DtPhvps& theParameters,
00060       DtOrderHandle type,
00061 #ifdef DtIFSPEC1516
00062       rti1516::LogicalTime const & theTime,
00063       rti1516::VariableLengthData const& theTag,
00064 #elif defined(DtIFSPEC1516E)
00065       rti1516e::LogicalTime const & theTime,
00066       rti1516e::VariableLengthData const& theTag,
00067 #else
00068       RTI::FedTime const & theTime,
00069       char const * theTag,
00070 #endif
00071       unsigned long serialNumberVal,
00072       unsigned long channel);
00073 
00075    virtual void setHandle(DtInteractionClassHandle hand);
00076    virtual DtInteractionClassHandle handle() const;
00077 
00079    virtual void setOrderType(DtOrderHandle type);
00080    virtual DtOrderHandle orderType() const;
00081 
00083 #ifdef DtIFSPEC1516
00084    virtual void setTime(rti1516::LogicalTime const & time);
00085    virtual rti1516::LogicalTime const * time(
00086       DtLogicalTimeFactory* logicalTimeFactory) const;
00087 #elif defined(DtIFSPEC1516E)
00088    virtual void setTime(rti1516e::LogicalTime const & time);
00089    virtual rti1516e::LogicalTime const * time(
00090        DtLogicalTimeFactory* logicalTimeFactory) const;
00091 #else
00092    virtual void setTime(RTI::FedTime const & time);
00093    virtual RTI::FedTime const * time(
00094       DtLogicalTimeFactory* logicalTimeFactory) const;
00095 #endif
00096 
00098    virtual void setSerialNumber(unsigned long handleValue);
00099    virtual unsigned long serialNumber() const;
00100 
00102    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00103 
00104 public:
00105 
00107    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00108    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00109       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00110 
00112    static void addCallback(DtConnectionMgr *conn,
00113       DtInteractionCb cb, void *usr, bool isMomCallback=false);
00114    static void removeCallback(DtConnectionMgr *conn,
00115       DtInteractionCb cb, void *usr, bool isMomCallback=false);
00116 
00117 protected:
00118 
00120    virtual DtNetParams* netParams();
00121    virtual DtNetBigParams* netBigParams();
00122 
00124    virtual DtNetInteractionTsoMsg* netInterTsoMsg();
00125    virtual const DtNetInteractionTsoMsg* netInterTsoMsg() const;
00126 
00128    virtual DtRtiMsgKind internalDtRtiMsgKind();
00129 
00131 #ifdef DtIFSPEC1516
00132    virtual int minSize(const DtPhvps* params=NULL,
00133       rti1516::LogicalTime const * theTime=NULL,
00134       rti1516::VariableLengthData const& theTag=theDefaultTag) const;
00135 #elif defined(DtIFSPEC1516E)
00136    virtual int minSize(const DtPhvps* params=NULL,
00137        rti1516e::LogicalTime const * theTime=NULL,
00138        rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
00139 #else
00140    virtual int minSize(const DtPhvps* params=NULL,
00141       RTI::FedTime const * theTime=NULL,
00142       char const * theTag=NULL) const;
00143 #endif
00144 
00146    virtual void setTagSize(int size);
00147    virtual int tagSize() const;
00148 
00150    virtual void setTimeSize(int size);
00151    virtual int timeSize() const;
00152 
00154    virtual DtNetU32* channelPtr() const;
00155 
00157    virtual char* tagPtr();
00158 
00160    DtNetU32* serialNumberPtr() const;
00161 
00163    virtual char* timePtr();
00164 
00166    virtual int timeFieldSize() const;
00167 
00169    virtual DtInteractionTsoMsg* selfTso() const;
00170 };
00171 
00172 inline DtInteractionTsoMsg* DtInteractionTsoMsg::selfTso() const
00173 {
00174    return const_cast<DtInteractionTsoMsg*>( this );
00175 }
00176 
00177 #endif
00178 #endif

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)