![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtSharedNetworkSignaler.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00014 00015 #pragma once 00016 00017 #include <vrfGuiCore/vrfGuiCore.h> 00018 #include <vrfGuiCore/DtEnvironmentalCreationData.h> 00019 #include <vrvUtil/event_signal.h> 00020 #include <vrvUtil/DtVirtualBaseClass.h> 00021 #include <vlpi/simulationAddress.h> 00022 #include <vrvUtil/signalslib.h> 00023 #include <vlpi/entityType.h> 00024 00025 #include <vrfmsgs/vrfObjectMessage.h> 00026 #include <vrftasks/setReqFact.h> 00027 #include <vrftasks/taskFactory.h> 00028 #include <vrfutil/ceFactory.h> 00029 #include <vrfplan/simCommandFactory.h> 00030 #include <vrftasks/adminContentFactory.h> 00031 #include <vrfExtProtocol/ifContFactory.h> 00032 #include <vrfmsgs/vrfObjectMessageFactory.h> 00033 #include <vrftasks/reportFactory.h> 00034 #include <vrfmsgs/msgExec.h> 00035 #include <vrfmsgs/vrfObjectMessageExecutive.h> 00036 00037 class DtSimInterfaceContent; 00038 class DtScenario; 00039 00040 namespace makVrv 00041 { 00042 class DtDe; 00043 class DtSharedSettingsManager; 00044 } 00045 00046 typedef void (*DtVrfObjectConsoleMessageCallbackFcn) 00047 (const DtEntityIdentifier& id, int notifyLevel, const DtString& message, void* usr); 00048 00049 namespace makVrf 00050 { 00052 class DT_DLL_VRFGUICORE DtSharedNetworkSignaler : public makVrv::DtVirtualBaseClass 00053 { 00054 public: 00055 00059 static DtSharedNetworkSignaler& instance(const makVrv::DtSharedSettingsManager&); 00060 00063 static DtSharedNetworkSignaler& instance(makVrv::DtEventQueueInterface&); 00064 00068 static DtSharedNetworkSignaler* findInstance( 00069 makVrv::DtEventQueueInterface*); 00070 00072 virtual ~DtSharedNetworkSignaler(); 00073 00074 //@name Signals 00076 00079 makVrv::event_signal<void (const DtSimInterfaceContent*, DtSimulationAddress)> signal_sendMessage; 00080 00082 makVrv::event_signal<void (DtSimulationAddress, DtEntityType, int, std::vector<DtVector>, 00083 DtEnvironmentalCreationData data)> signal_createEnvironmentalObject; 00084 00086 makVrv::event_signal<void (const DtVrfObjectMessage*, DtSimulationAddress)> signal_sendMessageToObject; 00087 00089 makVrv::event_signal<void (std::string, int, DtSimReportCreatorFcn)> signal_addReportCreatorFcn; 00090 00092 makVrv::event_signal<void (std::string, int, DtCondExprCreatorFcn)> signal_addConditionCreatorFcn; 00093 00095 makVrv::event_signal<void (std::string, int, DtAdminContentCreatorFcn)> signal_addAdminContentCreatorFcn; 00096 00098 makVrv::event_signal<void (int, DtInterfaceContentCreatorFcn)> signal_addInterfaceContentCreatorFcn; 00099 00101 makVrv::event_signal<void (std::string, int, DtSimTaskCreatorFcn)> signal_addTaskCreatorFcn; 00102 00104 makVrv::event_signal<void (std::string, int, DtSetDataRequestCreatorFcn)> signal_addSetCreatorFcn; 00105 00107 makVrv::event_signal<void (std::string, int, DtSimCommandCreatorFcn)> signal_addSimulationCommandCreatorFcn; 00108 00110 makVrv::event_signal<void (int, DtVrfObjectMessageCreatorFcn)> signal_addObjectMessageCreatorFcn; 00111 00114 makVrv::event_signal<void (const DtScenario*, int startTimeOfDay)> signal_newScenario; 00115 00117 makVrv::event_signal<void (int)> signal_setTimeoutInterval; 00118 00120 makVrv::event_signal<void ()> signal_closeScenario; 00121 00123 makVrv::event_signal<void (int, bool)> signal_registerSimMessageCallbackFor; 00124 00126 makVrv::event_signal<void (int, bool)> signal_registerRadioMessageCallbackFor; 00127 00129 makVrv::event_signal<void (int, bool)> signal_registerObjectMessageCallbackFor; 00130 00132 makVrv::event_signal<void (bool)> signal_registerCommentInteraction; 00134 00137 makVrv::event_signal<void ()> signal_sendLoggerStopMessage; 00138 makVrv::event_signal<void (std::string)> signal_sendLoggerSetFilename; 00139 makVrv::event_signal<void ()> signal_sendLoggerRecordMessage; 00141 00142 protected: 00143 DtSharedNetworkSignaler(makVrv::DtEventQueueInterface& eqi); 00144 00145 private: 00146 DtSharedNetworkSignaler(const DtSharedNetworkSignaler&); 00147 DtSharedNetworkSignaler& operator=(const DtSharedNetworkSignaler&); 00148 }; 00149 }