EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
RawDataReaderRegistry.h
1 #ifndef __EA4_STORAGE_RAW_DATA_READER_REGISTRY_H
2 #define __EA4_STORAGE_RAW_DATA_READER_REGISTRY_H
3 
4 #include "storage/RawDataReader.h"
5 
6 namespace ea4 { namespace storage {
7 
12 
13  public:
14 
16  virtual DataReader*
17  createReader(Index &index, RawDataReader::PrvData* prvData) = 0;
18 
19 };
20 
23 
24  public:
25 
28 
30  void setFactory(const std::string& ext, RawDataReaderFactory* factory);
31 
33  RawDataReaderFactory* getFactory(const std::string& filename);
34 
35  private:
36 
39 
40  private:
41 
42  static RawDataReaderRegistry* theInstance;
43 
44  std::map<std::string, RawDataReaderFactory*> factories;
45 
46 };
47 
48 }}
49 
50 #endif
RawDataReaderFactory * getFactory(const std::string &filename)
Returns a factory for the specified file.
Reads data from storage.
Definition: DataReader.h:23
void setFactory(const std::string &ext, RawDataReaderFactory *factory)
Registers a factory with the specified file extension.
static RawDataReaderRegistry * getInstance()
Returns singleteton.
Private Data of RawDataReader.
Definition: RawDataReader.h:63
Base interface for the archiver&#39;s indices.
Definition: Index.h:16
Registry the format-specific factories.
Definition: RawDataReaderRegistry.h:22
Basic class of the format-specific factories of RawDataReaders.
Definition: RawDataReaderRegistry.h:11
virtual DataReader * createReader(Index &index, RawDataReader::PrvData *prvData)=0
factory method