Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
multi_copy.h
1 
2 /***************************************************************************
3  * multi_copy.h - Fawkes WorldModel Multi Interface Copy Fuser
4  *
5  * Created: Tue Jan 13 11:49:20 2009
6  * Copyright 2006-2009 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_WORLDMODEL_FUSER_MULTI_COPY_H_
24 #define __PLUGINS_WORLDMODEL_FUSER_MULTI_COPY_H_
25 
26 #include "fuser.h"
27 
28 #include <blackboard/interface_observer.h>
29 #include <core/utils/lock_map.h>
30 #include <string>
31 
32 namespace fawkes
33 {
34  class BlackBoard;
35  class Interface;
36 }
37 
39 : public WorldModelFuser,
41 {
42  public:
43  WorldModelMultiCopyFuser(fawkes::BlackBoard *blackboard, const char *type,
44  const char *from_id_pattern, const char *to_id_format);
46 
47 
48  virtual void fuse();
49 
50  virtual void bb_interface_created(const char *type, const char *id) throw();
51 
52  private:
53  fawkes::BlackBoard *__blackboard;
54 
55  std::string __from_id_pattern;
56  std::string __to_id_format;
57 
60 };
61 
62 
63 #endif
Multi interface copy fuser.
Definition: multi_copy.h:38
~WorldModelMultiCopyFuser()
Destructor.
Definition: multi_copy.cpp:104
virtual void fuse()
The single function that makes fusers work.
Definition: multi_copy.cpp:155
BlackBoard interface observer.
virtual void bb_interface_created(const char *type, const char *id)
BlackBoard interface created notification.
Definition: multi_copy.cpp:119
The BlackBoard abstract class.
Definition: blackboard.h:49
Interface for data fusers for the world model.
Definition: fuser.h:26
WorldModelMultiCopyFuser(fawkes::BlackBoard *blackboard, const char *type, const char *from_id_pattern, const char *to_id_format)
Constructor.
Definition: multi_copy.cpp:56