Ice 3.7 C++98 API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
Ice::ValueFactory Class Referenceabstract

A factory for values. More...

#include <Ice/Ice.h>

Inheritance diagram for Ice::ValueFactory:
Inheritance graph
[legend]
Collaboration diagram for Ice::ValueFactory:
Collaboration graph
[legend]

Public Types

typedef ValueFactoryPtr PointerType
 

Public Member Functions

virtual ValuePtr create (const ::std::string &type)=0
 Create a new value for a given value type. More...
 
virtual ~ValueFactory ()
 
- Public Member Functions inherited from Ice::LocalObject
virtual bool operator< (const LocalObject &) const
 
virtual bool operator== (const LocalObject &) const
 
- Public Member Functions inherited from IceUtil::Shared
void __clearFlag (unsigned char flag)
 
virtual void __decRef ()
 
virtual int __getRef () const
 
bool __hasFlag (unsigned char flag)
 
virtual void __incRef ()
 
void __setFlag (unsigned char flag)
 
virtual void __setNoDelete (bool)
 
Sharedoperator= (const Shared &)
 
 Shared ()
 
 Shared (const Shared &)
 
virtual ~Shared ()
 

Additional Inherited Members

- Static Public Attributes inherited from IceUtil::Shared
static const unsigned char NoDelete
 
- Protected Attributes inherited from IceUtil::Shared
unsigned char _flags
 
IceUtilInternal::Atomic _ref
 

Detailed Description

A factory for values.

Value factories are used in several places, such as when Ice receives a class instance and when Freeze restores a persistent value. Value factories must be implemented by the application writer and registered with the communicator.

Member Typedef Documentation

◆ PointerType

Constructor & Destructor Documentation

◆ ~ValueFactory()

virtual Ice::ValueFactory::~ValueFactory ( )
virtual

Member Function Documentation

◆ create()

virtual ValuePtr Ice::ValueFactory::create ( const ::std::string &  type)
pure virtual

Create a new value for a given value type.

The type is the absolute Slice type id, i.e., the id relative to the unnamed top-level Slice module. For example, the absolute Slice type id for an interface Bar in the module Foo is "::Foo::Bar".

Note that the leading "<code>::</code>" is required.

Parameters
typeThe value type.
Returns
The value created for the given type, or nil if the factory is unable to create the value.

The documentation for this class was generated from the following file: