Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00039 #include "test_diagnostic_aggregator/match_no_analyze_analyzer.h"
00040
00041 using namespace diagnostic_aggregator;
00042 using namespace test_diagnostic_aggregator;
00043 using namespace std;
00044
00045 PLUGINLIB_EXPORT_CLASS(test_diagnostic_aggregator::MatchNoAnalyzeAnalyzer,
00046 diagnostic_aggregator::Analyzer)
00047
00048 MatchNoAnalyzeAnalyzer::MatchNoAnalyzeAnalyzer() :
00049 path_(""),
00050 nice_name_(""),
00051 my_item_name_(""),
00052 has_initialized_(false)
00053 { }
00054
00055 MatchNoAnalyzeAnalyzer::~MatchNoAnalyzeAnalyzer() { }
00056
00057
00058 bool MatchNoAnalyzeAnalyzer::init(const string base_name, const ros::NodeHandle &n)
00059 {
00060 if (!n.getParam("path", nice_name_))
00061 {
00062 ROS_ERROR("No power board name was specified in MatchNoAnalyzeAnalyzer! Power board must be \"Power board 10XX\". Namespace: %s", n.getNamespace().c_str());
00063 return false;
00064 }
00065
00066
00067 if (base_name == "/")
00068 path_ = base_name + nice_name_;
00069 else
00070 path_ = base_name + "/" + nice_name_;
00071
00072 if (!n.getParam("my_item", my_item_name_))
00073 {
00074 ROS_ERROR("No parameter \"my_item\" found. Unable to initialize MatchNoAnalyzeAnalyzer!");
00075 return false;
00076 }
00077
00078 has_initialized_ = true;
00079
00080 return true;
00081 }
00082
00083
00084 bool MatchNoAnalyzeAnalyzer::match(const std::string name)
00085 {
00086 return has_initialized_ && name == my_item_name_;
00087 }
00088
00089 bool MatchNoAnalyzeAnalyzer::analyze(const boost::shared_ptr<StatusItem> item)
00090 {
00091 ROS_ASSERT_MSG(item->getName() == my_item_name_, "Asked to analyze item that wasn't mine! My name: %s, item: %s", my_item_name_.c_str(), item->getName().c_str());
00092
00093 return false;
00094 }
00095
00096 vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > MatchNoAnalyzeAnalyzer::report()
00097 {
00098 vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > output;
00099
00100 return output;
00101 }