00001 00023 #ifndef SCDS_PSO_TUPLE_H_ 00024 #define SCDS_PSO_TUPLE_H_ 00025 00026 #include <iostream> 00027 #include <vector> 00028 #include <map> 00029 #include <ros/ros.h> 00030 00031 #include "micros_swarm/random.h" 00032 #include "micros_swarm/singleton.h" 00033 #include "micros_swarm/packet_type.h" 00034 #include "micros_swarm/serialize.h" 00035 #include "micros_swarm/runtime_handle.h" 00036 #include "micros_swarm/msg_queue_manager.h" 00037 #include "gsdf_msgs/CommPacket.h" 00038 #include "gsdf_msgs/SCDSPSOGet.h" 00039 #include "gsdf_msgs/SCDSPSOPut.h" 00040 00041 namespace micros_swarm{ 00042 00043 class SCDSPSOTuple{ 00044 public: 00045 SCDSPSOTuple(); 00046 SCDSPSOTuple(const SCDSPSOTuple& t); 00047 SCDSPSOTuple& operator=(const SCDSPSOTuple& t); 00048 ~SCDSPSOTuple(); 00049 void put(const std::string& key, const SCDSPSODataTuple& data); 00050 SCDSPSODataTuple get(const std::string& key); 00051 private: 00052 boost::shared_ptr<RuntimeHandle> rth_; 00053 boost::shared_ptr<MsgQueueManager> mqm_; 00054 }; 00055 } 00056 #endif