VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embeddedEntitiesController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
13 
15 
17 
18 struct DtEmbeddedEntity;
19 
24 {
25 public:
27  DtVrfObject* owner,
28  DtSimManager* simManager,
29  DtComponentDescriptor* desc = 0,
30  DtReaderWriterRegistry* parentRegistry = 0);
32 
33  static DtSimComponent* creator(const DtString& name,
34  DtVrfObject* owner,
35  DtSimManager* simManager,
36  DtComponentDescriptor* desc = 0,
37  DtReaderWriterRegistry* parentRegistry = 0);
38  virtual const char* type() const;
39 
41  virtual bool init();
45  virtual void preFirstTickInit();
46 
47  virtual void registerTaskMsgCallbacks();
48  virtual DtEmbeddedEntitiesPSR* createPSR();
49 
52  virtual void clearTask(int tskId);
53 
55  virtual void tick();
56 
61  virtual void processEmbeddedEntityCurrentlyInContext(double deltaTime);
65  virtual bool checkWithinRecoveryRange();
68  virtual bool performDeployment();
70  virtual bool performRecovery();
72  virtual bool performSetForward();
74  virtual bool performTaskForward();
76  virtual DtVector calculateSpawnPosOfTarget();
79  virtual bool commandEeToReturn(const DtString& entityName);
81 
84  virtual DtUUID getObjectNameOfEmbeddedEntity(std::string eeName, bool& found);
85 
89  getStatusOfEmbeddedEntity(std::string eeName, bool& found);
90 
92  static void setForwardTaskCallback(DtSimMessage * msg, void * usrData);
94  static void taskForwardTaskCallback(DtSimMessage * msg, void * usrData);
96  virtual void processForwardTask(DtSimMessage * msg);
97 
99  static void deployTaskCallback(DtSimMessage * msg, void * usrData);
101  static void recoverTaskCallback(DtSimMessage * msg, void * usrData);
103  virtual void processTask(DtSimMessage * msg);
104 
106  virtual std::list<DtEmbeddedEntity> availableEmbeddedEntities();
107 
109 
110  static void deletionCallback(DtVrfObject* spawnedObject, void* usrData);
111  virtual void processDeletion(DtVrfObject* spawnedObject);
113 
115 
116  static void hostRestoreCallback(DtSimMessage* message, void* usrData);
119  virtual void processHostRestore(DtSimMessage* message);
121 
122 protected:
124  virtual void restoreEmbedded(DtRwEmbeddedEntityStatus* const eeStatus);
125 
126 protected:
129 
133 
136  std::map<std::string, DtRwEmbeddedEntity*> myNamedEntityMap;
137 
140  std::list<int> myFaultedTasks;
141 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)