![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtObjectDataInterface.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00015 00016 #pragma once 00017 00018 #include <vrfGuiCore/vrfGuiCore.h> 00019 #include <vrfGuiCore/DtObjectDataInterface.h> 00020 #include <vrfGuiCore/DtVrfResourceRequestor.h> 00021 #include <vrfGuiCore/DtExtendedStateData.h> 00022 00023 namespace makVrf 00024 { 00027 class DT_DLL_VRFGUICORE DtVrfDataInterraceResourceRequestor : public DtVrfResourceRequestor 00028 { 00029 public: 00030 typedef std::map<std::string, DtResource> ResourceMap; 00031 00032 public: 00033 DtVrfDataInterraceResourceRequestor(makVrv::DtDe&); 00034 virtual ~DtVrfDataInterraceResourceRequestor(); 00035 00036 const ResourceMap& resources() const; 00037 00039 virtual void clearResources(); 00040 00042 boost::signal<void ()> signal_resourcesChanged; 00043 00044 protected: 00046 virtual void resourcesChanged(); 00047 00050 virtual void resourceCheckingDisabled(); 00051 00053 virtual void addResource(const DtResource&); 00054 00056 virtual void resourceCheckComplete(); 00057 00059 virtual void resourceUpdated(const DtResource&); 00060 00061 protected: 00062 ResourceMap myResources; 00063 }; 00064 00073 class DT_DLL_VRFGUICORE DtVrfVrlinkDataInterface : public DtObjectDataInterface 00074 { 00075 public: 00076 DtVrfVrlinkDataInterface(makVrv::DtDe&); 00077 virtual ~DtVrfVrlinkDataInterface(); 00078 00081 virtual void setStateView(const makVrv::DtStateView<makVrv::DtSimState>*); 00082 makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* vrlinkStateView() const 00083 { 00084 return myVrlinkStateView; 00085 } 00086 00087 makVrv::DtStateView<DtVrfObjectDataState>* objectDataState() const 00088 { 00089 return myObjectDataState; 00090 } 00091 00092 const makVrv::DtStateView<DtExtendedStateData>* extendedDataState() const 00093 { 00094 return myExtendedStateData; 00095 } 00096 00098 virtual const DtSimpleTypedDictionary& extendedData() const; 00099 00101 DtVrfDataInterraceResourceRequestor& resourceRequestor(); 00102 00105 virtual void requestResources(); 00106 00108 virtual std::string name() const; 00109 00111 virtual std::string entityType() const; 00112 00114 virtual std::string entityId() const; 00115 00117 virtual std::string globalId() const; 00118 00120 virtual bool isCurrentlyTasked() const; 00121 00123 virtual bool isExecutingPlan() const; 00124 00125 const DtVrfDataInterraceResourceRequestor::ResourceMap& resources() const; 00126 00128 boost::signal<void ()> signal_resourcesChanged; 00129 00130 protected: 00132 virtual void slot_onResourcesChanged(); 00133 00135 virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry&); 00136 00137 protected: 00138 makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* myVrlinkStateView; 00139 makVrv::DtStateView<DtVrfObjectDataState>* myObjectDataState; 00140 makVrv::DtStateView<DtExtendedStateData>* myExtendedStateData;; 00141 00142 DtVrfDataInterraceResourceRequestor myResources; 00143 }; 00144 00145 typedef DtBoost::shared_ptr<DtVrfVrlinkDataInterface> DtVrfVrlinkDataInterfacePtr; 00146 }