Fawkes API Fawkes Development Version
on_update_waker.h
1
2/***************************************************************************
3 * on_update_waker.h - wake a thread whenever am interface is updated
4 *
5 * Created: Thu Dec 06 14:26:01 2012
6 * Copyright 2012 Tim Niemueller [www.niemueller.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#ifndef _BLACKBOARD_UTILS_ON_UPDATE_WAKER_H_
25#define _BLACKBOARD_UTILS_ON_UPDATE_WAKER_H_
26
27#include <blackboard/interface_listener.h>
28
29namespace fawkes {
30
31class Interface;
32class Thread;
33
35{
36public:
37 BlackBoardOnUpdateWaker(BlackBoard *bb, Interface *interface, Thread *thread);
39
40 virtual void bb_interface_data_refreshed(Interface *interface) noexcept;
41
42private:
43 BlackBoard *bb_;
44 Thread * thread_;
45};
46
47} // end namespace fawkes
48
49#endif
BlackBoard interface listener.
Wake threads when a blackboard interface is updated.
virtual void bb_interface_data_refreshed(Interface *interface) noexcept
BlackBoard data refreshed notification.
BlackBoardOnUpdateWaker(BlackBoard *bb, Interface *interface, Thread *thread)
Constructor.
virtual ~BlackBoardOnUpdateWaker()
Destructor.
The BlackBoard abstract class.
Definition: blackboard.h:46
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:80
Thread class encapsulation of pthreads.
Definition: thread.h:46
Fawkes library namespace.