11 #ifndef HPP_RTI_RECORDING_STORAGE_STREAMREADER_HPP_
12 #define HPP_RTI_RECORDING_STORAGE_STREAMREADER_HPP_
16 #include "dds/dds.hpp"
18 #include "rti/routing/detail/ForwarderUtils.hpp"
20 #include "rti/recording/storage/SelectorState.hpp"
23 namespace rti {
namespace recording {
namespace storage {
34 typedef void* SamplePtr;
35 typedef void* InfoPtr;
68 std::vector<SamplePtr>& sample_seq,
69 std::vector<InfoPtr>& info_seq,
86 std::vector<SamplePtr>& sample_seq,
87 std::vector<InfoPtr>& info_seq) = 0;
104 virtual void reset() = 0;
115 template <
typename Data,
typename Info>
136 std::vector<SamplePtr>& sample_seq,
137 std::vector<InfoPtr>& info_seq,
140 read(sample_seq_, info_seq_, selector);
141 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(sample_seq, sample_seq_);
142 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(info_seq, info_seq_);
150 std::vector<SamplePtr>& sample_seq,
151 std::vector<InfoPtr>& info_seq) RTI_FINAL
153 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(sample_seq_, sample_seq);
154 RTI_ROUTING_SAMPLE_VECTOR_COPY_PTRS(info_seq_, info_seq);
161 std::vector<Data *>& sample_seq,
162 std::vector<Info *>& info_seq,
166 std::vector<Data *>& sample_seq,
167 std::vector<Info *>& info_seq) = 0;
176 std::vector<Data*> sample_seq_;
177 std::vector<Info*> info_seq_;
185 typedef TStorageStreamReader<
186 dds::core::xtypes::DynamicData,