5#ifndef ICE_INITIALIZE_H
6#define ICE_INITIALIZE_H
21#ifdef ICE_CPP11_MAPPING
22# define ICE_CONFIG_FILE_STRING const std::string&
24# define ICE_CONFIG_FILE_STRING const char*
250#ifdef ICE_CPP11_MAPPING
295#ifdef ICE_CPP11_MAPPING
297#if defined(__clang__)
298# pragma clang diagnostic push
299# pragma clang diagnostic ignored "-Wdocumentation"
305 std::function<void()> threadStart;
310 std::function<void()> threadStop;
326 std::function<void(std::function<
void()> call,
const std::shared_ptr<Ice::Connection>& con)>
dispatcher;
348#if defined(__clang__)
349# pragma clang diagnostic pop
430 return initialize(argc,
const_cast<const char**
>(argv), initData, version);
469 return initialize(argc,
const_cast<const char**
>(argv), configFile, version);
489 const InitializationData& initData = InitializationData(),
510 return initialize(argc,
const_cast<const wchar_t**
>(argv), initData, version);
549 return initialize(argc,
const_cast<const wchar_t**
>(argv), configFile, version);
624typedef Ice::Plugin* (*PluginFactory)(const ::Ice::CommunicatorPtr& communicator,
const std::string& name,
625 const ::Ice::StringSeq& args);
651#ifdef ICE_CPP11_MAPPING
660 _communicator(std::move(
initialize(std::forward<T>(args)...)))
691 explicit operator bool()
const;
891 operator bool()
const;
952ICE_API InstancePtr getInstance(const ::Ice::CommunicatorPtr&);
#define ICE_API
Definition Config.h:197
#define ICE_INT_VERSION
Definition Config.h:272
#define ICE_ENUM(CLASS, ENUMERATOR)
Definition Config.h:378
#define ICE_CONFIG_FILE_STRING
Definition Initialize.h:24
Represents an invocation on a proxy configured for batch-oneway or batch-datagram.
Definition BatchRequestInterceptor.h:19
A helper class that uses Resource Acquisition Is Initialization (RAII) to initialize and hold a commu...
Definition Initialize.h:643
const CommunicatorPtr & operator->() const
Obtains the communicator instance.
CommunicatorHolder & operator=(const CommunicatorPtr &communicator)
Adopts the given communicator.
CommunicatorHolder(const char *configFile, int version=30711)
Initializes a new communicator.
CommunicatorHolder(StringSeq &seq, const InitializationData &initData=InitializationData(), int version=30711)
Initializes a new communicator.
CommunicatorPtr release()
Obtains the communicator instance and clears the reference held by the holder.
CommunicatorHolder(int &argc, char *argv[], const char *configFile, int version=30711)
Initializes a new communicator.
CommunicatorHolder()
The holder's initial state is empty.
CommunicatorHolder(const InitializationData &initData, int version=30711)
Initializes a new communicator.
CommunicatorHolder(int &argc, const char *argv[], const InitializationData &initData=InitializationData(), int version=30711)
Initializes a new communicator.
const CommunicatorPtr & communicator() const
Obtains the communicator instance.
CommunicatorHolder(int &argc, char *argv[], const InitializationData &initData=InitializationData(), int version=30711)
Initializes a new communicator.
CommunicatorHolder(StringSeq &seq, const char *configFile, int version=30711)
Initializes a new communicator.
CommunicatorHolder(const CommunicatorPtr &communicator)
Adopts the given communicator.
CommunicatorHolder(int &argc, const char *argv[], const char *configFile, int version=30711)
Initializes a new communicator.
A communicator plug-in.
Definition Plugin.h:198
ThreadHookPlugin(const CommunicatorPtr &communicator, const ThreadNotificationPtr &hook)
Installs the thread hooks.
virtual void destroy()
Not used.
virtual void initialize()
Not used.
Base class for a thread notification hook.
Definition Initialize.h:225
virtual void stop()=0
Called from an Ice thread that is about to stop.
virtual void start()=0
Called from the new Ice thread at startup.
IceUtil::Handle< Timer > TimerPtr
Definition Timer.h:21
::IceInternal::Handle< CommunicatorObserver > CommunicatorObserverPtr
Definition Instrumentation.h:587
Definition BuiltinSequences.h:113
std::string identityToString(const Identity &id, ToStringMode mode=Unicode)
Converts an Identity structure into a string using the specified mode.
::std::vector< ::std::string > StringSeq
A sequence of strings.
Definition BuiltinSequences.h:153
void setProcessLogger(const LoggerPtr &logger)
Sets the per-process logger.
IceUtil::Handle< Dispatcher > DispatcherPtr
Definition Dispatcher.h:62
IceUtil::Handle< ThreadNotification > ThreadNotificationPtr
Definition Initialize.h:239
StringSeq argsToStringSeq(int argc, const char *const argv[])
Converts an argument vector into a string sequence.
IceUtil::Handle< CompactIdResolver > CompactIdResolverPtr
Definition FactoryTable.h:31
LoggerPtr getProcessLogger()
Obtains the per-process logger.
PropertiesPtr createProperties()
Creates a new empty property set.
Ice::Plugin *(* PluginFactory)(const ::Ice::CommunicatorPtr &communicator, const std::string &name, const ::Ice::StringSeq &args)
A plug-in factory function is responsible for creating an Ice plug-in.
Definition Initialize.h:624
::IceInternal::Handle< ValueFactoryManager > ValueFactoryManagerPtr
Definition ValueFactory.h:177
CommunicatorPtr initialize(int &argc, const char *argv[], const InitializationData &initData=InitializationData(), int version=30711)
Initializes a new communicator.
::IceInternal::Handle< Properties > PropertiesPtr
Definition Properties.h:256
::IceInternal::Handle< Logger > LoggerPtr
Definition Logger.h:145
Identity stringToIdentity(const std::string &str)
Converts a stringified identity into an Identity.
ToStringMode
The output mode for xxxToString method such as identityToString and proxyToString.
Definition Communicator.h:621
@ Unicode
Characters with ordinal values greater than 127 are kept as-is in the resulting string.
Definition Communicator.h:627
void stringSeqToArgs(const StringSeq &seq, int &argc, const char *argv[])
Updates the argument vector to match the contents of the string sequence.
::IceInternal::Handle< Communicator > CommunicatorPtr
Definition Communicator.h:608
void registerPluginFactory(const std::string &name, PluginFactory factory, bool loadOnInit)
Manually registers a plug-in factory function.
IceUtil::Handle< BatchRequestInterceptor > BatchRequestInterceptorPtr
Definition BatchRequestInterceptor.h:69
The identity of an Ice object.
Definition Identity.h:144
Encapsulates data to initialize a communicator.
Definition Initialize.h:279
Instrumentation::CommunicatorObserverPtr observer
The communicator observer used by the Ice run-time.
Definition Initialize.h:293
CompactIdResolverPtr compactIdResolver
Applications that make use of compact type IDs to conserve space when marshaling class instances,...
Definition Initialize.h:379
DispatcherPtr dispatcher
You can control which thread receives operation invocations and AMI callbacks by supplying a dispatch...
Definition Initialize.h:370
PropertiesPtr properties
The properties for the communicator.
Definition Initialize.h:283
ValueFactoryManagerPtr valueFactoryManager
The value factory manager.
Definition Initialize.h:390
ThreadNotificationPtr threadHook
The thread hook for the communicator.
Definition Initialize.h:356
BatchRequestInterceptorPtr batchRequestInterceptor
The batch request interceptor.
Definition Initialize.h:384
LoggerPtr logger
The logger for the communicator.
Definition Initialize.h:288