VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
countryCodesManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
10 #include <boost/signals2.hpp>
11 
12 #include <vlutil/vlFilename.h>
13 
14 #include <string>
15 #include <set>
16 #include <map>
17 
18 namespace makVrv
19 {
20  class DtDe;
21 }
22 
23 namespace makVrf
24 {
28  {
29  public:
31  typedef std::map<std::string, std::string> CountryCodes;
32  typedef std::map<std::string, int> DISEnumByCode;
33  typedef std::map<int, std::string> CountryCodeByDISEnum;
34 
35  public:
38  virtual ~DtCountryCodesManager();
39 
41  static DtCountryCodesManager& instance(makVrv::DtDe& de);
42  static void registerInstance(makVrv::DtDe&, DtCountryCodesManager*);
43 
45  virtual const std::set<std::string>& countryCodes() const
46  {
47  return myCountryCodes;
48  }
49 
51  {
52  return myCountryCodeByDISEnum;
53  }
54 
56  virtual const CountryCodes& countryCodesByCountry() const
57  {
58  return myCountryCodesByCountry;
59  }
60 
62  virtual const CountryCodes& countriesByCountryCode() const
63  {
64  return myCountriesByCountryCode;
65  }
66 
68  virtual void addCountry(const std::string& code, const std::string& name, int disCode, bool signal = true);
69 
71  virtual std::string country(const std::string& code) const;
72 
74  virtual std::string countryCode(const std::string& country) const;
75 
77  virtual int disEnumByCountryCode(const std::string& code) const;
78  virtual std::string countryCodeByDISEnum(int) const;
79 
81  virtual bool loadCountryCodesFile(const std::string&, bool merge = false);
82 
84  virtual bool reload();
85 
87  virtual bool removeCountry(const std::string&, bool signal = true);
88 
91  boost::signals2::signal<void (std::string, std::string)> signal_countryAdded;
92 
94  boost::signals2::signal<void (std::string)> signal_countryRemoved;
95 
97  boost::signals2::signal<void ()> signal_loaded;
98 
99  protected:
101  std::set<std::string> myCountryCodes;
106  DtFilename myLastLoadedFile;
107  };
108 }
CountryCodes myCountryCodesByCountry
Definition: countryCodesManager.h:103
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(std::string, std::string)> signal_countryAdded
Signals Signal when country added (code, name)
Definition: countryCodesManager.h:91
std::set< std::string > myCountryCodes
Definition: countryCodesManager.h:101
CountryCodeByDISEnum myCountryCodeByDISEnum
Definition: countryCodesManager.h:105
makVrv::DtDe & myDe
Definition: countryCodesManager.h:100
std::map< std::string, int > DISEnumByCode
Definition: countryCodesManager.h:32
This class will read a country codes file (default settings\country-codes.csv) and allow for access o...
Definition: countryCodesManager.h:27
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< std::string, std::string > CountryCodes
Map is 2 letter country code followed by engish name.
Definition: countryCodesManager.h:31
DtFilename myLastLoadedFile
Reverse map (for convenience)
Definition: countryCodesManager.h:106
std::map< int, std::string > CountryCodeByDISEnum
Definition: countryCodesManager.h:33
CountryCodes myCountriesByCountryCode
Definition: countryCodesManager.h:102
Contains makVrv::DtVirtualBaseClass class.
virtual const std::set< std::string > & countryCodes() const
Returns the current list of country codes.
Definition: countryCodesManager.h:45
boost::signals2::signal< void(std::string)> signal_countryRemoved
Signal sent when country removed.
Definition: countryCodesManager.h:94
virtual const CountryCodeByDISEnum & countryCodeByDISEnum() const
Definition: countryCodesManager.h:50
DISEnumByCode myDisEnumByCountryCode
Reverse map (for convenience)
Definition: countryCodesManager.h:104
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
boost::signals2::signal< void()> signal_loaded
Signal when loaded.
Definition: countryCodesManager.h:97
virtual const CountryCodes & countriesByCountryCode() const
Returns the current list of country codes mapped to country.
Definition: countryCodesManager.h:62
virtual const CountryCodes & countryCodesByCountry() const
Returns the current list of countries mapped to country codes.
Definition: countryCodesManager.h:56

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)