summaryrefslogtreecommitdiff
path: root/cpp/include
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include')
-rw-r--r--cpp/include/Ice/Dispatcher.h42
-rw-r--r--cpp/include/Ice/Initialize.h6
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(),