VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/radarModeRequestor.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00014 
00015 #pragma once
00016 
00017 #include <vrvUtil/signalslib.h>
00018 #include <vrfGuiCore/vrfGuiCore.h>
00019 
00020 #include <vrvUtil/DtVirtualBaseClass.h>
00021 
00022 #include <vrvCore/DtSimEntry.h>
00023 
00024 #include <vector>
00025 
00026 namespace makVrv
00027 {
00028    class DtDe;
00029    class DtSimObjectEntry;
00030 }
00031 
00032 class DtVrfObjectMessage;
00033 
00034 namespace makVrf
00035 {
00037    class DT_DLL_VRFGUICORE DtRadarModeRequestor : public makVrv::DtVirtualBaseClass
00038    {
00039    protected:
00041       struct DtRadarModeDataRecord
00042       {
00043          std::map<int, std::string> emitIdCurrModeMap;
00044          std::map<int, std::vector<std::string> > emitIdModesMap;
00045       };
00046 
00047    public:
00049       virtual ~DtRadarModeRequestor();
00050 
00052       static DtRadarModeRequestor& instance(makVrv::DtDe& de);
00053 
00056       static void registerInstance(makVrv::DtDe& de, DtRadarModeRequestor* object);
00057 
00059       virtual std::string currentModeFor(std::string entityName, int emitterId) const;
00060 
00062       virtual std::vector<int> emitterIdsFor(std::string entityName) const;
00063 
00065       virtual std::vector<std::string> radarModesFor(std::string entityName, int emitterId) const;
00066 
00068       virtual bool hasRadarModesFor(std::string entityName) const;
00069 
00073       virtual int groupIdsAndModes(std::vector<std::string> entities, 
00074                                    std::vector<int>& returnIds, 
00075                                    std::vector<std::string>& returnModes);
00076 
00080       virtual int groupModes(std::vector<std::string> entities,
00081                              int emitterId,
00082                              std::vector<std::string>& returnModes);
00083 
00085       virtual void updateRadarModes(std::string entityName);
00086 
00088       boost::signal<void (std::string, int)> signal_radarModesReceived;
00089 
00090 
00091    protected:
00093       DtRadarModeRequestor(makVrv::DtDe&);
00094 
00096       virtual void slot_onSimDataRemoved(makVrv::DtSimObjectEntry&);
00097 
00100       virtual void processRadarModes(const DtVrfObjectMessage* msg);
00101 
00102       makVrv::DtDe& myDe;
00103       std::map<std::string, DtRadarModeDataRecord> myEntitiesTable;
00104    };
00105 }

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)