terminal_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__TERMINAL_STATE_H_
36 #define ACTIONLIB__CLIENT__TERMINAL_STATE_H_
37 
38 #include <string>
39 
40 namespace actionlib
41 {
42 
44 {
45 public:
46  enum StateEnum
47  {
54  };
55 
56  TerminalState(const StateEnum & state, const std::string & text = std::string(""))
57  : state_(state), text_(text) {}
58 
59  inline bool operator==(const TerminalState & rhs) const
60  {
61  return state_ == rhs.state_;
62  }
63 
64  inline bool operator==(const TerminalState::StateEnum & rhs) const
65  {
66  return state_ == rhs;
67  }
68 
69  inline bool operator!=(const TerminalState::StateEnum & rhs) const
70  {
71  return !(*this == rhs);
72  }
73 
74  inline bool operator!=(const TerminalState & rhs) const
75  {
76  return !(*this == rhs);
77  }
78 
79  std::string getText() const
80  {
81  return text_;
82  }
83 
84  std::string toString() const
85  {
86  switch (state_) {
87  case RECALLED:
88  return "RECALLED";
89  case REJECTED:
90  return "REJECTED";
91  case PREEMPTED:
92  return "PREEMPTED";
93  case ABORTED:
94  return "ABORTED";
95  case SUCCEEDED:
96  return "SUCCEEDED";
97  case LOST:
98  return "LOST";
99 
100  default:
101  ROS_ERROR_NAMED("actionlib", "BUG: Unhandled TerminalState: %u", state_);
102  break;
103  }
104  return "BUG-UNKNOWN";
105  }
106 
108  std::string text_;
109 
110 private:
111  TerminalState();
112 };
113 
114 } // namespace actionlib
115 
116 #endif // ACTIONLIB__CLIENT__TERMINAL_STATE_H_
bool operator==(const TerminalState &rhs) const
std::string getText() const
bool operator==(const TerminalState::StateEnum &rhs) const
TerminalState(const StateEnum &state, const std::string &text=std::string(""))
bool operator!=(const TerminalState::StateEnum &rhs) const
#define ROS_ERROR_NAMED(name,...)
bool operator!=(const TerminalState &rhs) const
std::string toString() const


actionlib
Author(s): Eitan Marder-Eppstein, Vijay Pradeep
autogenerated on Thu May 24 2018 02:39:31