MAK RTIspy API Documentation for HLA Evolved
syncPointQueryMsg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2004 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: syncPointQueryMsg.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtSyncPointQueryMsg_H_
00013 #define DtSyncPointQueryMsg_H_
00014 
00015 #include "rtiMsg.h"
00016 #include "netSyncPointQueryMsg.h"
00017 #include "attrHandSet.h"
00018 #include <vlutil/vlString.h>
00019 
00020 class DtConnectionMgr;
00021 class DtSyncPointQueryMsg;
00022 
00023 enum DtSyncPointQueryKind
00024 {
00025    DtSyncPointQueryPoints,
00026    DtSyncPointQueryStatus
00027 };
00028 
00029 typedef void (*DtSyncPointQueryCb)(const DtSyncPointQueryMsg& msg, void* usr);
00030 
00031 class DT_DLL_LRC DtSyncPointQueryMsg : public DtRtiMsg
00032 {
00033 public:
00034 
00036    DtSyncPointQueryMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00037 
00038    DtSyncPointQueryMsg(
00039       DtSyncPointQueryKind kind,
00040       DtInteractionClassHandle classHandleValue,
00041       DtParameterHandle syncPointParameter,
00042       DtParameterHandle syncPointFederateParameter=0,
00043       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00044 
00046    DtSyncPointQueryMsg(const DtNetSyncPointQueryMsg* netRepMsg,
00047       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00048 
00050    virtual ~DtSyncPointQueryMsg();
00051 
00053    virtual DtRtiMsg* clone(bool copy = true) const; 
00054 
00056    virtual void set(
00057       DtSyncPointQueryKind kind,
00058       DtInteractionClassHandle classHandleValue,
00059       DtParameterHandle syncPointParameter,
00060       DtParameterHandle syncPointFederateParameter=0);
00061 
00063    virtual void setQueryKind(DtSyncPointQueryKind kind);
00064    virtual DtSyncPointQueryKind queryKind() const;
00065 
00067    virtual void setClassHandle(DtInteractionClassHandle handle);
00068    virtual DtInteractionClassHandle classHandle() const;
00069 
00071    virtual void setSyncPointHandle(DtParameterHandle handle);
00072    virtual DtParameterHandle syncPointHandle() const;
00073 
00075    virtual void setSyncPointFederateHandle(DtParameterHandle handle);
00076    virtual DtParameterHandle syncPointFederateHandle() const;
00077 
00079    virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
00080 
00081 public:
00082 
00084    static DtRtiMsg* create(const DtNetMsgHeader* initial,
00085       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00086 
00088    static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00089 
00091    static void addCallback(DtConnectionMgr *conn,
00092       DtSyncPointQueryCb cb, void *usr);
00093    static void removeCallback(DtConnectionMgr *conn,
00094       DtSyncPointQueryCb cb, void *usr);
00095 
00096 protected:
00097 
00099    virtual DtNetSyncPointQueryMsg* netSyncPointQueryMsg();
00100    virtual const DtNetSyncPointQueryMsg* netSyncPointQueryMsg() const;
00101 
00103    virtual DtRtiMsgKind internalDtRtiMsgKind();
00104 
00106    virtual int minSize() const;
00107 
00109    virtual DtSyncPointQueryMsg* self() const;
00110 
00111 protected:
00112 
00113 };
00114 
00115 
00116 inline DtSyncPointQueryMsg* DtSyncPointQueryMsg::self() const
00117 {
00118    return const_cast<DtSyncPointQueryMsg*>( this );
00119 }
00120 
00121 #endif
00122 

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)