EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
ShallowIndexRawDataReader.h
1 // -*- c++ -*-
2 
3 #ifndef __SHALLOW_INDEX_RAW_DATA_READER_H__
4 #define __SHALLOW_INDEX_RAW_DATA_READER_H__
5 
6 // tools
7 #include "tools/ToolsConfig.h"
8 #include "tools/AutoPtr.h"
9 
10 // storage
11 #include "storage/DataReader.h"
12 
15 
23 
24 public:
25 
28 
31 
33  virtual const RawValue::Data* find(const std::string& channel_name,
34  const epicsTime* start);
35 
37  virtual const std::string& getName() const;
38 
40  virtual const RawValue::Data* next();
41 
43  virtual const RawValue::Data *get() const;
44 
46  virtual DbrType getType() const;
47 
49  virtual DbrCount getCount() const;
50 
52  virtual const CtrlInfo& getInfo() const;
53 
55  virtual bool changedType();
56 
58  virtual bool changedInfo();
59 
60 private:
61 
63  Index& top_index;
64 
66  AutoPtr<Index::Result> top_result;
67 
69  AutoPtr<RTree::Datablock> top_datablock;
70 
76  AutoPtr<Index> sub_index;
77 
79  AutoPtr<Index::Result> sub_result;
80 
82  AutoPtr<RTree::Datablock> sub_datablock;
83 
87  AutoPtr<DataReader> reader;
88 
93  const RawValue::Data *find(Index &index,
94  AutoPtr<Index::Result> &index_result,
95  AutoPtr<RTree::Datablock> &datablock,
96  const stdString &channel_name,
97  const epicsTime *start);
98 };
99 
101 
102 #endif
unsigned short DbrType
DbrType is used to hold dbr_time_xxx types.
Definition: RawValue.h:24
virtual const CtrlInfo & getInfo() const
Meta-information for values: Units, limits, etc .
Definition: CtrlInfo.h:75
RawDataReader that understands &#39;shallow&#39; indices.
Definition: ShallowIndexRawDataReader.h:22
Reads data from storage.
Definition: DataReader.h:23
virtual DbrType getType() const
virtual const RawValue::Data * next()
Returns the next sample.
virtual const std::string & getName() const
Returns the channel name.
virtual ~ShallowIndexRawDataReader()
Destructor.
unsigned short DbrCount
DbrCount is used to hold the array size of CA channels.
Definition: RawValue.h:27
virtual const RawValue::Data * find(const std::string &channel_name, const epicsTime *start)
Returns a sample of the specified channel.
virtual bool changedInfo()
Checks if info changed.
Base interface for the archiver&#39;s indices.
Definition: Index.h:16
virtual bool changedType()
Checks if type changed.
dbr_time_double Data
Type for accessing the raw data and its common fields.
Definition: RawValue.h:55
virtual DbrCount getCount() const
ShallowIndexRawDataReader(Index &index)
Constructor.