libcamgm
CallbackBase.hpp
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | |
3 | _ _ _ _ __ _ |
4 | | | | | | \_/ | / \ | | |
5 | | | | | | |_| | / /\ \ | | |
6 | | |__ | | | | | | / ____ \ | |__ |
7 | |____||_| |_| |_|/ / \ \|____| |
8 | |
9 | core library |
10 | |
11 | (C) SUSE Linux Products GmbH |
12 \----------------------------------------------------------------------/
13 
14  File: CallbackBase.hpp
15 
16  Author: Marius Tomaschewski
17  Maintainer: Marius Tomaschewski
18 
19 /-*/
27 #ifndef CA_MGM_CALLBACK_BASE_HPP
28 #define CA_MGM_CALLBACK_BASE_HPP
29 
30 #include <ca-mgm/config.h>
31 
32 
33 namespace CA_MGM_NAMESPACE
34 {
35 
36 // -------------------------------------------------------------------
143 template <class Request, class Result>
145 {
146 public:
151  {}
152 
156  virtual ~CallbackBase()
157  {}
158 
170  virtual Result *
171  call(const Request *request)
172  {
173  return callback(request);
174  }
175 
176 protected:
177 
190  virtual Result *
191  callback(const Request *request) = 0;
192 
193 private:
197  CallbackBase(const CallbackBase &);
198 
202  CallbackBase & operator = (const CallbackBase &);
203 };
204 
205 
206 // -------------------------------------------------------------------
207 } // End of CA_MGM_NAMESPACE
208 #endif // CA_MGM_CALLBACK_BASE_HPP
209 // vim: set ts=8 sts=8 sw=8 ai noet:
LiMaL callback interface base class.
Definition: CallbackBase.hpp:144
virtual Result * call(const Request *request)
Definition: CallbackBase.hpp:171
virtual ~CallbackBase()
Definition: CallbackBase.hpp:156
CallbackBase()
Definition: CallbackBase.hpp:150