diff options
author | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-20 00:48:13 +0000 |
---|---|---|
committer | venkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-20 00:48:13 +0000 |
commit | 4c30e6e0c49767baff508c6ffbfc656ad707fa74 (patch) | |
tree | 7463ea7fa55c5fb5b30bb0f90a8e6c970253d2c8 /Kokyu/Dispatcher_Impl.h | |
parent | e661ecf1eb90e5cad12fbfe20f41c57688883f5e (diff) | |
download | ATCD-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.h | 52 |
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 */ |