Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

CallbackBase.hpp

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                     _     _   _   _     __     _                     |
00004 |                    | |   | | | \_/ |   /  \   | |                    |
00005 |                    | |   | | | |_| |  / /\ \  | |                    |
00006 |                    | |__ | | | | | | / ____ \ | |__                  |
00007 |                    |____||_| |_| |_|/ /    \ \|____|                 |
00008 |                                                                      |
00009 |                             core library                             |
00010 |                                                                      |
00011 |                                         (C) SUSE Linux Products GmbH |
00012 \----------------------------------------------------------------------/
00013 
00014   File:       CallbackBase.hpp
00015 
00016   Author:     Marius Tomaschewski
00017   Maintainer: Marius Tomaschewski
00018 
00019 /-*/
00027 #ifndef   LIMAL_CALLBACK_BASE_HPP
00028 #define   LIMAL_CALLBACK_BASE_HPP
00029 
00030 #include <limal/config.h>
00031 
00032 
00033 namespace LIMAL_NAMESPACE
00034 {
00035 
00036 // -------------------------------------------------------------------
00143 template <class Request, class Result>
00144 class CallbackBase
00145 {
00146 public:
00150         CallbackBase()
00151         {}
00152 
00156         virtual ~CallbackBase()
00157         {}
00158 
00170         virtual Result *
00171         call(const Request *request)
00172         {
00173                 return callback(request);
00174         }
00175 
00176 protected:
00177 
00190         virtual Result *
00191         callback(const Request *request) = 0;
00192 
00193 private:
00197         CallbackBase(const CallbackBase &);
00198 
00202         CallbackBase & operator = (const CallbackBase &);
00203 };
00204 
00205 
00206 // -------------------------------------------------------------------
00207 }      // End of LIMAL_NAMESPACE
00208 #endif // LIMAL_CALLBACK_BASE_HPP
00209 // vim: set ts=8 sts=8 sw=8 ai noet:

Generated on Tue Sep 13 01:57:18 2005 for limal by  doxygen 1.4.4