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_DECLARE_CLASS(test_diagnostic_aggregator,
00046 MatchNoAnalyzeAnalyzer,
00047 test_diagnostic_aggregator::MatchNoAnalyzeAnalyzer,
00048 diagnostic_aggregator::Analyzer)
00049
00050 MatchNoAnalyzeAnalyzer::MatchNoAnalyzeAnalyzer() :
00051 path_(""),
00052 nice_name_(""),
00053 my_item_name_(""),
00054 has_initialized_(false)
00055 { }
00056
00057 MatchNoAnalyzeAnalyzer::~MatchNoAnalyzeAnalyzer() { }
00058
00059
00060 bool MatchNoAnalyzeAnalyzer::init(const string base_name, const ros::NodeHandle &n)
00061 {
00062 if (!n.getParam("path", nice_name_))
00063 {
00064 ROS_ERROR("No power board name was specified in MatchNoAnalyzeAnalyzer! Power board must be \"Power board 10XX\". Namespace: %s", n.getNamespace().c_str());
00065 return false;
00066 }
00067
00068
00069 if (base_name == "/")
00070 path_ = base_name + nice_name_;
00071 else
00072 path_ = base_name + "/" + nice_name_;
00073
00074 if (!n.getParam("my_item", my_item_name_))
00075 {
00076 ROS_ERROR("No parameter \"my_item\" found. Unable to initialize MatchNoAnalyzeAnalyzer!");
00077 return false;
00078 }
00079
00080 has_initialized_ = true;
00081
00082 return true;
00083 }
00084
00085
00086 bool MatchNoAnalyzeAnalyzer::match(const std::string name)
00087 {
00088 return has_initialized_ && name == my_item_name_;
00089 }
00090
00091 bool MatchNoAnalyzeAnalyzer::analyze(const boost::shared_ptr<StatusItem> item)
00092 {
00093 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());
00094
00095 return false;
00096 }
00097
00098 vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > MatchNoAnalyzeAnalyzer::report()
00099 {
00100 vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > output;
00101
00102 return output;
00103 }