Ice 3.7 C++11 API Reference
|
Go to the documentation of this file.
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*
166 inline PropertiesPtr
createProperties(
int& argc,
char* argv[],
const PropertiesPtr& defaults = 0)
212 inline PropertiesPtr
createProperties(
int& argc,
wchar_t* argv[],
const PropertiesPtr& defaults = 0)
250 #ifdef ICE_CPP11_MAPPING
257 ThreadHookPlugin(
const CommunicatorPtr& communicator, std::function<
void()> start, std::function<
void()> stop);
295 #ifdef ICE_CPP11_MAPPING
297 #if defined(__clang__)
298 # pragma clang diagnostic push
299 # pragma clang diagnostic ignored "-Wdocumentation" // param/return is not recognized for std::function data members
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(),
507 inline CommunicatorPtr
initialize(
int& argc,
wchar_t* argv[],
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);
624 typedef Ice::Plugin* (*PluginFactory)(const ::Ice::CommunicatorPtr& communicator,
const std::string& name,
651 #ifdef ICE_CPP11_MAPPING
660 _communicator(std::move(
initialize(std::forward<T>(args)...)))
691 explicit operator bool()
const;
693 #else // C++98 mapping
891 operator bool()
const;
924 CommunicatorPtr _communicator;
944 namespace IceInternal
952 ICE_API InstancePtr getInstance(const ::Ice::CommunicatorPtr&);
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
virtual void stop()=0
Called from an Ice thread that is about to stop.
virtual void destroy()
Not used.
virtual void initialize()
Not used.
const CommunicatorPtr & communicator() const
Obtains the communicator instance.
CommunicatorHolder(T &&... args)
Calls initialize to create a communicator with the provided arguments.
Definition: Initialize.h:659
A communicator plug-in.
Definition: Plugin.h:78
PropertiesPtr createProperties()
Creates a new empty property set.
CommunicatorHolder(CommunicatorHolder &&)=default
const CommunicatorPtr & operator->() const
Obtains the communicator instance.
#define ICE_ENUM(CLASS, ENUMERATOR)
Definition: Config.h:360
virtual void start()=0
Called from the new Ice thread at startup.
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
ValueFactoryManagerPtr valueFactoryManager
The value factory manager.
Definition: Initialize.h:390
void registerPluginFactory(const std::string &name, PluginFactory factory, bool loadOnInit)
Manually registers a plug-in factory function.
PropertiesPtr properties
The properties for the communicator.
Definition: Initialize.h:283
Base class for a thread notification hook.
Definition: Initialize.h:225
std::function< void(const Ice::BatchRequest &req, int count, int size)> batchRequestInterceptor
The batch request interceptor, which is called by the Ice run time to enqueue a batch request.
Definition: Initialize.h:346
#define ICE_API
Definition: Config.h:197
#define ICE_CONFIG_FILE_STRING
Definition: Initialize.h:22
CommunicatorPtr initialize(int &argc, const char *argv[], const InitializationData &initData=InitializationData(), int version=30710)
Initializes a new communicator.
ToStringMode
The output mode for xxxToString method such as identityToString and proxyToString.
Definition: Communicator.h:92
#define ICE_INT_VERSION
Definition: Config.h:272
Identity stringToIdentity(const std::string &str)
Converts a stringified identity into an Identity.
std::string identityToString(const Identity &id, ToStringMode mode=ToStringMode ::Unicode)
Converts an Identity structure into a string using the specified mode.
CommunicatorPtr release()
Obtains the communicator instance and clears the reference held by the holder.
void stringSeqToArgs(const StringSeq &seq, int &argc, const char *argv[])
Updates the argument vector to match the contents of the string sequence.
CommunicatorHolder & operator=(std::shared_ptr< Communicator > communicator)
Adopts the given communicator.
CommunicatorHolder()
The holder's initial state is empty.
CommunicatorHolder(const CommunicatorHolder &)=delete
void setProcessLogger(const LoggerPtr &logger)
Sets the per-process logger.
CommunicatorHolder & operator=(CommunicatorHolder &&holder) noexcept
Adopts the communicator in the given holder.
Instrumentation::CommunicatorObserverPtr observer
The communicator observer used by the Ice run-time.
Definition: Initialize.h:293
std::function< void()> threadStart
Called whenever the communicator starts a new thread.
Definition: Initialize.h:305
IceUtil::Handle< ThreadNotification > ThreadNotificationPtr
Definition: Initialize.h:239
StringSeq argsToStringSeq(int argc, const char *const argv[])
Converts an argument vector into a string sequence.
std::function< std::string(int id)> compactIdResolver
Applications that make use of compact type IDs to conserve space when marshaling class instances,...
Definition: Initialize.h:338
::std::vector<::std::string > StringSeq
A sequence of strings.
Definition: BuiltinSequences.h:96
Definition: BuiltinSequences.h:56
LoggerPtr getProcessLogger()
Obtains the per-process logger.
A special plug-in that installs a thread hook during a communicator's initialization.
Definition: Initialize.h:247
CommunicatorHolder(std::shared_ptr< Communicator > communicator)
Adopts the given communicator.
std::function< void(std::function< void()> call, const std::shared_ptr< Ice::Connection > &con)> dispatcher
You can control which thread receives operation invocations and AMI callbacks by supplying a dispatch...
Definition: Initialize.h:326
std::function< void()> threadStop
Called whenever a thread created by the communicator is about to be destroyed.
Definition: Initialize.h:310
Encapsulates data to initialize a communicator.
Definition: Initialize.h:279
The identity of an Ice object.
Definition: Identity.h:67
LoggerPtr logger
The logger for the communicator.
Definition: Initialize.h:288
ThreadHookPlugin(const CommunicatorPtr &communicator, std::function< void()> start, std::function< void()> stop)
Installs the thread hooks.