![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00011 00012 #pragma once 00013 00014 #include <vrvUtil/signalslib.h> 00015 #include <vrfGuiCore/vrfGuiCore.h> 00016 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <vrvCore/DtSimEntry.h> 00020 00021 #include <vector> 00022 00023 namespace makVrv 00024 { 00025 class DtDe; 00026 class DtSimObjectEntry; 00027 } 00028 00029 class DtVrfObjectMessage; 00030 00031 namespace makVrf 00032 { 00034 class DT_DLL_VRFGUICORE DtWeaponListRequestor : public makVrv::DtVirtualBaseClass 00035 { 00036 public: 00037 00038 typedef std::list<std::string> DtWeaponList; 00039 00040 public: 00041 DtWeaponListRequestor(makVrv::DtDe&); 00042 virtual ~DtWeaponListRequestor(); 00043 00044 static DtWeaponListRequestor& instance(makVrv::DtDe& de); 00045 00046 virtual DtWeaponList weaponSystemsForEntity(std::string entityName) const; 00047 00048 virtual bool hasWeaponSystemsForEntity(std::string entityName) const; 00049 00050 virtual void weaponSystems(std::vector<std::string> entities, std::list<std::string>& weaponSystems); 00051 00052 virtual void updateWeaponSystems(std::string entityName); 00053 00054 boost::signal<void (std::string)> signal_weaponListReceived; 00055 00056 protected: 00057 00058 virtual void slot_onSimDataRemoved(makVrv::DtSimObjectEntry&); 00059 00060 virtual void processWeaponListResponse(const DtVrfObjectMessage* msg); 00061 00062 makVrv::DtDe& myDe; 00063 std::map<std::string, DtWeaponList> myEntitiesTable; 00064 }; 00065 }