All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AppInfo.h
1 // Copyright (c) 2014 eeGeo. All rights reserved.
2 #pragma once
3 
4 #include <string>
5 
6 namespace Eegeo
7 {
8  struct AppInfo
9  {
11  {
12  public:
14  const std::string& apiKey,
15  const std::string& platformVersionNumber,
16  const std::string& platformVersionHash);
17 
18  AppInfoBuilder& AppName(const std::string& s);
19  AppInfoBuilder& UserId(const std::string& s);
20  AppInfoBuilder& DeviceType(const std::string& s);
21  AppInfoBuilder& OSName(const std::string& s);
22  AppInfoBuilder& OSVersion(const std::string& s);
23  AppInfoBuilder& Locale(const std::string& s);
24  AppInfoBuilder& AppBase(const std::string& s);
25 
26  AppInfo Build();
27 
28  private:
29  std::string m_appName;
30  std::string m_appId;
31  std::string m_platformVersionNumber;
32  std::string m_platformVersionHash;
33  std::string m_userId;
34  std::string m_deviceType;
35  std::string m_OSName;
36  std::string m_OSVersion;
37  std::string m_locale;
38  std::string m_appBase;
39  };
40 
41  std::string AppName;
42  std::string AppId;
43  std::string PlatformVersionNumber;
44  std::string PlatformVersionHash;
45  std::string UserId;
46  std::string DeviceType;
47  std::string OSName;
48  std::string OSVersion;
49  std::string Locale;
50  std::string AppBase;
51 
52  private:
53  // use the nested builder ctor
54  AppInfo() {}
55  };
56 }
57 
58