![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrfBackendSettingsManager.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <vrvUtil/signalslib.h> 00018 00019 #include <vrfGuiCore/vrfGuiCore.h> 00020 00021 #include <vrvCore/DtDe.h> 00022 #include <vlpi/simulationAddress.h> 00023 00024 #include <boost/function.hpp> 00025 #include <boost/signal.hpp> 00026 00027 class DtSimMessage; 00028 class DtSettingsObject; 00029 class DtSimulationAddress; 00030 00031 namespace makVrf 00032 { 00033 class DtVrfBackendState; 00034 00036 class DT_DLL_VRFGUICORE DtVrfBackendSettingsManager : public makVrv::DtVirtualBaseClass 00037 { 00038 public: 00039 DtVrfBackendSettingsManager(makVrv::DtDe&); 00040 virtual ~DtVrfBackendSettingsManager(); 00041 00043 static DtVrfBackendSettingsManager& instance(makVrv::DtDe& de); 00044 00045 public: 00048 virtual void monitorBackendSetting(const std::string&); 00049 00058 virtual void requestBackendSetting(const std::string&, bool sendRequest = false, const DtSimulationAddress& addr = DtSimSendToAll); 00059 00061 virtual void stopMonitoringBackendSetting(const std::string&); 00062 00065 virtual void sendSettings(const DtSettingsObject*, const DtSimulationAddress& addr = DtSimSendToAll); 00066 00067 public: 00069 00070 00073 virtual void setDRThresholds(double translation, double rotation); 00074 00077 virtual void setSpotReportsGloballyEnabled(bool enabled); 00078 00080 virtual void setCommModelSettings(bool useExternalComms); 00081 00083 virtual void setRoadDrivingSettings(bool driveOnLeft); 00084 00087 virtual void setAutomaticAggregationDisaggregationEnabled(bool enabled); 00088 00093 virtual void setPublishAggregateFormationRoutes(bool yesNo); 00094 00096 00097 public: 00098 boost::signal<void (const std::string&, const DtVrfBackendState*)> signal_settingReceived; 00099 00100 protected: 00101 virtual void processSettingMessage(DtSimMessage*); 00102 00104 virtual void slot_processPendingRequests(); 00105 00106 protected: 00107 makVrv::DtDe& myDe; 00108 std::map<std::string, int> myMonitoring; 00109 std::map<std::string, int> myRequesting; 00110 00112 std::set<std::string> myPendingRequests; 00113 }; 00114 }