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
16{
17 char Version;
18 char RecSize;
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 );
64 bool operator<( CardEventIdxFileRecord record );
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;
100 HeadFileIdx GetHeader() const;
101
102private:
103 class DataClass;
104 DataClass *d;
105};
106
107#endif //__CARDEVENTIDXFILEMANAGER_H
void Write()
CardEventIdxFileRecord __attribute__
long long SNR
Definition cardeventidxfilemanager.h:0
Definition cardeventidxfilemanager.cpp:10
Definition cardeventidxfilemanager.h:76
void InitForRead(const char *path)
Definition cardeventidxfilemanager.cpp:139
void ReadNext(CardEventIdxFileRecord &idxFileRecord)
Definition cardeventidxfilemanager.cpp:264
char GetFileType() const
Definition cardeventidxfilemanager.cpp:488
void SetFileType(char type)
Definition cardeventidxfilemanager.cpp:331
unsigned long GetValidTo() const
Definition cardeventidxfilemanager.cpp:306
std::vector< CardEventIdxFileRecordData * > * ReadWholeFile()
Definition cardeventidxfilemanager.cpp:272
unsigned long GetValidFrom() const
Definition cardeventidxfilemanager.cpp:301
void SetValidTo(unsigned long to)
Definition cardeventidxfilemanager.cpp:321
void Init(const char *path)
Definition cardeventidxfilemanager.cpp:127
~CardEventIdxFileManager()
Definition cardeventidxfilemanager.cpp:122
CardEventIdxFileManager()
Definition cardeventidxfilemanager.cpp:117
std::list< CardEventIdxFileRecord > FindEvent(long long SNR)
Definition cardeventidxfilemanager.cpp:205
long GetEventsCount() const
Definition cardeventidxfilemanager.cpp:346
void SetValidFrom(unsigned long from)
Definition cardeventidxfilemanager.cpp:311
HeadFileIdx GetHeader() const
Definition cardeventidxfilemanager.cpp:498
char GetEventFileVersion() const
Definition cardeventidxfilemanager.cpp:341
unsigned long GetFileSize() const
Definition cardeventidxfilemanager.cpp:493
void ReadFirst(CardEventIdxFileRecord &idxFileRecord)
Definition cardeventidxfilemanager.cpp:252
(Internal) Class for managing .idx part of event file.
Definition cardeventidxfilemanager.h:50
unsigned long GetOffsetToDat()
Definition cardeventidxfilemanager.cpp:377
~CardEventIdxFileRecord()
Definition cardeventidxfilemanager.cpp:372
void SetOffsetToDat(unsigned long offset)
Definition cardeventidxfilemanager.cpp:382
virtual bool operator==(const std::string &key)
Definition cardeventidxfilemanager.cpp:438
virtual void Fill(char *data)
Definition cardeventidxfilemanager.cpp:469
virtual unsigned short GetSize()
Definition cardeventidxfilemanager.cpp:448
virtual unsigned char * GetData()
Definition cardeventidxfilemanager.cpp:475
virtual EBinaryRecord * Clone()
Definition cardeventidxfilemanager.cpp:483
virtual bool operator>(const std::string &key)
Definition cardeventidxfilemanager.cpp:418
virtual std::string GetKey()
Definition cardeventidxfilemanager.cpp:453
CardEventIdxFileRecord()
Definition cardeventidxfilemanager.cpp:358
long long GetSNR()
Definition cardeventidxfilemanager.cpp:387
virtual bool operator!=(const std::string &key)
Definition cardeventidxfilemanager.cpp:428
virtual bool operator<(const std::string &key)
Definition cardeventidxfilemanager.cpp:397
void SetSNR(long long SNR)
Definition cardeventidxfilemanager.cpp:392
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