VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrlinkStateManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2022 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 #pragma once
10 
11 #if DtHLA
12 
14 
15 #include <set>
16 
17 class DtExerciseConn;
18 class DtVRLinkStateStateRepository;
19 class DtVRLinkStatePublisher;
20 class DtReflectedObject;
21 class DtReflectedVRLinkState;
22 class DtReflectedVRLinkStateList;
23 
28 class DT_DLL_VL DtVRLinkStateManager
29 {
30 public:
31  DtVRLinkStateManager(DtExerciseConn& exConn);
32 
33  virtual ~DtVRLinkStateManager();
34 
35  virtual bool isInitialized() const;
36 
37  virtual void add(DtReflectedVRLinkState* vrlObject);
38 
39  virtual void update(DtReflectedVRLinkState* vrlObject);
40 
41  virtual void remove(DtReflectedVRLinkState* vrlObject);
42 
44  virtual void setExecutionStatus(DtVRLExecutionStatus val);
45 
47  virtual DtVRLExecutionStatus executionStatus() const;
48 
49 
50 public:
51 
52  static bool isInitialized(DtReflectedVRLinkState* vrlObject);
53 
54 protected:
55 
56  virtual void doPostDrainCb();
57  virtual void doPostDrainInitializeCb();
58 
59 protected:
60 
61  static void vrlUpdateCb(DtReflectedVRLinkState* vrlObject, void* usr);
62 
63  static void vrlAddCb(DtReflectedObject* reflectedObject, void* usr);
64 
65  static void vrlRemoveCb(DtReflectedObject* reflectedObject, void* usr);
66 
67  static void postDrainCb(void* usr);
68  static void postDrainInitializeCb(void* usr);
69 
70 protected:
71 
72  DtExerciseConn& myExConn;
73  DtVRLinkStatePublisher* myVrlStatePub;
74  DtReflectedVRLinkStateList* myVrlStateReflectedList;
75  std::set<DtReflectedVRLinkState*> myInitialized;
76  std::set<DtReflectedVRLinkState*> myUninitialized;
77 };
78 
79 #endif
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)