MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
serTimReg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: serTimReg.h,v $ $Revision: 1.8 $ $State: Exp $
7 *********************************************************************/
8 #ifdef DtMOM
9 
12 
13 #ifndef DtEnableTimeRegulationInteraction_H_
14 #define DtEnableTimeRegulationInteraction_H_
15 
16 #include "rtiMsConfig.h"
17 #include "internalTypes.h"
18 #include "mInteraction.h"
19 #include <vlutil/vlList.h>
20 
21 class DtMomInterCbMgr;
22 class DtEnableTimeRegulationInteraction;
23 typedef void (*DtEnableTimeRegulationInteractionCb)
24  (const DtEnableTimeRegulationInteraction& inter, void* usr);
25 
26 class DT_DLL_LRC DtEnableTimeRegulationInteraction :
27  public DtServiceInteraction
28 {
29 public:
30 
32  DtEnableTimeRegulationInteraction();
33 
35  virtual ~DtEnableTimeRegulationInteraction();
36 
38  DtEnableTimeRegulationInteraction(
39  const DtEnableTimeRegulationInteraction& orig);
40 
42  DtEnableTimeRegulationInteraction& operator=(
43  const DtEnableTimeRegulationInteraction& orig);
44 
47  virtual const DtPhvps& phvps();
48 
51  virtual bool setFromPhvps(const DtPhvps& phvps);
52 
55 #ifdef DtIFSPEC13
56  virtual bool getFedtime(RTI::FedTime & time) const;
57  virtual void setFedtime(RTI::FedTime const & time);
58 #endif
59 
62 #ifdef DtIFSPEC1516
63  virtual bool getLookahead(rti1516::LogicalTimeInterval & interval) const;
64  virtual void setLookahead(rti1516::LogicalTimeInterval const & interval);
65 #elif defined(DtIFSPEC1516E)
66  virtual bool getLookahead(rti1516e::LogicalTimeInterval & interval) const;
67  virtual void setLookahead(rti1516e::LogicalTimeInterval const & interval);
68 #else
69  virtual bool getLookahead(RTI::FedTime & interval) const;
70  virtual void setLookahead(RTI::FedTime const & interval);
71 #endif
72 
73 public:
75  static DtServiceInteraction* create();
76 
78  static void addCallback(DtMomInterCbMgr* callBackManager,
79  DtEnableTimeRegulationInteractionCb cb, void* usr);
80  static void removeCallback(DtMomInterCbMgr* callBackManager,
81  DtEnableTimeRegulationInteractionCb cb, void* usr);
82 
83 protected:
84 
85 #ifdef DtIFSPEC13
86 
87  virtual void encodeFedtime(
88  const DtMomInteraction& data,
89  DtPhvps* parameters,
90  DtParameterHandle parameterHandle);
91 
93  virtual void decodeFedtime(
94  DtMomInteraction* data,
95  const DtPhvps& parameters,
96  int index);
97 #endif
98 
100  virtual void encodeLookahead(
101  const DtMomInteraction& data,
102  DtPhvps* parameters,
103  DtParameterHandle parameterHandle);
104 
106  virtual void decodeLookahead(
107  DtMomInteraction* data,
108  const DtPhvps& parameters,
109  int index);
110 
111 public:
112  static const char* theInteractionName;
113 
114 protected:
116 
117 #ifdef DtIFSPEC13
118  DtMomNetParameter* myEncodedTime;
119 #endif
120  DtMomNetParameter* myEncodedInterval;
121  bool myReceivedEncodedTime;
122  bool myReceivedEncodedInterval;
123 
124  const char *FEDTIME_PARAMETER_NAME;
125  const char *LOOKAHEAD_PARAMETER_NAME;
126 
127 };
128 
129 #endif
130 #endif

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)