MAK RTIspy API Documentation for HLA 1516
updateTsoMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: updateTsoMsg.h,v $ $Revision: 1.12 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00013 #ifndef DtUpdateTsoMsg_H_
00014 #define DtUpdateTsoMsg_H_
00015 
00016 #ifdef DtTIME
00017 
00018 #include "updateMsg.h"
00019 #include "netUpdateTsoMsg.h"
00020 
00021 class DtConnectionMgr;
00022 
00023 class DT_DLL_LRC DtUpdateTsoMsg : public DtUpdateMsg
00024 {
00025 public:
00026 
00028    DtUpdateTsoMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00029 
00030    DtUpdateTsoMsg(
00031       DtObjectInstanceHandle objHand, 
00032       const char* objName,
00033       DtObjectClassHandle classHand,
00034       const DtAhvps& theAttributes,
00035       DtOrderHandle order,
00036 #ifdef DtIFSPEC1516
00037       rti1516::LogicalTime const & theTime,
00038       rti1516::VariableLengthData const& theTag,
00039 #elif defined(DtIFSPEC1516E)
00040       rti1516e::LogicalTime const & theTime,
00041       rti1516e::VariableLengthData const& theTag,
00042 #else
00043       RTI::FedTime const & theTime,
00044       char const * theTag,
00045 #endif
00046       unsigned long serialNumberVal,
00047       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00048 
00049    DtUpdateTsoMsg(const DtNetUpdateTsoMsg* netRepMsg,
00050       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00051 
00053    virtual ~DtUpdateTsoMsg();
00054 
00056    virtual DtRtiMsg* clone(bool copy = true) const; 
00057 
00059    virtual void set(
00060       DtObjectInstanceHandle objHand, 
00061       const char* objName,
00062       DtObjectClassHandle theClass, 
00063       const DtAhvps& theAttributes,
00064       DtOrderHandle order,
00065 #ifdef DtIFSPEC1516
00066       rti1516::LogicalTime const & theTime,
00067       rti1516::VariableLengthData const& theTag,
00068 #elif defined(DtIFSPEC1516E)
00069       rti1516e::LogicalTime const & theTime,
00070       rti1516e::VariableLengthData const& theTag,
00071 #else
00072       RTI::FedTime const & theTime,
00073       char const * theTag,
00074 #endif
00075       unsigned long serialNumberVal);
00076 
00078    virtual void setClassHandle(DtObjectClassHandle hand);
00079    virtual DtObjectClassHandle classHandle() const;
00080 
00082    virtual void setObjHandle(DtObjectInstanceHandle id);
00083    virtual DtObjectInstanceHandle objHandle() const;
00084 
00086    virtual void setOrderType(DtOrderHandle type);
00087    virtual DtOrderHandle orderType() const;
00088 
00090 #ifdef DtIFSPEC1516
00091    virtual void setTime(rti1516::LogicalTime const & time);
00092    virtual rti1516::LogicalTime const * time(
00093       DtLogicalTimeFactory* logicalTimeFactory) const;
00094 #elif defined(DtIFSPEC1516E)
00095    virtual void setTime(rti1516e::LogicalTime const & time);
00096    virtual rti1516e::LogicalTime const * time(
00097        DtLogicalTimeFactory* logicalTimeFactory) const;
00098 #else
00099    virtual void setTime(RTI::FedTime const & time);
00100    virtual RTI::FedTime const * time(
00101       DtLogicalTimeFactory* logicalTimeFactory) const;
00102 #endif
00103 
00105    virtual void setSerialNumber(unsigned long handleValue);
00106    virtual unsigned long serialNumber() const;
00107 
00109    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00110 
00111 public:
00112 
00114    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00115    static DtRtiMsg* create(const DtNetMsgHeader* initial, 
00116       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);    
00117 
00119    static void addCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
00120    static void removeCallback(DtConnectionMgr *conn, DtUpdateCb cb, void *usr);
00121 
00122 protected:
00123    
00125    virtual DtNetUpdateTsoMsg* netUpdateTsoMsg();
00126    virtual const DtNetUpdateTsoMsg* netUpdateTsoMsg() const;
00127 
00129    virtual DtRtiMsgKind internalDtRtiMsgKind();
00130 
00132 #ifdef DtIFSPEC1516
00133    virtual int minSize(rti1516::LogicalTime const * theTime=NULL,
00134       DtAhvps const * attrs=NULL,
00135       char const * objName=NULL,
00136       rti1516::VariableLengthData const& theTag=theDefaultTag) const;
00137 #elif defined(DtIFSPEC1516E)
00138    virtual int minSize(rti1516e::LogicalTime const * theTime=NULL,
00139        DtAhvps const * attrs=NULL,
00140        char const * objName=NULL,
00141        rti1516e::VariableLengthData const& theTag=theDefaultTag) const;
00142 #else
00143    virtual int minSize(RTI::FedTime const * theTime=NULL,
00144       DtAhvps const * attrs=NULL,
00145       char const * objName=NULL,
00146       char const * theTag=NULL) const;
00147 #endif
00148 
00150    virtual void setNameSize(int size);
00151    virtual int nameSize() const;
00152 
00154    virtual void setTagSize(int size);
00155    virtual int tagSize() const;
00156 
00158    virtual void setTimeSize(int size);
00159    virtual int timeSize() const;
00160 
00162    virtual DtNetAttrs* netAttrs();
00163    virtual DtNetBigAttrs* netBigAttrs();
00164 
00166    virtual DtNetU32* channelPtr() const;
00167 
00169    virtual char* timePtr();
00170 
00172    virtual char* namePtr();
00173 
00175    virtual char* tagPtr();
00176 
00178    virtual int timeFieldSize() const;
00179 
00181    virtual DtUpdateTsoMsg* selfTso() const;
00182 };
00183 
00184 inline DtUpdateTsoMsg* DtUpdateTsoMsg::selfTso() const
00185 {
00186    return const_cast<DtUpdateTsoMsg*>( this );
00187 }
00188 
00189 #endif
00190 #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)