51Degrees Common C/C++  4.1

A shared functionality library that is used by 51Degrees products

RequiredPropertiesConfig.hpp

1 /* *********************************************************************
2  * This Source Code Form is copyright of 51 Degrees Mobile Experts Limited.
3  * Copyright 2019 51 Degrees Mobile Experts Limited, 5 Charlotte Close,
4  * Caversham, Reading, Berkshire, United Kingdom RG4 7BY
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0.
8  *
9  * If a copy of the MPL was not distributed with this file, You can obtain
10  * one at http://mozilla.org/MPL/2.0/.
11  *
12  * This Source Code Form is "Incompatible With Secondary Licenses", as
13  * defined by the Mozilla Public License, v. 2.0.
14  * ********************************************************************* */
15 
16 #ifndef FIFTYONE_DEGREES_REQUIRED_PROPERTIES_HPP
17 #define FIFTYONE_DEGREES_REQUIRED_PROPERTIES_HPP
18 
19 #include <string>
20 #include <vector>
21 #include "properties.h"
22 
23 using namespace std;
24 
25 namespace FiftyoneDegrees {
26  namespace Common {
51  public:
63 
70  RequiredPropertiesConfig(const vector<string> *properties);
71 
78  RequiredPropertiesConfig(vector<string> *properties);
79 
86  RequiredPropertiesConfig(const char *properties);
87 
94  RequiredPropertiesConfig(const string &properties);
95 
102  RequiredPropertiesConfig(const string *properties);
103 
108  virtual ~RequiredPropertiesConfig();
109 
120  vector<string> getProperties();
121 
129 
135  int getCount();
136 
147  bool containsProperty(const char *property);
148 
155  bool containsProperty(const string property);
156  private:
159  };
160  }
161 }
162 
163 #endif
51Degrees base namespace.
Definition: Collection.hpp:24
C++ class wrapper for the fiftyoneDegreesPropertiesRequired structure.
Definition: RequiredPropertiesConfig.hpp:50
Defines a set of properties which are required by a caller.
Definition: properties.h:150