19 #ifndef NAOQI_DRIVER_HPP 20 #define NAOQI_DRIVER_HPP 28 #include <boost/property_tree/ptree.hpp> 29 #include <boost/thread/thread.hpp> 30 #include <boost/thread/mutex.hpp> 31 #include <boost/scoped_ptr.hpp> 36 #include <qi/session.hpp> 72 Driver( qi::SessionPtr session,
const std::string&
prefix );
87 std::string minidump(
const std::string& prefix);
88 std::string minidumpConverters(
const std::string& prefix,
const std::vector<std::string>& names);
90 void setBufferDuration(
float duration);
91 float getBufferDuration();
111 void registerRecorder(
const std::string& conv_name,
recorder::Recorder& rec,
float frequency);
131 bool registerMemoryConverter(
const std::string& key,
float frequency,
const dataType::DataType& type );
142 std::vector<std::string> getAvailableConverters();
147 std::vector<std::string> getSubscribedPublishers()
const;
151 return "A sugar bear";
182 void setMasterURINet(
const std::string& uri,
const std::string& network_interface );
193 void startPublishing();
198 void stopPublishing();
203 void startRecording();
208 void startRecordingConverters(
const std::vector<std::string>& names);
213 std::string stopRecording();
222 void addMemoryConverters(std::string filepath);
224 void parseJsonFile(std::string filepath, boost::property_tree::ptree& pt);
228 std::vector<std::string> getFilesList();
230 void removeAllFiles();
232 void removeFiles(std::vector<std::string> files);
253 void loadBootConfig();
255 void registerDefaultConverter();
256 void registerDefaultSubscriber();
257 void registerDefaultServices();
258 void insertEventConverter(
const std::string& key,
event::Event event);
260 template <
typename T1,
typename T2,
typename T3>
268 registerConverter( mfc, mfp, mfr );
273 boost::scoped_ptr<ros::NodeHandle>
nhPtr_;
279 std::map< std::string, publisher::Publisher >
pub_map_;
280 std::map< std::string, recorder::Recorder >
rec_map_;
282 typedef std::map< std::string, publisher::Publisher>::const_iterator
PubConstIter;
283 typedef std::map< std::string, publisher::Publisher>::iterator
PubIter;
284 typedef std::map< std::string, recorder::Recorder>::const_iterator
RecConstIter;
285 typedef std::map< std::string, recorder::Recorder>::iterator
RecIter;
287 typedef std::map< std::string, event::Event>::iterator
EventIter;
297 schedule_(schedule), conv_index_(conv_index)
Converter concept interface.
std::map< std::string, recorder::Recorder >::iterator RecIter
qi::SessionPtr sessionPtr_
std::vector< converter::Converter > converters_
Recorder concept interface.
static std::string prefix
Subscriber concept interface.
boost::mutex mutex_conv_queue_
std::map< std::string, publisher::Publisher >::iterator PubIter
boost::property_tree::ptree boot_config_
std::vector< subscriber::Subscriber > subscribers_
boost::scoped_ptr< ros::NodeHandle > nhPtr_
boost::thread publisherThread_
Converter concept interface.
Interface for naoqi driver which is registered as a naoqi2 Module, once the external roscore ip is se...
Publisher concept interface.
std::map< std::string, event::Event > event_map_
std::map< std::string, publisher::Publisher >::const_iterator PubConstIter
static std::string getMasterURI()
GlobalRecorder concept interface.
static void setMasterURI(const std::string &uri, const std::string &network_interface)
boost::shared_ptr< tf2_ros::Buffer > tf2_buffer_
boost::shared_ptr< recorder::GlobalRecorder > recorder_
boost::mutex mutex_record_
const robot::Robot & robot_
std::priority_queue< ScheduledConverter > conv_queue_
void _registerMemoryConverter(const std::string &key, float frequency)
std::vector< service::Service > services_
ScheduledConverter(const ros::Time &schedule, size_t conv_index)
std::string _whoIsYourDaddy()
std::map< std::string, event::Event >::const_iterator EventConstIter
std::map< std::string, recorder::Recorder >::const_iterator RecConstIter
boost::mutex mutex_reinit_
std::map< std::string, recorder::Recorder > rec_map_
std::map< std::string, event::Event >::iterator EventIter
Service concept interface.
std::map< std::string, publisher::Publisher > pub_map_