VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtVrfVrlinkDataInterface.h
Go to the documentation of this file.
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 }

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)