16 #ifndef __Ice_Properties_h__
17 #define __Ice_Properties_h__
38 #ifndef ICE_IGNORE_VERSION
39 # if ICE_INT_VERSION / 100 != 307
40 # error Ice version mismatch!
42 # if ICE_INT_VERSION % 100 >= 50
43 # error Beta header file detected
45 # if ICE_INT_VERSION % 100 < 10
46 # error Ice patch level mismatch!
51 # if defined(ICE_STATIC_LIBS)
53 # elif defined(ICE_API_EXPORTS)
54 # define ICE_API ICE_DECLSPEC_EXPORT
56 # define ICE_API ICE_DECLSPEC_IMPORT
60 #ifdef ICE_CPP11_MAPPING // C++11 mapping
79 class ICE_CLASS(ICE_API) Properties
92 virtual ::std::string getProperty(const ::std::string& key) noexcept = 0;
103 virtual ::std::string getPropertyWithDefault(const ::std::string& key, const ::std::string& value) noexcept = 0;
112 virtual int getPropertyAsInt(const ::std::string& key) noexcept = 0;
124 virtual int getPropertyAsIntWithDefault(const ::std::string& key,
int value) noexcept = 0;
175 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
198 virtual ::
Ice::
StringSeq parseCommandLineOptions(const ::std::
string& prefix, const
StringSeq& options) = 0;
215 virtual
void load(const ::std::
string& file) = 0;
221 virtual ::std::shared_ptr<::
Ice::Properties> clone() noexcept = 0;
242 #else // C++98 mapping
283 #ifdef ICE_CPP11_COMPILER
379 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
402 virtual
StringSeq parseCommandLineOptions(const ::std::
string& prefix, const
StringSeq& options) = 0;
419 virtual
void load(const ::std::
string& file) = 0;