image_publisher.cpp
Go to the documentation of this file.
1 /*********************************************************************
2 * Software License Agreement (BSD License)
3 *
4 * Copyright (c) 2008, Willow Garage, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
17 * * Neither the name of the Willow Garage nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *********************************************************************/
34 #include <ros/ros.h>
35 #include <nodelet/loader.h>
36 
37 int main(int argc, char **argv)
38 {
39  ros::init(argc, argv, "image_publisher", ros::init_options::AnonymousName);
40 
41  if (!ros::param::has("~filename")) {
42  if (argc <= 1) {
43  ROS_ERROR("image_publisher requires filename. Typical command-line usage:\n"
44  "\t$ rosrun image_publisher image_publisher <filename>");
45  return 1;
46  }
47 
48  ros::param::set("~filename", argv[1]);
49  }
50 
51  nodelet::Loader manager(false);
52  nodelet::M_string remappings;
53  nodelet::V_string my_argv(argv + 1, argv + argc);
54  my_argv.push_back("--shutdown-on-close"); // Internal
55 
56  manager.load(ros::this_node::getName(), "image_publisher/image_publisher", remappings, my_argv);
57 
58  ros::spin();
59  return 0;
60 }
ros::init_options::AnonymousName
AnonymousName
nodelet::V_string
std::vector< std::string > V_string
nodelet::M_string
std::map< std::string, std::string > M_string
loader.h
ros::init
ROSCPP_DECL void init(const M_string &remappings, const std::string &name, uint32_t options=0)
ros.h
nodelet::Loader
nodelet::Loader::load
bool load(const std::string &name, const std::string &type, const M_string &remappings, const V_string &my_argv)
main
int main(int argc, char **argv)
Definition: image_publisher.cpp:37
ros::param::set
ROSCPP_DECL void set(const std::string &key, bool b)
ros::this_node::getName
const ROSCPP_DECL std::string & getName()
ROS_ERROR
#define ROS_ERROR(...)
ros::spin
ROSCPP_DECL void spin()
ros::param::has
ROSCPP_DECL bool has(const std::string &key)


image_publisher
Author(s): Kei Okada
autogenerated on Wed Jan 24 2024 03:57:19