VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/compMgr.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2000 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: compMgr.h,v $ $Revision: 1.27 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef DtSimComponentManager_H_
00015 #define DtSimComponentManager_H_
00016 
00017 #include "vrfobjcore/vrfObject.h"
00018 #include "vrfobjcore/cmpMgrFact.h"
00019 #include "vrfobjcore/vrfobjcoreDefines.h"
00020 #include "vrfobjcore/compSystem.h"
00021 
00022 class DtSimComponent;
00023 class DtSimComponentList;
00024 class DtControllerComponentList;
00025 class DtComponentDescriptorList;
00026 class DtConnectionDescriptorList;
00027 class DtPortConnection;
00028 class DtPortGroupConnection;
00029 class DtSimComponentNetwork;
00030 class DtComponentSystemDescriptor;
00031 
00035 class DT_DLL_vrfobjcore DtSimComponentManager
00036 {
00037 private:
00039 
00040    DtSimComponentManager();
00041    DtSimComponentManager(const DtSimComponentManager & orig);
00042    const DtSimComponentManager & operator=(const DtSimComponentManager & 
00043       orig);
00045 
00046 public:
00047 
00049    DtSimComponentManager(DtVrfObject * vrfObject);
00050 
00052    virtual ~DtSimComponentManager();
00053 
00054    virtual bool init();
00055 
00056    virtual void tick();
00057 
00060    virtual DtVrfObject * vrfObject() const;
00061 
00062    virtual bool addComponents();
00063 
00064    virtual bool addSensorComponent(DtSimComponent * component);
00065    virtual bool addControllerComponent(DtSimComponent * component);
00066    virtual bool addActuatorComponent(DtSimComponent * component);
00067 
00071    virtual bool removeSensorComponent(DtSimComponent * component);
00075    virtual bool removeControllerComponent(DtSimComponent * component);
00079    virtual bool removeActuatorComponent(DtSimComponent * component);
00080 
00082    virtual bool hasComponents() const;
00083 
00090    virtual DtSimComponent * lookupComponent(const DtString& name) const;
00091 
00092    virtual DtSimComponentList * sensorComponentList() const;
00093    virtual DtControllerComponentList * controllerComponentList() const;
00094    virtual DtSimComponentList * actuatorComponentList() const;
00095 
00098 
00099    virtual DtComponentSystem* baseSystem();
00100    virtual const DtComponentSystem* baseSystem() const;
00102 
00105    virtual DtString type() const;
00106 
00107    virtual DtList* connectionList();
00108    virtual DtList* groupConnectionList();
00109 
00114    static DtSimComponentManagerFactory * factory();
00115    static void setFactory(DtSimComponentManagerFactory * factory);
00116 
00117    static void addSimComponentManagerCreatorFcn(const DtString & type, 
00118       DtSimComponentManagerCreatorFcn fcn);
00119 
00120    static DtSimComponentManager * creator(DtVrfObject * vrfObject);
00121 
00123    static DtSimComponentManager * createComponentManager(const DtString & type, 
00124       DtVrfObject * vrfObject);
00125 
00128    virtual void allSystems(DtComponentSystemList&);
00129 
00130 protected:
00133    virtual void allSystems(DtComponentSystemList&, DtComponentSystem*);
00134 
00135 protected:
00136    DtVrfObject * myVrfObject;
00137    DtComponentSystem* myComponentSystem;
00138 
00139    DtList myConnectionList;
00140    DtList myGroupConnectionList;
00141 
00142    static DtSimComponentManagerFactory *   theFactory;
00143 };
00144 
00145 #endif
00146 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)