Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
inspectableproxy.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005-2011 LpzRobots development team *
3  * Georg Martius <georg dot martius at web dot de> *
4  * Frank Guettler <guettler at informatik dot uni-leipzig dot de *
5  * Frank Hesse <frank at nld dot ds dot mpg dot de> *
6  * Ralf Der <ralfder at mis dot mpg dot de> *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the *
20  * Free Software Foundation, Inc., *
21  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
22  * *
23  ***************************************************************************/
24 
25 #ifndef INSPECTABLEPROXY_H_
26 #define INSPECTABLEPROXY_H_
27 
28 //includes
29 #include <list>
30 #include "inspectable.h"
31 
32 /**
33  * This class is a proxy for the inspectable class. It "divides" the inspectable interface from the inspected object
34  */
35 class InspectableProxy : public Inspectable {
36 public:
37  /**
38  * constructor
39  * Takes a list of Inspectables for which the proxy stands.
40  * Attention: The inspectables must have registered
41  * all their variables already!
42  * @param list (list<Inspectable*>&) the list
43  */
44  InspectableProxy(const std::list<Inspectable*>& list, const iparamkey& name = "InspectableProxy");
45 
46  /**
47  * default destructor
48  */
49  virtual ~InspectableProxy();
50 
51  /**
52  * this function is for replacing the old list
53  * @param list (list<Inspectable*>& the new list
54  * @return (bool) true if it successful
55  */
56  bool replaceList(const std::list<Inspectable*>& list);
57 
58 private:
59  /**
60  * the saved list of the Inspectable where the proxy stand for.
61  */
62  //std::list<Inspectable*> m_list;
63 
64  /**
65  * disable the default constructor
66  * @return
67  */
68  InspectableProxy(const iparamkey& name = "InspectableProxy");
69 };
70 
71 #endif /* INSPECTABLEPROXY_H_ */
iparamkey name
Definition: inspectable.h:251
std::string iparamkey
Definition: inspectable.h:53
virtual ~InspectableProxy()
default destructor
Definition: inspectableproxy.cpp:50
bool replaceList(const std::list< Inspectable * > &list)
this function is for replacing the old list
Definition: inspectableproxy.cpp:64
InspectableProxy(const std::list< Inspectable * > &list, const iparamkey &name="InspectableProxy")
constructor Takes a list of Inspectables for which the proxy stands.
Definition: inspectableproxy.cpp:32
Interface for inspectable objects.
Definition: inspectable.h:48
This class is a proxy for the inspectable class.
Definition: inspectableproxy.h:35