00001 /* 00002 * scriptable_analyzer.h 00003 * 00004 * Created on: Oct 17, 2013 00005 * Author: blackpc 00006 */ 00007 00008 #ifndef SCRIPTABLE_ANALYZER_H_ 00009 #define SCRIPTABLE_ANALYZER_H_ 00010 00011 #include <iostream> 00012 #include <ros/ros.h> 00013 #include <diagnostic_aggregator/analyzer.h> 00014 #include <diagnostic_aggregator/status_item.h> 00015 #include <diagnostic_msgs/DiagnosticStatus.h> 00016 #include <pluginlib/class_list_macros.h> 00017 00018 #include <scriptable_monitor/ScriptableMonitorNode.h> 00019 00020 using namespace std; 00021 00022 namespace diagnostic_aggregator { 00023 00024 class ScriptableMonitor : public Analyzer { 00025 public: 00026 ScriptableMonitor(); 00027 virtual ~ScriptableMonitor(); 00028 00029 bool init(const string baseName, const ros::NodeHandle& nodeHandle); 00030 bool match(const string name); 00031 bool analyze(const boost::shared_ptr<StatusItem> item); 00032 vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > report(); 00033 string getPath() const { return "scriptable_monitor"; } 00034 string getName() const { return "Scriptable Monitor"; } 00035 00036 private: 00037 ScriptableMonitorNode* _scriptNode; 00038 }; 00039 00040 } 00041 00042 #endif /* SCRIPTABLE_ANALYZER_H_ */