pocolog_cpp
IndexFile.hpp
Go to the documentation of this file.
1 #ifndef INDEXFILE_H
2 #define INDEXFILE_H
3 #include <string>
4 #include <vector>
5 #include "LogFile.hpp"
6 
7 namespace pocolog_cpp
8 {
9 class Index;
10 class LogFile;
11 
12 class IndexFile
13 {
14  std::vector<Index *> indices;
15  std::vector<StreamDescription> streams;
16 
17 public:
18 
20  {
22  char magic[8];
23  uint32_t numStreams;
24  static std::string getMagic();
25  } __attribute__((packed));
26 
27  IndexFile(std::string indexFileName, pocolog_cpp::LogFile& logFile);
28 
29  IndexFile(LogFile& logFile);
30  ~IndexFile();
31 
32  bool loadIndexFile(std::string indexFileName, LogFile& logFile);
33  bool createIndexFile(std::string indexFileName, LogFile& logFile);
34 
36 
37  const std::vector< StreamDescription >& getStreamDescriptions() const;
38 };
39 }
40 #endif // INDEXFILE_H
Definition: Index.hpp:15
Definition: IndexFile.hpp:19
bool createIndexFile(std::string indexFileName, LogFile &logFile)
Definition: IndexFile.cpp:119
IndexFile(std::string indexFileName, pocolog_cpp::LogFile &logFile)
Definition: IndexFile.cpp:25
bool loadIndexFile(std::string indexFileName, LogFile &logFile)
Definition: IndexFile.cpp:56
~IndexFile()
Definition: IndexFile.cpp:46
struct pocolog_cpp::IndexFile::IndexFileHeader __attribute__((packed))
Index & getIndexForStream(const StreamDescription &desc)
Definition: IndexFile.cpp:108
Definition: FileStream.hpp:7
Definition: StreamDescription.hpp:13
const std::vector< StreamDescription > & getStreamDescriptions() const
Definition: IndexFile.cpp:226
uint32_t numStreams
Definition: IndexFile.hpp:23
IndexFileHeader()
Definition: IndexFile.cpp:14
static std::string getMagic()
Definition: IndexFile.cpp:19
Definition: IndexFile.hpp:12
Definition: LogFile.hpp:14
char magic[8]
Definition: IndexFile.hpp:22