Fawkes API Fawkes Development Version
on_message_waker.h
1
2/***************************************************************************
3 * on_message_waker.h - wake a thread whenever a message is received
4 *
5 * Created: Thu Dec 06 12:05:14 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_MESSAGE_WAKER_H_
25#define _BLACKBOARD_UTILS_ON_MESSAGE_WAKER_H_
26
27#include <blackboard/interface_listener.h>
28
29namespace fawkes {
30
31class Interface;
32class Message;
33class Thread;
34
36{
37public:
38 BlackBoardOnMessageWaker(BlackBoard *bb, Interface *interface, Thread *thread);
40
41 virtual bool bb_interface_message_received(Interface *interface, Message *message) noexcept;
42
43private:
44 BlackBoard *bb_;
45 Thread * thread_;
46};
47
48} // end namespace fawkes
49
50#endif
BlackBoard interface listener.
Wake threads on receiving a blackboard message.
virtual bool bb_interface_message_received(Interface *interface, Message *message) noexcept
BlackBoard message received notification.
virtual ~BlackBoardOnMessageWaker()
Destructor.
BlackBoardOnMessageWaker(BlackBoard *bb, Interface *interface, Thread *thread)
Constructor.
The BlackBoard abstract class.
Definition: blackboard.h:46
Base class for all Fawkes BlackBoard interfaces.
Definition: interface.h:80
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Definition: message.h:44
Thread class encapsulation of pthreads.
Definition: thread.h:46
Fawkes library namespace.