MAK RTIspy API Documentation for HLA Evolved
subInterMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: subInterMsg.h,v $ $Revision: 1.15 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtSubInterMsg_H_
00013 #define DtSubInterMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netSubIntMsg.h"
00017 
00018 class DtConnectionMgr;
00019 class DtSubInterMsg;
00020 typedef void (*DtSubInterCb)(const DtSubInterMsg& inter, void* usr);
00021 
00022 class DT_DLL_LRC DtSubInterMsg : public DtRtiMsg
00023 {
00024 public:
00025 
00027    DtSubInterMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00028 
00029    DtSubInterMsg(
00030       DtInteractionClassHandle theInter, bool isPassive,
00031       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00032 
00034    DtSubInterMsg(const DtNetSubInterMsg* netRepMsg,
00035       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00036 
00038    virtual ~DtSubInterMsg();
00039 
00041    virtual DtRtiMsg* clone(bool copy = true) const; 
00042 
00044    virtual void set( DtInteractionClassHandle theInter, bool isPassive );
00045 
00047    virtual void setHandle(DtInteractionClassHandle hand);
00048    virtual DtInteractionClassHandle handle() const;
00049 
00051    virtual void setPassive( bool isPassive );
00052    virtual bool isPassive() const;
00053 
00055    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00056 
00057 public:
00058 
00060    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00061       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00062 
00064    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00065 
00067    static void addCallback(DtConnectionMgr* conn,
00068       DtSubInterCb cb, void* usr);
00069    static void removeCallback(DtConnectionMgr* conn,
00070       DtSubInterCb cb, void* usr);
00071 
00072 protected:
00073 
00075    virtual DtNetSubInterMsg* netSubInterMsg();
00076    virtual const DtNetSubInterMsg* netSubInterMsg() const;
00077 
00079    virtual DtRtiMsgKind internalDtRtiMsgKind();
00080 
00082    virtual int minSize() const;
00083 
00085    virtual DtSubInterMsg* self() const;
00086 };
00087 
00088 
00089 inline DtSubInterMsg* DtSubInterMsg::self() const
00090 {
00091    return const_cast<DtSubInterMsg*>( this );
00092 }
00093 
00094 #endif
00095 

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)