VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
spawnSinkManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
13 #include <vrfobjcore/vrfObject.h>
15 
16 class DtSimManager;
17 class DtScenario;
18 class DtRwSpawnTemplateList;
19 
20 //****************************************************************************
22 {
23 public:
25  DtSpawnSinkManager(DtSimManager* simManager);
26 
28  virtual ~DtSpawnSinkManager();
29 
30  virtual bool init();
31 
33  virtual bool loadTemplates(const DtFilename& filename);
34 
36  virtual const DtRwSpawnDataList* spawnTemplates() const;
37 
38  virtual DtRwSpawnData* findSpawnDataByUUID(const DtUUID& uuid);
39 
40  virtual void updateSpawnSinkTemplates(
41  const DtRwSpawnDataList& spawnDataList);
42 
43 //****************************************************************************
45 //****************************************************************************
50  static void preScenarioLoadCallback(DtScenario& scenario,
51  void* usrData);
52 
55  static void preScenarioRewindCallback(void* usrData);
56 
58  static void preScenarioImportCallback(DtScenario& scenario,
59  void* usrData);
60  virtual void preScenarioImport(DtScenario& scenario);
61 
63  static void postScenarioImportCallback(const DtScenario& scenario,
64  void* usrData);
65  virtual void postScenarioImport(const DtScenario& scenario);
66 
67  virtual DtUUID uuidForTemplateName(const DtString& templateName) const;
68 
69  virtual void addSpawnPoint(const DtUUID& templateUuid, const DtUUID& spawnPointUuid);
70 
71  virtual void removeSpawnPoint(const DtUUID& templateUuid, const DtUUID& spawnPointUuid);
72 
78  virtual void resetManagerTemplates(const DtRwSpawnDataList& templates);
79 
80  virtual void clearTemplates();
81 
82 //****************************************************************************
84 //****************************************************************************
88  static void requestSpawnListCallback(DtSimMessage* msg, void* usr);
89  virtual void processRequestSpawnList(DtSimMessage* msg);
91 
95  virtual void sendSpawnListMessage(const DtSimulationAddress& recipient,
96  bool initialSend = false);
97 
101  static void addSinkPointCallback(DtSimMessage* msg, void* usr);
102  virtual void processAddSinkPoint(DtSimMessage* msg);
104 
107  static void requestSpawnDataCallback(DtSimMessage* msg, void* usr);
108  virtual void processRequestSpawnData(DtSimMessage* msg);
110 
113  static void updateSpawnTemplateCallback(DtSimMessage* msg, void* usr);
114  virtual void processUpdateSpawnTemplate(DtSimMessage* msg);
116 
119  static void createTemplateCallback(DtSimMessage* msg, void* usr);
120  virtual void processCreateTemplate(DtSimMessage* msg);
122 
125  static void deleteSpawnTemplateCallback(DtSimMessage* msg, void* usr);
126  virtual void processDeleteSpawnTemplate(DtSimMessage* msg);
128 
134  static void objectRemovedCallback(DtVrfObject *object, void *usr);
135  virtual void processObjectRemoved(DtVrfObject *object);
137 
138  virtual void renameSpawnPoint(DtVrfObject *spawnEntity, const DtString& oldTemplateName,
139  const DtString& newTemplateName);
140  virtual void renameSinkPoint(DtVrfObject *spawnEntity, const DtString& oldTemplateName,
141  const DtString& newTemplateName);
142 
143  virtual void removeSpawnTemplateAsParentOfSinkPoint(const DtUUID& templateUUID, const DtUUID& sinkPoint);
144  virtual void addSpawnTemplateAsParentOfSinkPoint(const DtUUID& templateUUID, const DtUUID& sinkPoint);
145 
146  virtual void upgradeTemplates(const DtRwSpawnDataList& templates);
147  virtual void removeNameMappings(const DtRwSpawnDataList& templates);
148  virtual void resolveUnmatchedSpawnPoints();
149 
150  virtual const DtRwSpawnDataList& templates();
151 
152  typedef void (*DtClearTemplateUUIDFunction)(void* userData);
153  typedef void (*DtRefreshSpawnDataFunction)(void* userData);
154 
155  virtual void addClearTemplateUUIDEntry(
156  DtClearTemplateUUIDFunction fcn, void* userData);
157  virtual void removeClearTemplateUUIDEntry(
158  DtClearTemplateUUIDFunction fcn, void* userData);
159 
160  virtual void addRefreshSpawnDataEntry(
161  DtRefreshSpawnDataFunction fcn, void* userData);
162  virtual void removeRefreshSpawnDataEntry(
163  DtRefreshSpawnDataFunction fcn, void* userData);
164 
165 protected:
167 
170 
173 
174  boost::unordered_map<DtRwSpawnData*, DtString> myCurrentUUIDsOnImport;
175 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)