1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright (C) 2000 Michael Day
4 
5 #ifndef ATLAS_TASK_H
6 #define ATLAS_TASK_H
7 
8 namespace Atlas {
9 
10 /** Atlas task
11 
12 A task can be polled. Currently, Codecs and Negotiates are both Tasks. This is
13 a rather minimal interface and may perhaps fade away.
14 
15 @see Codec
16 @see Negotiate
17 */
18 
19 class Task
20 {
21     public:
22     virtual ~Task();
23 
24     virtual void poll(bool can_get = true) = 0;
25 };
26 
27 } // Atlas namespace
28 
29 #endif
30