nds2-client - ClientUser  0.16.8
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
nds_availability.hh
1 /* -*- mode: C++ ; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 
3 #ifndef SWIG__COMMON__NDS_AVAILABLILITY_HH
4 #define SWIG__COMMON__NDS_AVAILABLILITY_HH
5 
6 #include <algorithm>
7 #include <iterator>
8 #include <memory>
9 #include <string>
10 #include <ostream>
11 #include <vector>
12 
13 #include "nds_export.hh"
14 #include "nds_channel.hh"
15 #include "nds_buffer.hh"
16 
17 namespace NDS
18 {
19  inline namespace abi_0
20  {
37  struct segment
38  {
39  DLL_EXPORT segment( );
40 
41  DLL_EXPORT segment( NDS::buffer::gps_second_type gps_start,
42  NDS::buffer::gps_second_type gps_stop );
43 
44  DLL_EXPORT segment( std::string frame_type,
45  NDS::buffer::gps_second_type gps_start,
46  NDS::buffer::gps_second_type gps_stop );
47 
48  std::string frame_type;
49  NDS::buffer::gps_second_type
51  NDS::buffer::gps_second_type
53  };
54 
59  {
60  typedef NDS::buffer::gps_second_type gps_second_type;
61 
62  DLL_EXPORT simple_segment( );
63 
64  DLL_EXPORT simple_segment( const simple_segment& other );
65 
66  DLL_EXPORT simple_segment( gps_second_type start,
67  gps_second_type stop );
68 
69  DLL_EXPORT simple_segment& operator=( const simple_segment& other );
70 
71  gps_second_type gps_start;
72  gps_second_type gps_stop;
73  };
74 
79  class simple_segment_list_type : public std::vector< simple_segment >
80  {
81  public:
82  };
83 
88  : public std::vector< simple_segment_list_type >
89  {
90  public:
91  };
92 
97  class segment_list_type : public std::vector< segment >
98  {
99  public:
100  };
101 
108  {
109  std::string name;
110 
115 
120  DLL_EXPORT simple_segment_list_type simple_list( ) const;
121  };
122 
126  class availability_list_type : public std::vector< availability >
127  {
128  public:
129  DLL_EXPORT simple_availability_list_type simple_list( ) const;
130  };
131 
132  DLL_EXPORT extern std::ostream& operator<<( std::ostream& os,
133  const segment& obj );
134 
135  DLL_EXPORT std::ostream& operator<<( std::ostream& os,
136  const simple_segment& obj );
137 
138  DLL_EXPORT extern std::ostream&
139  operator<<( std::ostream& os, const simple_segment_list_type& obj );
140 
141  DLL_EXPORT extern std::ostream&
142  operator<<( std::ostream& os,
143  const simple_availability_list_type& obj );
144 
145  DLL_EXPORT extern std::ostream&
146  operator<<( std::ostream& os, const segment_list_type& obj );
147 
148  DLL_EXPORT extern std::ostream& operator<<( std::ostream& os,
149  const availability& obj );
150 
151  DLL_EXPORT extern std::ostream&
152  operator<<( std::ostream& os, const availability_list_type& obj );
153  }
154 }
155 
156 #endif
A list of availabilitys (channels, availability segments)
Definition: nds_availability.hh:126
A list of detailed segments. This does not contain the channel name.
Definition: nds_availability.hh:97
std::string name
The channel name.
Definition: nds_availability.hh:109
A simple [start,stop) range for denoting segments.
Definition: nds_availability.hh:58
std::string frame_type
The ldas supplied frame type.
Definition: nds_availability.hh:48
NDS::buffer::gps_second_type gps_start
The start time for this segment.
Definition: nds_availability.hh:50
An availability segment defines when data is available.
Definition: nds_availability.hh:37
A list of simple segments. This does not contain the channel name.
Definition: nds_availability.hh:79
segment_list_type data
The full availability list, with full frame type information.
Definition: nds_availability.hh:114
A list of simple availability lists.
Definition: nds_availability.hh:87
Availability information for a channel.
Definition: nds_availability.hh:107
DLL_EXPORT simple_segment_list_type simple_list() const
Get a simple time span list of availability.
Definition: nds_availability_internal.cc:11
NDS::buffer::gps_second_type gps_stop
The second after the end time.
Definition: nds_availability.hh:52