log_utils.cpp
Go to the documentation of this file.
00001 // -*- mode: c++ -*-
00002 /*********************************************************************
00003  * Software License Agreement (BSD License)
00004  *
00005  *  Copyright (c) 2015, JSK Lab
00006  *  All rights reserved.
00007  *
00008  *  Redistribution and use in source and binary forms, with or without
00009  *  modification, are permitted provided that the following conditions
00010  *  are met:
00011  *
00012  *   * Redistributions of source code must retain the above copyright
00013  *     notice, this list of conditions and the following disclaimer.
00014  *   * Redistributions in binary form must reproduce the above
00015  *     copyright notice, this list of conditions and the following
00016  *     disclaimer in the documentation and/o2r other materials provided
00017  *     with the distribution.
00018  *   * Neither the name of the JSK Lab nor the names of its
00019  *     contributors may be used to endorse or promote products derived
00020  *     from this software without specific prior written permission.
00021  *
00022  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00023  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00024  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00025  *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00026  *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00027  *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00028  *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00029  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00030  *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00031  *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00032  *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00033  *  POSSIBILITY OF SUCH DAMAGE.
00034  *********************************************************************/
00035 
00036 #include <string>
00037 #include <vector>
00038 #include "jsk_topic_tools/log_utils.h"
00039 
00040 
00041 namespace jsk_topic_tools
00042 {
00043 
00044   bool warnNoRemap(const std::vector<std::string> names)
00045   {
00046     bool no_warning = true;
00047     ros::M_string remappings = ros::names::getRemappings();
00048     for (size_t i = 0; i < names.size(); i++)
00049     {
00050       std::string resolved_name = ros::names::resolve(/*name=*/names[i],
00051                                                       /*_remap=*/false);
00052       if (remappings.find(resolved_name) == remappings.end())
00053       {
00054         ROS_WARN("[%s] '%s' has not been remapped.",
00055                  ros::this_node::getName().c_str(), names[i].c_str());
00056         no_warning = false;
00057       }
00058     }
00059     return no_warning;
00060   }
00061 
00062   const std::string getFunctionName(const std::string &name)
00063   {
00064       size_t end = name.rfind('(');
00065       if(end == std::string::npos)
00066       {
00067           end = name.size();
00068       }
00069       size_t begin = 1 + name.rfind(' ', end);
00070       return name.substr(begin, end - begin);
00071   }
00072 
00073 }  // namespace jsk_topic_tools


jsk_topic_tools
Author(s): Kei Okada , Yusuke Furuta
autogenerated on Fri Sep 8 2017 03:38:56