AppCore
Loading...
Searching...
No Matches
cardeventidxfilemanager.h
Go to the documentation of this file.
1#ifndef __CARDEVENTIDXFILEMANAGER_H
2#define __CARDEVENTIDXFILEMANAGER_H
4#include "cardevent.h"
5#include <fstream>
6#include <iostream>
7#include <vector>
8#include <map>
9#include <stdint.h>
10#include "appcore/cardevent/EBinaryRecord.h"
11
12#ifdef _WINDOWS
13 #pragma pack( push, 1 )
14#endif
15struct HeadFileIdx
16{
17 char Version;
18 char RecSize;
19 char HeadSize;
20 uint32_t ValidFrom;
21 uint32_t ValidTo;
22 char Type; // 0 = incremental, 1 = full
23}
24#ifdef _WINDOWS
25 #pragma pack(pop)
26#else
27 __attribute__ ((packed))
28#endif
29;
30
31#ifdef _WINDOWS
32 #pragma pack( push, 1 )
33#endif
35{
36 long long SNR;
37 uint32_t OffsetToDat;
38}
39#ifdef _WINDOWS
40 #pragma pack(pop)
41#else
42 __attribute__ ((packed))
43#endif
44;
45
50{
51public:
53
54public:
58
59 unsigned long GetOffsetToDat();
60 void SetOffsetToDat( unsigned long offset );
61 long long GetSNR();
62 void SetSNR( long long SNR );
63 virtual bool operator<( const std::string& key );
65 virtual bool operator>( const std::string& key );
66 virtual bool operator!=( const std::string& key );
67 virtual bool operator==( const std::string& key );
68 virtual unsigned short GetSize();
69 virtual std::string GetKey();
70 virtual void Fill( char *data );
71 virtual unsigned char *GetData();
72 virtual EBinaryRecord *Clone();
73};
74
76{
77public:
80
81 void Init( const char *path );
82 void InitForRead( const char *path );
83 void Init( const char *path, bool createNew );
84 std::list<CardEventIdxFileRecord> FindEvent( long long SNR );
85 void Write( CardEventIdxFileRecord idxFileRecord );
86 void Write( char *data, long size );
87 void ReadFirst( CardEventIdxFileRecord &idxFileRecord );
88 void ReadNext( CardEventIdxFileRecord &idxFileRecord );
89 std::vector<CardEventIdxFileRecordData*>* ReadWholeFile();
90 unsigned long GetValidFrom() const;
91 unsigned long GetValidTo() const;
92 void SetValidFrom( unsigned long from );
93 void SetValidTo( unsigned long to );
94 void SetFileType( char type );// 0 = incremental, 1 = full
95 char GetFileType() const;
96 char GetEventFileVersion() const;
97 long GetEventsCount() const;
98
99 unsigned long GetFileSize() const;
101
102private:
103 class DataClass;
104 DataClass *d;
105};
106
107#endif //__CARDEVENTIDXFILEMANAGER_H
CardEventIdxFileRecord __attribute__
long long SNR
Definition cardeventidxfilemanager.h:0
Definition cardeventidxfilemanager.cpp:10
Definition cardeventidxfilemanager.h:76
void InitForRead(const char *path)
void ReadNext(CardEventIdxFileRecord &idxFileRecord)
char GetFileType() const
void SetFileType(char type)
unsigned long GetValidTo() const
std::vector< CardEventIdxFileRecordData * > * ReadWholeFile()
unsigned long GetValidFrom() const
void Write(CardEventIdxFileRecord idxFileRecord)
void SetValidTo(unsigned long to)
void Init(const char *path)
std::list< CardEventIdxFileRecord > FindEvent(long long SNR)
void Init(const char *path, bool createNew)
long GetEventsCount() const
void SetValidFrom(unsigned long from)
void Write(char *data, long size)
HeadFileIdx GetHeader() const
char GetEventFileVersion() const
unsigned long GetFileSize() const
void ReadFirst(CardEventIdxFileRecord &idxFileRecord)
(Internal) Class for managing .idx part of event file.
Definition cardeventidxfilemanager.h:50
virtual unsigned char * GetData()
unsigned long GetOffsetToDat()
bool operator<(CardEventIdxFileRecord record)
virtual bool operator!=(const std::string &key)
void SetOffsetToDat(unsigned long offset)
virtual bool operator>(const std::string &key)
virtual bool operator<(const std::string &key)
CardEventIdxFileRecord(const CardEventIdxFileRecord &source)
virtual std::string GetKey()
virtual void Fill(char *data)
virtual unsigned short GetSize()
virtual EBinaryRecord * Clone()
virtual bool operator==(const std::string &key)
void SetSNR(long long SNR)
CardEventIdxFileRecordData * d
Definition cardeventidxfilemanager.h:52
(Internal) Interface for abstract record in file.
Definition EBinaryRecord.h:11
Definition cardeventidxfilemanager.h:35
long long SNR
Definition cardeventidxfilemanager.h:36
uint32_t OffsetToDat
Definition cardeventidxfilemanager.h:37
Definition cardeventidxfilemanager.h:16
char Version
Definition cardeventidxfilemanager.h:17
char RecSize
Definition cardeventidxfilemanager.h:18
char HeadSize
Definition cardeventidxfilemanager.h:19
uint32_t ValidFrom
Definition cardeventidxfilemanager.h:20
char Type
Definition cardeventidxfilemanager.h:22
uint32_t ValidTo
Definition cardeventidxfilemanager.h:21