16 #ifndef __Ice_ObjectFactory_h__
17 #define __Ice_ObjectFactory_h__
31 #ifndef ICE_IGNORE_VERSION
32 # if ICE_INT_VERSION / 100 != 307
33 # error Ice version mismatch!
35 # if ICE_INT_VERSION % 100 >= 50
36 # error Beta header file detected
38 # if ICE_INT_VERSION % 100 < 10
39 # error Ice patch level mismatch!
44 # if defined(ICE_STATIC_LIBS)
46 # elif defined(ICE_API_EXPORTS)
47 # define ICE_API ICE_DECLSPEC_EXPORT
49 # define ICE_API ICE_DECLSPEC_IMPORT
53 #ifdef ICE_CPP11_MAPPING // C++11 mapping
91 ICE_DEPRECATED_API(
"ObjectFactory has been deprecated, use ValueFactory instead.") virtual ::std::shared_ptr<::
Ice::
Value> create(const ::std::
string& type) = 0;
114 using ObjectFactoryPtr = ::std::shared_ptr<ObjectFactory>;
119 #else // C++98 mapping
128 typedef ::IceInternal::Handle< ObjectFactory> ObjectFactoryPtr;
143 class ICE_API ObjectFactory :
public virtual LocalObject
147 typedef ObjectFactoryPtr PointerType;
149 virtual ~ObjectFactory();
151 #ifdef ICE_CPP11_COMPILER
152 ObjectFactory() =
default;
153 ObjectFactory(
const ObjectFactory&) =
default;
154 ObjectFactory& operator=(
const ObjectFactory&) =
default;
169 ICE_DEPRECATED_API(
"ObjectFactory has been deprecated, use ValueFactory instead.") virtual ValuePtr create(const ::std::
string& type) = 0;
180 inline
bool operator==(const ObjectFactory& lhs, const ObjectFactory& rhs)
182 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
185 inline bool operator<(
const ObjectFactory& lhs,
const ObjectFactory& rhs)
187 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);