rogue
Loading...
Searching...
No Matches
Bsp.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_INTERFACE_API_BSP_H__
18#define __ROGUE_INTERFACE_API_BSP_H__
19
20#include <boost/python.hpp>
21#include <memory>
22#include <string>
23#include <vector>
24
25namespace rogue {
26namespace interfaces {
27namespace api {
28
44class Bsp {
45 protected:
46 boost::python::object _obj;
47 bool _isRoot;
48 std::string _name;
49
50 public:
64 static std::shared_ptr<rogue::interfaces::api::Bsp> create(boost::python::object obj);
65
80 static std::shared_ptr<rogue::interfaces::api::Bsp> create(std::string modName, std::string rootClass);
81
91 explicit Bsp(boost::python::object obj);
92
105 Bsp(std::string modName, std::string rootClass);
106
108 ~Bsp();
109
119 void addVarListener(void (*func)(std::string, std::string), void (*done)());
120
127 std::string getAttribute(std::string attribute);
128
135 rogue::interfaces::api::Bsp operator[](std::string name);
136
143 std::shared_ptr<rogue::interfaces::api::Bsp> getNode(std::string name);
144
151 std::string operator()(std::string arg);
152
158 std::string operator()();
159
166 std::string execute(std::string arg);
167
173 std::string execute();
174
180 void set(std::string value);
181
187 void setWrite(std::string value);
188
194 std::string get();
195
201 std::string readGet();
202};
203
205typedef std::shared_ptr<rogue::interfaces::api::Bsp> BspPtr;
206} // namespace api
207} // namespace interfaces
208} // namespace rogue
209
210#endif
C++ convenience wrapper around a PyRogue node object.
Definition Bsp.h:44
std::string _name
Definition Bsp.h:48
std::string execute()
Executes wrapped command node without argument.
Definition Bsp.cpp:139
std::string getAttribute(std::string attribute)
Returns string form of named attribute from wrapped object.
Definition Bsp.cpp:74
boost::python::object _obj
Definition Bsp.h:46
~Bsp()
Destroys wrapper (stops root when wrapper owns root instance).
Definition Bsp.cpp:58
std::shared_ptr< rogue::interfaces::api::Bsp > getNode(std::string name)
Returns shared wrapper for child node using getNode(name).
Definition Bsp.cpp:99
static std::shared_ptr< rogue::interfaces::api::Bsp > create(boost::python::object obj)
Creates a wrapper from an existing Python object.
Definition Bsp.cpp:29
rogue::interfaces::api::Bsp operator[](std::string name)
Returns wrapper for child node using node(name) lookup.
Definition Bsp.cpp:86
void setWrite(std::string value)
Sets wrapped variable value and forces write transaction.
Definition Bsp.cpp:160
void addVarListener(void(*func)(std::string, std::string), void(*done)())
Registers variable listener callbacks on wrapped root.
Definition Bsp.cpp:64
std::string readGet()
Performs read transaction then gets wrapped variable value.
Definition Bsp.cpp:181
std::string get()
Gets wrapped variable value without forcing read transaction.
Definition Bsp.cpp:172
std::string operator()()
Executes wrapped command node without argument.
Definition Bsp.cpp:121
void set(std::string value)
Sets wrapped variable value without forcing write transaction.
Definition Bsp.cpp:148
std::shared_ptr< rogue::interfaces::api::Bsp > BspPtr
Shared pointer alias for Bsp.
Definition Bsp.h:205