MAK RTIspy API Documentation for HLA 1.3
reqDiscObjMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: reqDiscObjMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtReqDiscObjMsg_H_
00013 #define DtReqDiscObjMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netDiscObjMsg.h"
00017 
00018 class DtConnectionMgr;
00019 class DtReqDiscObjMsg;
00020 
00021 typedef void (*DtReqDiscObjCb)(const DtReqDiscObjMsg& msg, void* usr);
00022 
00023 class DT_DLL_LRC DtReqDiscObjMsg : public DtRtiMsg
00024 {
00025 public:
00026 
00028    DtReqDiscObjMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00029 
00030    DtReqDiscObjMsg(
00031       DtObjectInstanceHandle objHandleValue,
00032       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00033 
00035    DtReqDiscObjMsg(const DtNetDiscObjMsg* netRepMsg,
00036       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037 
00039    virtual ~DtReqDiscObjMsg();
00040 
00042    virtual DtRtiMsg* clone(bool copy = true) const; 
00043 
00045    virtual void set(
00046       DtObjectInstanceHandle objHandleValue,
00047       DtObjectClassHandle classHandleValue);
00048 
00050    virtual void setObjHandle(DtObjectInstanceHandle id);
00051    virtual DtObjectInstanceHandle objHandle() const;
00052 
00054    virtual void setClassHandle(DtObjectClassHandle hand);
00055    virtual DtObjectClassHandle classHandle() const;
00056 
00058    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00059 
00060 public:
00061 
00063    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00064       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00065 
00067    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00068 
00070    static void addCallback(DtConnectionMgr *conn,
00071       DtReqDiscObjCb cb, void *usr);
00072    static void removeCallback(DtConnectionMgr *conn,
00073       DtReqDiscObjCb cb, void *usr);
00074 
00075 protected:
00076 
00078    virtual DtNetDiscObjMsg* netDiscObjMsg();
00079    virtual const DtNetDiscObjMsg* netDiscObjMsg() const;
00080 
00082    virtual DtRtiMsgKind internalDtRtiMsgKind();
00083 
00085    virtual int minSize() const;
00086 
00088    virtual DtReqDiscObjMsg* self() const;
00089 };
00090 
00091 
00092 inline DtReqDiscObjMsg* DtReqDiscObjMsg::self() const
00093 {
00094    return const_cast<DtReqDiscObjMsg*>( this );
00095 }
00096 
00097 #endif
00098 

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)