00001 #ifndef _MRTA_TAXONOMY_H_ 00002 #define _MRTA_TAXONOMY_H_ 00003 00004 #include <QString> 00005 #include <ros/console.h> 00006 00007 namespace mrta 00008 { 00009 class Architecture; 00010 class Taxonomy 00011 { 00012 public: 00013 enum AllocationType 00014 { 00015 UnknownAllocationType, 00016 InstantaneousAssignment, 00017 TimeExtendedAssignment 00018 }; 00019 enum RobotType 00020 { 00021 UnknownRobotType, 00022 SingleTask, 00023 MultiTask 00024 }; 00025 enum TaskType 00026 { 00027 UnknownTaskType, 00028 SingleRobot, 00029 MultiRobot 00030 }; 00031 static AllocationType getAllocationType(const QString& type); 00032 static RobotType getRobotType(const QString& type); 00033 static TaskType getTaskType(const QString& type); 00034 static QString toQString(const AllocationType& type); 00035 static QString toQString(const RobotType& type); 00036 static QString toQString(const TaskType& type); 00037 static QString toQString(const Architecture& architecture); 00038 static std::string toString(const AllocationType& type); 00039 static std::string toString(const RobotType& type); 00040 static std::string toString(const TaskType& type); 00041 static std::string toString(const Architecture& architecture); 00042 static const char* toCString(const AllocationType& type); 00043 static const char* toCString(const RobotType& type); 00044 static const char* toCString(const TaskType& type); 00045 static const char* toCString(const Architecture& architecture); 00046 }; 00047 } 00048 00049 #endif // _MRTA_TAXONOMY_H_