RTI Routing Service Version 7.6.0
ReadProxy.h
1/*
2 * (c) Copyright, Real-Time Innovations, 2017.
3 * All rights reserved.
4 *
5 * No duplications, whole or partial, manual or electronic, may be made
6 * without express written permission. Any such copies, or
7 * revisions thereof, must display this notice unaltered.
8 * This code contains trade secrets of Real-Time Innovations, Inc.
9 */
10
11#ifndef RTI_ROUTING_ADAPTER_DETAIL_READ_PROXY_HPP_
12#define RTI_ROUTING_ADAPTER_DETAIL_READ_PROXY_HPP_
13
14#include <rti/routing/adapter/StreamReader.hpp>
15
16namespace rti { namespace routing { namespace adapter { namespace detail {
17
18
19struct TakeProxy {
20
21 TakeProxy (StreamReader& stream_reader)
22 : stream_reader_(stream_reader)
23 {
24
25 }
26
27 void operator() (
28 std::vector<rti::routing::adapter::StreamReader::SamplePtr>& sample_seq,
29 std::vector<rti::routing::adapter::StreamReader::InfoPtr>& info_seq)
30 {
31 stream_reader_.take(sample_seq, info_seq);
32 }
33
34private:
35 StreamReader& stream_reader_;
36};
37
38struct ReadProxy {
39
40 ReadProxy (StreamReader& stream_reader)
41 : stream_reader_(stream_reader)
42 {
43
44 }
45
46 void operator() (
47 std::vector<rti::routing::adapter::StreamReader::SamplePtr>& sample_seq,
48 std::vector<rti::routing::adapter::StreamReader::InfoPtr>& info_seq)
49 {
50 stream_reader_.read(sample_seq, info_seq);
51 }
52
53private:
54 StreamReader& stream_reader_;
55};
56
57struct TakeSelectorProxy {
58
59 TakeSelectorProxy(
60 StreamReader& stream_reader,
62 : stream_reader_(stream_reader), state_(state)
63 {
64
65 }
66
67 void operator() (
68 std::vector<rti::routing::adapter::StreamReader::SamplePtr>& sample_seq,
69 std::vector<rti::routing::adapter::StreamReader::InfoPtr>& info_seq)
70 {
71 stream_reader_.take(sample_seq, info_seq, state_);
72 }
73
74private:
75 StreamReader& stream_reader_;
77};
78
79struct ReadSelectorProxy {
80
81 ReadSelectorProxy (
82 StreamReader& stream_reader,
84 : stream_reader_(stream_reader), state_(state)
85 {
86
87 }
88
89 void operator() (
90 std::vector<rti::routing::adapter::StreamReader::SamplePtr>& sample_seq,
91 std::vector<rti::routing::adapter::StreamReader::InfoPtr>& info_seq)
92 {
93 stream_reader_.read(sample_seq, info_seq, state_);
94 }
95
96private:
97 StreamReader& stream_reader_;
99};
100
101
102} } } }
103
104
105#endif /* RTI_ROUTING_ADAPTER_DETAIL_READ_PROXY_HPP_ */
106
Defines a set of attributes that can be used to read a subset of data from StreamReader.
Definition: StreamReader.hpp:547