VR-Forces 4.10 Class Documentation
 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 <vrvUtil/signalslib.h>
11 #include <vlutil/vlFilename.h>
12 
13 #include <string>
14 #include <set>
15 
16 namespace makVrv
17 {
18  class DtDe;
19 }
20 
21 namespace makVrf
22 {
26  {
27  public:
29  typedef std::map<std::string, std::string> CountryCodes;
30 
31  public:
34  virtual ~DtCountryCodesManager();
35 
37  static DtCountryCodesManager& instance(makVrv::DtDe& de);
38  static void registerInstance(makVrv::DtDe&, DtCountryCodesManager*);
39 
41  virtual const std::set<std::string>& countryCodes() const
42  {
43  return myCountryCodes;
44  }
45 
47  virtual const CountryCodes& countryCodesByCountry() const
48  {
49  return myCountryCodesByCountry;
50  }
51 
53  virtual const CountryCodes& countriesByCountryCode() const
54  {
55  return myCountriesByCountryCode;
56  }
57 
59  virtual void addCountry(const std::string& code, const std::string& name, bool signal = true);
60 
62  virtual std::string country(const std::string& code) const;
63 
65  virtual std::string countryCode(const std::string& country) const;
66 
68  virtual bool loadCountryCodesFile(const std::string&, bool merge = false);
69 
71  virtual bool reload();
72 
74  virtual bool removeCountry(const std::string&, bool signal = true);
75 
78  boost::signals2::signal<void (std::string, std::string)> signal_countryAdded;
79 
81  boost::signals2::signal<void (std::string)> signal_countryRemoved;
82 
84  boost::signals2::signal<void ()> signal_loaded;
85 
86  protected:
88  std::set<std::string> myCountryCodes;
91  DtFilename myLastLoadedFile;
92  };
93 }
CountryCodes myCountryCodesByCountry
Definition: countryCodesManager.h:90
Virtual base class.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(std::string, std::string)> signal_countryAdded
Signals Signal when country added (code, name)
Definition: countryCodesManager.h:78
std::set< std::string > myCountryCodes
Definition: countryCodesManager.h:88
makVrv::DtDe & myDe
Definition: countryCodesManager.h:87
This class will read a country codes file (default settings\country-codes.csv) and allow for access o...
Definition: countryCodesManager.h:25
#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:29
DtFilename myLastLoadedFile
Reverse map (for convenience)
Definition: countryCodesManager.h:91
CountryCodes myCountriesByCountryCode
Definition: countryCodesManager.h:89
Contains makVrv::DtVirtualBaseClass class.
virtual const std::set< std::string > & countryCodes() const
Returns the current list of country codes.
Definition: countryCodesManager.h:41
boost::signals2::signal< void(std::string)> signal_countryRemoved
Signal sent when country removed.
Definition: countryCodesManager.h:81
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void()> signal_loaded
Signal when loaded.
Definition: countryCodesManager.h:84
virtual const CountryCodes & countriesByCountryCode() const
Returns the current list of country codes mapped to country.
Definition: countryCodesManager.h:53
virtual const CountryCodes & countryCodesByCountry() const
Returns the current list of countries mapped to country codes.
Definition: countryCodesManager.h:47

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)