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 < 11
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
79class 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;
139 virtual ::Ice::StringSeq getPropertyAsList(const ::std::string& key)
noexcept = 0;
156 virtual ::Ice::StringSeq getPropertyAsListWithDefault(const ::std::string& key,
const StringSeq& value)
noexcept = 0;
166 virtual ::Ice::PropertyDict getPropertiesForPrefix(const ::std::string& prefix)
noexcept = 0;
175 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
184 virtual ::Ice::StringSeq getCommandLineOptions() noexcept = 0;
198 virtual ::Ice::StringSeq parseCommandLineOptions(const ::std::
string& prefix, const StringSeq& options) = 0;
209 virtual ::Ice::StringSeq parseIceCommandLineOptions(const StringSeq& options) = 0;
215 virtual
void load(const ::std::
string& file) = 0;
221 virtual ::std::shared_ptr<::Ice::Properties> clone() noexcept = 0;
283#ifdef ICE_CPP11_COMPILER
379 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
419 virtual
void load(const ::std::
string& file) = 0;
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
Shared & operator=(const Shared &)
Definition Shared.h:94
Base class for local Slice classes and interfaces.
Definition LocalObject.h:25
A property set used to configure Ice and Ice applications.
Definition Properties.h:276
PropertiesPtr PointerType
Definition Properties.h:279
virtual StringSeq parseIceCommandLineOptions(const StringSeq &options)=0
Convert a sequence of command-line options into properties.
virtual::std::string getPropertyWithDefault(const ::std::string &key, const ::std::string &value)=0
Get a property by key.
virtual::std::string getProperty(const ::std::string &key)=0
Get a property by key.
virtual PropertiesPtr clone()=0
Create a copy of this property set.
virtual StringSeq getPropertyAsList(const ::std::string &key)=0
Get a property as a list of strings.
virtual StringSeq getPropertyAsListWithDefault(const ::std::string &key, const StringSeq &value)=0
Get a property as a list of strings.
virtual StringSeq getCommandLineOptions()=0
Get a sequence of command-line options that is equivalent to this property set.
virtual StringSeq parseCommandLineOptions(const ::std::string &prefix, const StringSeq &options)=0
Convert a sequence of command-line options into properties.
virtual PropertyDict getPropertiesForPrefix(const ::std::string &prefix)=0
Get all properties whose keys begins with prefix.
virtual Int getPropertyAsIntWithDefault(const ::std::string &key, Int value)=0
Get a property as an integer.
virtual Int getPropertyAsInt(const ::std::string &key)=0
Get a property as an integer.
virtual void setProperty(const ::std::string &key, const ::std::string &value)=0
Set a property.
virtual void load(const ::std::string &file)=0
Load properties from a file.
Definition BuiltinSequences.h:113
::std::vector< ::std::string > StringSeq
A sequence of strings.
Definition BuiltinSequences.h:153
int Int
The mapping for the Slice int type.
Definition Config.h:54
::std::map< ::std::string, ::std::string > PropertyDict
A simple collection of properties, represented as a dictionary of key/value pairs.
Definition PropertiesAdmin.h:420
::IceInternal::Handle< Properties > PropertiesPtr
Definition Properties.h:256
IceUtil::Shared * upCast(::Ice::AsyncResult *)