nds2-client - ClientAdministrator  0.16.8
 All Functions Typedefs Enumerations Enumerator Groups 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
50  gps_start;
51  NDS::buffer::gps_second_type
52  gps_stop;
53  };
54 
58  struct simple_segment
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 
87  class simple_availability_list_type
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 
107  struct availability
108  {
109  std::string name;
110 
114  segment_list_type data;
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