diff options
Diffstat (limited to 'cpp/include')
-rw-r--r-- | cpp/include/Ice/Dispatcher.h | 42 | ||||
-rw-r--r-- | cpp/include/Ice/Initialize.h | 6 |
2 files changed, 46 insertions, 2 deletions
diff --git a/cpp/include/Ice/Dispatcher.h b/cpp/include/Ice/Dispatcher.h new file mode 100644 index 00000000000..02fe42c4537 --- /dev/null +++ b/cpp/include/Ice/Dispatcher.h @@ -0,0 +1,42 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_DISPATCHER_H +#define ICE_DISPATCHER_H + +#include <IceUtil/Shared.h> +#include <IceUtil/Handle.h> +#include <Ice/ConnectionF.h> + +namespace Ice +{ + +class ICE_API DispatcherCall : virtual public IceUtil::Shared +{ +public: + + virtual ~DispatcherCall() { } + + virtual void run() = 0; +}; + +typedef IceUtil::Handle<DispatcherCall> DispatcherCallPtr; + +class ICE_API Dispatcher : virtual public IceUtil::Shared +{ +public: + + virtual void dispatch(const DispatcherCallPtr&, const ConnectionPtr&) = 0; +}; + +typedef IceUtil::Handle<Dispatcher> DispatcherPtr; + +} + +#endif diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index 6c2798a866c..021059cbe98 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -16,6 +16,7 @@ #include <Ice/LoggerF.h> #include <Ice/StreamF.h> #include <Ice/StatsF.h> +#include <Ice/Dispatcher.h> #include <Ice/StringConverter.h> #include <Ice/BuiltinSequences.h> @@ -47,8 +48,8 @@ ICE_API PropertiesPtr createProperties(StringSeq&, const PropertiesPtr& = 0, con ICE_API PropertiesPtr createProperties(int&, char*[], const PropertiesPtr& = 0, const StringConverterPtr& = 0); // -// This class is used to notify user of when Ice threads -// are started and stopped. +// This class is used to notify user of when Ice threads are started +// and stopped. // class ICE_API ThreadNotification : public IceUtil::Shared { @@ -86,6 +87,7 @@ struct InitializationData StringConverterPtr stringConverter; WstringConverterPtr wstringConverter; ThreadNotificationPtr threadHook; + DispatcherPtr dispatcher; }; ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData& = InitializationData(), |