AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cardeventidxfilemanager.h
Go to the documentation of this file.
1 #ifndef __CARDEVENTIDXFILEMANAGER_H
2 #define __CARDEVENTIDXFILEMANAGER_H
3 
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
15 struct 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 {
51 public:
53 
54 public:
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 {
77 public:
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 
102 private:
103  class DataClass;
104  DataClass *d;
105 };
106 
107 #endif //__CARDEVENTIDXFILEMANAGER_H
CardEventIdxFileRecord __attribute__
virtual unsigned short GetSize()
Definition: cardeventidxfilemanager.cpp:448
(Internal) Interface for abstract record in file.
Definition: EBinaryRecord.h:10
Definition: cardeventidxfilemanager.h:75
long long GetSNR()
Definition: cardeventidxfilemanager.cpp:387
char RecSize
Definition: cardeventidxfilemanager.h:18
void SetFileType(char type)
Definition: cardeventidxfilemanager.cpp:331
(Internal) Class for managing .idx part of event file.
Definition: cardeventidxfilemanager.h:49
CardEventIdxFileRecordData * d
Definition: cardeventidxfilemanager.h:52
unsigned long GetValidFrom() const
Definition: cardeventidxfilemanager.cpp:301
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
virtual bool operator==(const std::string &key)
Definition: cardeventidxfilemanager.cpp:438
virtual void Fill(char *data)
Definition: cardeventidxfilemanager.cpp:469
virtual EBinaryRecord * Clone()
Definition: cardeventidxfilemanager.cpp:483
CardEventIdxFileRecord()
Definition: cardeventidxfilemanager.cpp:358
CardEventIdxFileManager()
Definition: cardeventidxfilemanager.cpp:117
void InitForRead(const char *path)
Definition: cardeventidxfilemanager.cpp:139
unsigned long GetValidTo() const
Definition: cardeventidxfilemanager.cpp:306
virtual std::string GetKey()
Definition: cardeventidxfilemanager.cpp:453
virtual unsigned char * GetData()
Definition: cardeventidxfilemanager.cpp:475
char GetFileType() const
Definition: cardeventidxfilemanager.cpp:488
char HeadSize
Definition: cardeventidxfilemanager.h:19
Definition: cardeventidxfilemanager.h:34
void Init(const char *path)
Definition: cardeventidxfilemanager.cpp:127
uint32_t ValidTo
Definition: cardeventidxfilemanager.h:21
virtual bool operator!=(const std::string &key)
Definition: cardeventidxfilemanager.cpp:428
void SetValidTo(unsigned long to)
Definition: cardeventidxfilemanager.cpp:321
uint32_t OffsetToDat
Definition: cardeventidxfilemanager.h:37
unsigned long GetOffsetToDat()
Definition: cardeventidxfilemanager.cpp:377
long long SNR
Definition: cardeventidxfilemanager.h:36
void SetSNR(long long SNR)
Definition: cardeventidxfilemanager.cpp:392
virtual bool operator>(const std::string &key)
Definition: cardeventidxfilemanager.cpp:418
uint32_t ValidFrom
Definition: cardeventidxfilemanager.h:20
std::vector< CardEventIdxFileRecordData * > * ReadWholeFile()
Definition: cardeventidxfilemanager.cpp:272
char GetEventFileVersion() const
Definition: cardeventidxfilemanager.cpp:341
void ReadFirst(CardEventIdxFileRecord &idxFileRecord)
Definition: cardeventidxfilemanager.cpp:252
~CardEventIdxFileRecord()
Definition: cardeventidxfilemanager.cpp:372
long long SNR
Definition: cardeventidxfilemanager.h:63
char Type
Definition: cardeventidxfilemanager.h:22
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
~CardEventIdxFileManager()
Definition: cardeventidxfilemanager.cpp:122
HeadFileIdx GetHeader() const
Definition: cardeventidxfilemanager.cpp:498
Definition: cardeventidxfilemanager.h:15
long GetEventsCount() const
Definition: cardeventidxfilemanager.cpp:346
virtual bool operator<(const std::string &key)
Definition: cardeventidxfilemanager.cpp:397
void SetOffsetToDat(unsigned long offset)
Definition: cardeventidxfilemanager.cpp:382
std::list< CardEventIdxFileRecord > FindEvent(long long SNR)
Definition: cardeventidxfilemanager.cpp:205
void Write(CardEventIdxFileRecord idxFileRecord)
Definition: cardeventidxfilemanager.cpp:238
void ReadNext(CardEventIdxFileRecord &idxFileRecord)
Definition: cardeventidxfilemanager.cpp:264
char Version
Definition: cardeventidxfilemanager.h:17
void SetValidFrom(unsigned long from)
Definition: cardeventidxfilemanager.cpp:311
unsigned long GetFileSize() const
Definition: cardeventidxfilemanager.cpp:493