1 /*
2 ** Copyright 2011-2013 Centreon
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 **     http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 **
16 ** For more information : contact@centreon.com
17 */
18 
19 #ifndef CC_TASK_HH
20 #define CC_TASK_HH
21 
22 #include "com/centreon/namespace.hh"
23 
24 CC_BEGIN()
25 
26 /**
27  *  @class task task.hh "com/centreon/task.hh"
28  *  @brief Base for all task objects.
29  *
30  *  This class is an interface for piece of code to needs to be
31  *  manage by the task manager.
32  */
33 class task {
34  public:
35   task() = default;
36   task(task const& t) = delete;
37   virtual ~task() = default;
38   task& operator=(task const& t) = delete;
39   virtual void run() = 0;
40 };
41 
42 CC_END()
43 
44 #endif  // !CC_TASK_HH
45