nds2-client - User 0.16.7
Loading...
Searching...
No Matches
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
17namespace 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,
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:127
A list of detailed segments. This does not contain the channel name.
Definition nds_availability.hh:98
A list of simple availability lists.
Definition nds_availability.hh:89
A list of simple segments. This does not contain the channel name.
Definition nds_availability.hh:80
The NDS client namespace.
Definition debug_stream.cc:18
Availability information for a channel.
Definition nds_availability.hh:108
DLL_EXPORT simple_segment_list_type simple_list() const
Get a simple time span list of availability.
Definition nds_availability_internal.cc:11
std::string name
The channel name.
Definition nds_availability.hh:109
segment_list_type data
The full availability list, with full frame type information.
Definition nds_availability.hh:114
An availability segment defines when data is available.
Definition nds_availability.hh:38
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
NDS::buffer::gps_second_type gps_stop
The second after the end time.
Definition nds_availability.hh:52
A simple [start,stop) range for denoting segments.
Definition nds_availability.hh:59