summaryrefslogtreecommitdiff
path: root/Kokyu/Dispatcher_Impl.h
diff options
context:
space:
mode:
authorvenkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-03-20 00:48:13 +0000
committervenkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-03-20 00:48:13 +0000
commit4c30e6e0c49767baff508c6ffbfc656ad707fa74 (patch)
tree7463ea7fa55c5fb5b30bb0f90a8e6c970253d2c8 /Kokyu/Dispatcher_Impl.h
parente661ecf1eb90e5cad12fbfe20f41c57688883f5e (diff)
downloadATCD-4c30e6e0c49767baff508c6ffbfc656ad707fa74.tar.gz
ChangeLogTag: Wed Mar 19 18:27:08 2003 Venkita Subramonian <venkita@cs.wustl.edu>
Diffstat (limited to 'Kokyu/Dispatcher_Impl.h')
-rw-r--r--Kokyu/Dispatcher_Impl.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Kokyu/Dispatcher_Impl.h b/Kokyu/Dispatcher_Impl.h
new file mode 100644
index 00000000000..623704b8dbe
--- /dev/null
+++ b/Kokyu/Dispatcher_Impl.h
@@ -0,0 +1,52 @@
+/* -*- C++ -*- */
+/**
+ * @file Dispatcher_Impl.h
+ *
+ * $Id$
+ *
+ * @author Venkita Subramonian (venkita@cs.wustl.edu)
+ *
+ * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
+ * Chris Gill, Carlos O'Ryan and other members of the DOC group.
+ */
+
+#ifndef DISPATCHER_IMPL_H
+#define DISPATCHER_IMPL_H
+#include "ace/pre.h"
+#include "ace/OS.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "kokyu_export.h"
+#include "Kokyu.h"
+
+namespace Kokyu
+{
+ class Dispatcher_Impl
+ {
+ public:
+ //following an idiom to avoid public virtual functions.
+ //instead make them private and use the template method
+ //pattern - "Virtually Yours" article in CUJ Experts Forum
+ int init (const ConfigInfoSet&);
+ int dispatch (const Dispatch_Command*,
+ const QoSDescriptor&);
+ int shutdown ();
+ virtual ~Dispatcher_Impl();
+ private:
+ virtual int init_i (const ConfigInfoSet&) =0;
+ virtual int dispatch_i (const Dispatch_Command*,
+ const QoSDescriptor&) =0;
+ virtual int shutdown_i () =0;
+
+ };
+} //end of namespace
+
+#if defined (__ACE_INLINE__)
+#include "Dispatcher_Impl.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /* DISPATCHER_IMPL_H */