VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
universalHlaObj.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
8 #ifdef DtHLA
9 
10 #include "strategies/export.h"
15 
16 #include <string>
17 #include <map>
18 
20 #include <vl/objectPublisherHLA.h>
21 #include <vl/reflectedObjectHLA.h>
22 
23 class DtMessage;
24 class DtManagedInterface;
25 class DtExerciseConn;
26 
27 class DtUnversalHlaPublisher;
28 
30 {
31 public:
32  virtual ~DtUniversalHlaObjStrategy();
33 
34  std::string name();
35  static std::string theName();
36 
37  virtual bool init();
38  virtual void tick();
39  virtual void shutdown();
40 
41  static DtLinkStrategy* create(DtManagedInterface* gl, const std::string& className);
42 
43 protected:
44  DtUniversalHlaObjStrategy(DtManagedInterface* link, const std::string& className);
45  static std::string theStrategyName;
46 
47  void handleCSharpHlaObjDiscovered(DtMessage* msg);
48  static void vrlHlaObjDiscovered(DtReflectedGenericObject* tx, void* usr);
49  void handleVrlHlaObjDiscovered(DtReflectedGenericObject* tx);
50 
51  void handleCSharpHlaObjRemoved(DtMessage* msg);
52  static void vrlHlaObjRemoved(DtReflectedGenericObject* tx, void* usr);
53  void handleVrlHlaObjRemoved(DtReflectedGenericObject* tx);
54 
55  void handleCSharpHlaObjState(DtMessage* msg);
56  static void vrlHlaObjState(DtReflectedGenericObject* obj, void* usr);
57  void handleVrlHlaObjState(DtReflectedGenericObject* obj);
58 
60  virtual void addVrlCallback(DtExerciseConn* exConn);
61  virtual void removeVrlCallback(DtExerciseConn* exConn);
62 
64  std::string myClassName;
65 
66  RTI::ObjectClassHandle myClassHandle;
67  std::map<std::string, RTI::AttributeHandle> myHandleByName;
68  std::map<RTI::AttributeHandle, std::string> myNameByHandle;
69 
73 
75  std::set<std::string> myReflectedObjs;
77 };
78 
79 #endif

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)