Fawkes API Fawkes Development Version
skel_if_observer.h
1
2/***************************************************************************
3 * skel_if_observer.h - Skeleton interface observer
4 *
5 * Created: Sat Apr 02 18:14:37 2011 (RoboCup German Open 2011, Magdeburg)
6 * Copyright 2006-2011 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.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Library General Public License for more details.
19 *
20 * Read the full text in the LICENSE.GPL file in the doc directory.
21 */
22
23#ifndef _PLUGINS_OPENNI_UTILS_SKEL_IF_OBSERVER_H_
24#define _PLUGINS_OPENNI_UTILS_SKEL_IF_OBSERVER_H_
25
26#include <blackboard/interface_observer.h>
27#include <plugins/openni/utils/types.h>
28
29#include <queue>
30#include <string>
31
32namespace fawkes {
33class BlackBoard;
34class Mutex;
35
36namespace openni {
37
39{
40public:
41 SkelIfObserver(BlackBoard *bb, UserMap &users);
43
44 virtual void bb_interface_created(const char *type, const char *id) noexcept;
45
46 void process_queue();
47
48private:
49 UserMap & users_;
50 BlackBoard * bb_;
51 Mutex * queue_lock_;
52 unsigned int active_queue_;
53 std::queue<std::string> queues_[2];
54};
55
56} // namespace openni
57} // end namespace fawkes
58
59#endif
BlackBoard interface observer.
The BlackBoard abstract class.
Definition: blackboard.h:46
Mutex mutual exclusion lock.
Definition: mutex.h:33
Skeleton interface observer.
virtual void bb_interface_created(const char *type, const char *id) noexcept
BlackBoard interface created notification.
SkelIfObserver(BlackBoard *bb, UserMap &users)
Constructor.
void process_queue()
Process internal queue.
Fawkes library namespace.