Orocos Real-Time Toolkit  2.9.0
FlowStatus.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Peter Soetens Thu Oct 22 11:59:08 CEST 2009 FlowStatus.cpp
3 
4  FlowStatus.cpp - description
5  -------------------
6  begin : Thu October 22 2009
7  copyright : (C) 2009 Peter Soetens
8  email : peter@thesourcworks.com
9 
10  ***************************************************************************
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU General Public *
13  * License as published by the Free Software Foundation; *
14  * version 2 of the License. *
15  * *
16  * As a special exception, you may use this file as part of a free *
17  * software library without restriction. Specifically, if other files *
18  * instantiate templates or use macros or inline functions from this *
19  * file, or you compile this file and link it with other files to *
20  * produce an executable, this file does not by itself cause the *
21  * resulting executable to be covered by the GNU General Public *
22  * License. This exception does not however invalidate any other *
23  * reasons why the executable file might be covered by the GNU General *
24  * Public License. *
25  * *
26  * This library is distributed in the hope that it will be useful, *
27  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
28  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29  * Lesser General Public License for more details. *
30  * *
31  * You should have received a copy of the GNU General Public *
32  * License along with this library; if not, write to the Free Software *
33  * Foundation, Inc., 59 Temple Place, *
34  * Suite 330, Boston, MA 02111-1307 USA *
35  * *
36  ***************************************************************************/
37 
38 
39 #include "FlowStatus.hpp"
40 #include <string>
41 
42 using namespace std;
43 
44 namespace RTT {
45  std::ostream& operator<<(std::ostream& os, FlowStatus fs)
46  {
47  switch (fs) {
48  case NoData:
49  os << "NoData";
50  break;
51  case OldData:
52  os << "OldData";
53  break;
54  case NewData:
55  os << "NewData";
56  break;
57  }
58  return os;
59  }
60 
61  std::istream& operator>>(std::istream& is, FlowStatus& fs)
62  {
63  // default:
64  fs = NoData;
65  std::string s;
66  is >> s;
67  if (s == "OldData")
68  fs = OldData;
69  else if (s == "NewData")
70  fs = NewData;
71 
72  return is;
73  }
74 
75  std::ostream& operator<<(std::ostream& os, WriteStatus fs)
76  {
77  switch (fs) {
78  case WriteSuccess:
79  os << "WriteSuccess";
80  break;
81  case WriteFailure:
82  os << "WriteFailure";
83  break;
84  case NotConnected:
85  os << "NotConnected";
86  break;
87  }
88  return os;
89  }
90 
91  std::istream& operator>>(std::istream& is, WriteStatus& fs)
92  {
93  // default:
94  fs = WriteSuccess;
95  std::string s;
96  is >> s;
97  if (s == "WriteFailure")
98  fs = WriteFailure;
99  else if (s == "NotConnected")
100  fs = NotConnected;
101 
102  return is;
103  }
104 }
FlowStatus
Returns the status of a data flow read operation.
Definition: FlowStatus.hpp:56
STL namespace.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition: Activity.cpp:52
std::ostream & operator<<(std::ostream &, const RTT::internal::SharedConnID &)
WriteStatus
Returns the status of a data flow write operation.
Definition: FlowStatus.hpp:66
std::istream & operator>>(std::istream &is, WriteStatus &fs)
Definition: FlowStatus.cpp:91