![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: compSystem.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef compSystem_h 00015 #define compSystem_h 00016 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include <list> 00019 00020 class DtVrfObject; 00021 class DtSimManager; 00022 class DtComponentSystemDescriptor; 00023 class DtSimComponentNetwork; 00024 class DtString; 00025 class DtSimComponent; 00026 class DtComponentSystemPSR; 00027 class DtVrfProcessStateRepositoryManager; 00028 class DtSimResourceManager; 00029 00034 class DT_DLL_vrfobjcore DtComponentSystem 00035 { 00036 private: 00038 00039 DtComponentSystem(); 00040 DtComponentSystem(const DtComponentSystem& orig); 00041 DtComponentSystem& operator=(const DtComponentSystem& orig); 00043 00044 public: 00045 DtComponentSystem(DtVrfObject* owner, 00046 DtSimManager* simManager, 00047 const DtComponentSystemDescriptor* desc, 00048 DtComponentSystem* parentSystem); 00049 00050 virtual ~DtComponentSystem(); 00051 00052 virtual bool init(); 00053 00059 virtual bool initializeFromDescriptor(int& priority); 00060 00062 virtual bool postAddComponentsInit(); 00063 00065 virtual void tick(); 00066 00069 virtual DtString name() const; 00070 00074 virtual DtString fullName() const; 00075 00077 00078 virtual DtSimComponentNetwork* componentNetwork(); 00079 virtual const DtSimComponentNetwork* componentNetwork() const; 00081 00084 virtual DtVrfProcessStateRepositoryManager* processStateRepositoryManager(); 00085 00088 00089 virtual DtSimResourceManager& resourceManager(); 00090 virtual const DtSimResourceManager& resourceManager() const; 00092 00095 virtual void restoreResources(); 00096 00097 typedef std::list< std::pair<DtSimComponent*, DtString> > DtComponentPortList; 00098 00099 00108 00109 virtual void resolveSystemOutput(const DtString& outputName, DtComponentPortList& componentOutputs); 00110 00111 virtual void resolveSystemInput(const DtString& inputName, DtComponentPortList& componentInputs); 00113 00114 00115 00117 00118 virtual void enable(); 00119 virtual void disable(); 00121 00125 virtual bool isEnabled(); 00126 virtual void setIsEnabled(bool yesNo); 00128 00129 protected: 00131 virtual bool createPsr(); 00132 00133 protected: 00134 const DtComponentSystemDescriptor* mySystemDescriptor; 00135 DtSimManager* mySimManager; 00136 DtVrfObject* myVrfObject; 00137 DtSimComponentNetwork* myComponentNetwork; 00138 DtComponentSystemPSR* myProcessStateRepository; 00139 DtComponentSystem* myParentSystem; 00140 }; 00141 00142 typedef std::list<DtComponentSystem*> DtComponentSystemList; 00143 00144 #endif