VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
componentSystem.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include <list>
10 #include <map>
11 #include <string>
12 
13 #include <matrix/vlVector.h>
14 
15 class DtVrfObject;
16 class DtSimManager;
19 class DtString;
20 class DtSimComponent;
24 class DtReaderWriter;
25 class DtCriticalSection;
26 class DtSimComponentList;
27 
28 typedef DtReaderWriter* (*genericAttributeProviderFunctionType)(void*);
30 
36 {
37 private:
39 
42  DtComponentSystem& operator=(const DtComponentSystem& orig);
44 
45 public:
47  DtSimManager* simManager,
48  const DtComponentSystemDescriptor* desc,
49  DtComponentSystem* parentSystem);
50 
51  virtual ~DtComponentSystem();
52 
53  virtual bool init();
54 
61  virtual bool initializeFromDescriptor(int& priority, bool remoteOnly);
62 
64  virtual bool postAddComponentsInit();
65 
67  virtual void tick();
68 
71  virtual DtString name() const;
72 
76  virtual DtString fullName() const;
77 
80  virtual DtString printName() const;
81 
87  virtual void setPrintName(const DtString& name);
88 
90 
91  virtual DtSimComponentNetwork* componentNetwork();
92  virtual const DtSimComponentNetwork* componentNetwork() const;
94 
99  virtual DtComponentSystem* lookupSystem(const DtString& printName);
100 
107  virtual DtComponentSystem* lookupSystemFromRwName(const DtString& rwName);
108 
111  virtual void getSystemNames(std::list<std::string>& nameList) const;
112 
115 
118  virtual DtVrfProcessStateRepositoryManager* processStateRepositoryManager();
119 
122 
123  virtual DtSimResourceManager& resourceManager();
124  virtual const DtSimResourceManager& resourceManager() const;
126 
129  virtual void restoreResources();
130 
131  typedef std::list< std::pair<DtSimComponent*, DtString> > DtComponentPortList;
132 
133 
142 
143  virtual void resolveSystemOutput(const DtString& outputName, DtComponentPortList& componentOutputs);
144 
145  virtual void resolveSystemInput(const DtString& inputName, DtComponentPortList& componentInputs);
147 
148 
149 
151 
152  virtual void enable();
153  virtual void disable();
155 
159  virtual bool isEnabled();
160  virtual void setIsEnabled(bool yesNo);
162 
188  virtual bool addAttributeProviderFunction(DtString & attributeName,
189  genericAttributeProviderFunctionType attributeFunction,
190  void* controller);
191 
196  virtual bool addAttributeSetFunction(DtString& attributeName,
197  genericAttributeSetterFunctionType attributeFunction,
198  void* controller);
199 
208  virtual DtReaderWriter* getAttribute(const DtString& attributeName,
209  bool& error) const;
210 
218  virtual bool setAttribute(const DtString& attributeName,
219  DtReaderWriter* value);
220 
223  virtual std::list<std::string> getAllAttributeNames() const;
225 
227  virtual DtComponentSystemPSR* processStateRepository();
228 
231  virtual void setUseParentSystemResourceManager(bool);
232  virtual bool useParentSystemResourceManager() const;
234 
235 protected:
237  virtual bool createPsr();
238 
240  void removeCompatibilityPsrs();
241 
243  virtual void restore(DtSimComponentList*);
244 
245 protected:
252 
256 
258  std::map<DtString, std::pair<genericAttributeProviderFunctionType, void*> >
260  std::map<DtString, std::pair<genericAttributeSetterFunctionType, void*> >
262 
264  std::list< std::pair<DtString, DtVrfProcessStateRepositoryManager*> >
266 
274 };
275 
276 typedef std::list<DtComponentSystem*> DtComponentSystemList;

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)