simple_goal_state.h
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 
35 #ifndef ACTIONLIB__CLIENT__SIMPLE_GOAL_STATE_H_
36 #define ACTIONLIB__CLIENT__SIMPLE_GOAL_STATE_H_
37 
38 #include <string>
39 #include "ros/console.h"
40 
41 namespace actionlib
42 {
43 
49 {
50 public:
52  enum StateEnum
53  {
57  };
58 
59  SimpleGoalState(const StateEnum & state)
60  : state_(state) {}
61 
62  inline bool operator==(const SimpleGoalState & rhs) const
63  {
64  return state_ == rhs.state_;
65  }
66 
67  inline bool operator==(const SimpleGoalState::StateEnum & rhs) const
68  {
69  return state_ == rhs;
70  }
71 
72  inline bool operator!=(const SimpleGoalState::StateEnum & rhs) const
73  {
74  return !(*this == rhs);
75  }
76 
77  inline bool operator!=(const SimpleGoalState & rhs) const
78  {
79  return !(*this == rhs);
80  }
81 
82  std::string toString() const
83  {
84  switch (state_) {
85  case PENDING:
86  return "PENDING";
87  case ACTIVE:
88  return "ACTIVE";
89  case DONE:
90  return "DONE";
91  default:
92  ROS_ERROR_NAMED("actionlib", "BUG: Unhandled SimpleGoalState: %u", state_);
93  break;
94  }
95  return "BUG-UNKNOWN";
96  }
97 
99 
100 private:
101  SimpleGoalState();
102 };
103 
104 } // namespace actionlib
105 
106 #endif // ACTIONLIB__CLIENT__SIMPLE_GOAL_STATE_H_
SimpleGoalState(const StateEnum &state)
StateEnum
Defines the various states the SimpleGoalState can be in.
bool operator==(const SimpleGoalState &rhs) const
Thin wrapper around an enum in order providing a simplified version of the communication state...
std::string toString() const
bool operator!=(const SimpleGoalState::StateEnum &rhs) const
#define ROS_ERROR_NAMED(name,...)
bool operator==(const SimpleGoalState::StateEnum &rhs) const
bool operator!=(const SimpleGoalState &rhs) const


actionlib
Author(s): Eitan Marder-Eppstein, Vijay Pradeep, Mikael Arguedas
autogenerated on Mon Feb 28 2022 21:34:38