Teko  Version of the Day
 All Classes Files Functions Variables Pages
Teko_RequestCallback.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Teko: A package for block and physics based preconditioning
4 //
5 // Copyright 2010 NTESS and the Teko contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef __Teko_RequestCallback_hpp__
11 #define __Teko_RequestCallback_hpp__
12 
13 #include "Teko_RequestMesg.hpp"
14 
15 namespace Teko {
16 
22  public:
23  virtual ~RequestCallbackBase() {}
24 
29  virtual bool handlesRequest(const RequestMesg &) = 0;
30 
42  virtual void preRequest(const RequestMesg &) = 0;
43 };
44 
52 template <typename DataT>
54  public:
55  virtual ~RequestCallback() {}
56 
61  virtual DataT request(const RequestMesg &) = 0;
62 
67  virtual bool handlesRequest(const RequestMesg &) = 0;
68 };
69 
70 } // namespace Teko
71 
72 #endif
virtual DataT request(const RequestMesg &)=0
virtual bool handlesRequest(const RequestMesg &)=0
virtual void preRequest(const RequestMesg &)=0
virtual bool handlesRequest(const RequestMesg &)=0