VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
componentSystem.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: compSystem.h,v $ $Revision: 1.5 $ $State: Exp $
7 *******************************************************************************/
8 
11 
13 
14 #ifndef compSystem_h
15 #define compSystem_h
16 
18 #include <list>
19 #include <map>
20 #include <string>
21 
22 class DtVector;
23 class DtVrfObject;
24 class DtSimManager;
27 class DtString;
28 class DtSimComponent;
32 class DtReaderWriter;
33 
34 typedef DtReaderWriter* (*genericAttributeProviderFunctionType)(void*);
36 
42 {
43 private:
45 
48  DtComponentSystem& operator=(const DtComponentSystem& orig);
50 
51 public:
53  DtSimManager* simManager,
54  const DtComponentSystemDescriptor* desc,
55  DtComponentSystem* parentSystem);
56 
57  virtual ~DtComponentSystem();
58 
59  virtual bool init();
60 
66  virtual bool initializeFromDescriptor(int& priority);
67 
69  virtual bool postAddComponentsInit();
70 
72  virtual void tick();
73 
76  virtual DtString name() const;
77 
81  virtual DtString fullName() const;
82 
85  virtual DtString printName() const;
86 
88 
89  virtual DtSimComponentNetwork* componentNetwork();
90  virtual const DtSimComponentNetwork* componentNetwork() const;
92 
97  virtual DtComponentSystem* lookupSystem(const DtString& printName);
98 
105  virtual DtComponentSystem* lookupSystemFromRwName(const DtString& rwName);
106 
109  virtual void getSystemNames(std::list<std::string>& nameList) const;
110 
113 
116  virtual DtVrfProcessStateRepositoryManager* processStateRepositoryManager();
117 
120 
121  virtual DtSimResourceManager& resourceManager();
122  virtual const DtSimResourceManager& resourceManager() const;
124 
127  virtual void restoreResources();
128 
129  typedef std::list< std::pair<DtSimComponent*, DtString> > DtComponentPortList;
130 
131 
140 
141  virtual void resolveSystemOutput(const DtString& outputName, DtComponentPortList& componentOutputs);
142 
143  virtual void resolveSystemInput(const DtString& inputName, DtComponentPortList& componentInputs);
145 
146 
147 
149 
150  virtual void enable();
151  virtual void disable();
153 
157  virtual bool isEnabled();
158  virtual void setIsEnabled(bool yesNo);
160 
186  virtual bool addAttributeProviderFunction(DtString & attributeName,
187  genericAttributeProviderFunctionType attributeFunction,
188  void* controller);
189 
193  virtual bool addAttributeSetFunction(DtString& attributeName,
194  genericAttributeSetterFunctionType attributeFunction,
195  void* controller);
196 
205  virtual DtReaderWriter* getAttribute(const DtString& attributeName,
206  bool& error) const;
207 
215  virtual bool setAttribute(const DtString& attributeName,
216  DtReaderWriter* value);
217 
220  virtual std::list<std::string> getAllAttributeNames() const;
222 
223 protected:
225  virtual bool createPsr();
226 
228  void removeCompatibilityPsrs();
229 
230 protected:
237 
239  std::map<DtString, std::pair<genericAttributeProviderFunctionType, void*> >
241  std::map<DtString, std::pair<genericAttributeSetterFunctionType, void*> >
243 
245  std::list< std::pair<DtString, DtVrfProcessStateRepositoryManager*> >
247 };
248 
249 typedef std::list<DtComponentSystem*> DtComponentSystemList;
250 
251 #endif

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)