Fawkes API Fawkes Development Version
thread_collector.h
1
2/***************************************************************************
3 * thread_collector.h - Fawkes thread collector interface
4 * based on previous ThreadManager
5 *
6 * Created: Thu Jan 11 17:53:44 2007
7 * Copyright 2006-2007 Tim Niemueller [www.niemueller.de]
8 *
9 ****************************************************************************/
10
11/* This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version. A runtime exception applies to
15 * this software (see LICENSE.GPL_WRE file mentioned below for details).
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU Library General Public License for more details.
21 *
22 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
23 */
24
25#ifndef _CORE_THREADING_THREAD_COLLECTOR_H_
26#define _CORE_THREADING_THREAD_COLLECTOR_H_
27
28namespace fawkes {
29
30class Thread;
31class ThreadList;
32
34{
35public:
36 virtual ~ThreadCollector();
37
38 virtual void add(ThreadList &tl) = 0;
39 virtual void add(Thread *t) = 0;
40
41 virtual void remove(ThreadList &tl) = 0;
42 virtual void remove(Thread *t) = 0;
43
44 virtual void force_remove(fawkes::ThreadList &tl) = 0;
45 virtual void force_remove(fawkes::Thread *t) = 0;
46};
47
48} // end namespace fawkes
49
50#endif
virtual void add(Thread *t)=0
Add single thread.
virtual void force_remove(fawkes::ThreadList &tl)=0
Force removal of multiple threads.
virtual void add(ThreadList &tl)=0
Add multiple threads.
virtual ~ThreadCollector()
Empty virtual destructor.
virtual void remove(Thread *t)=0
Remove single thread.
virtual void force_remove(fawkes::Thread *t)=0
Force removal of a single thread.
virtual void remove(ThreadList &tl)=0
Remove multiple threads.
List of threads.
Definition: thread_list.h:56
Thread class encapsulation of pthreads.
Definition: thread.h:46
Fawkes library namespace.