MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
regEnabledMsg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1998 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: regEnabledMsg.h,v $ $Revision: 1.10 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #pragma once
13 
14 #ifdef DtTIME
15 
16 #include "rtiMsg.h"
17 #include "netRegEnblMsg.h"
18 
19 class DtConnectionMgr;
20 class DtRegulationEnabledMsg;
21 typedef void (*DtRegulationEnabledCb)(const DtRegulationEnabledMsg& msg, void* usr);
22 
23 class DT_DLL_LRC DtRegulationEnabledMsg : public DtRtiMsg
24 {
25 public:
26 
28  DtRegulationEnabledMsg(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
29 
31  DtRegulationEnabledMsg(DtFederateHandle handle, DtRtiApiTime const & theTime, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
32 
34  DtRegulationEnabledMsg(const DtNetRegulationEnabled* netRepMsg, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
35 
37  virtual ~DtRegulationEnabledMsg();
38 
40  virtual DtRtiMsg* clone(bool copy = true) const;
41 
43  virtual void set(DtFederateHandle handle, DtRtiApiTime const & theTime, bool adjustBufferSize = true);
44 
46  virtual void setRequestingFederate(DtFederateHandle handle);
47  virtual DtFederateHandle requestingFederate() const;
48 
50  virtual void setTime(DtRtiApiTime const & timeVal, bool adjustBufferSize = true);
51  virtual DtRtiApiTime const * time(DtLogicalTimeFactory* logicalTimeFactory) const;
52 
54  virtual void printData(DtLogicalTimeFactory* logicalTimeFactory) const;
55 
56 public:
57 
59  static DtRtiMsg* create(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
60 
62  static DtRtiMsg* create(const DtNetMsgHeader* initial, DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
63 
65  static void addCallback(DtConnectionMgr *conn, DtRegulationEnabledCb cb, void *usr);
66  static void removeCallback(DtConnectionMgr *conn, DtRegulationEnabledCb cb, void *usr);
67 
68 protected:
69 
72 
74  virtual DtNetRegulationEnabled* netRegulationEnabledMsg();
75  virtual const DtNetRegulationEnabled* netRegulationEnabledMsg() const;
76 
78  virtual int minSize(DtRtiApiTime const * theTime=NULL) const;
79 
81  virtual void setTimeSize(int size);
82  virtual int timeSize() const;
83 
85  virtual char* timePtr();
86 
88  virtual DtRegulationEnabledMsg* self() const;
89 };
90 
91 inline DtRegulationEnabledMsg* DtRegulationEnabledMsg::self() const
92 {
93  return const_cast<DtRegulationEnabledMsg*>( this );
94 }
95 
96 #endif
DtRtiMsgKind
Definition: rtiMsgKind.h:9
Definition: netRtiMsgHdr.h:23
virtual void setTime(const DtRtiApiTime &time)
Set/Get time Used in timestamped messages.
Definition: fedTimeFactory.h:73
virtual void printData(DtLogicalTimeFactory *logicalTimeFactory) const
virtual DtRtiApiTime const * time(DtLogicalTimeFactory *fedTimeFactory) const
RTI_API::LogicalTime DtRtiApiTime
Typedefs for RTI API types that frequently require conditional precompile directives.
Definition: rtiApiTypes.h:91
#define NULL
Definition: baseTypes13.h:8
Instances of DtConnectionMgr manage the communication objects that the RTI will use to either communi...
Definition: connectMgr.h:67
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
DtHandle DtFederateHandle
Definition: internalTypes.h:46
virtual DtRtiMsg * clone(bool copy=true) const =0
Return a copy/empty object of the same type as this.
virtual DtRtiMsgKind internalDtRtiMsgKind()=0
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)