Diffstat (limited to 'noncore/apps/opie-reader/Bkmks.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/Bkmks.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/noncore/apps/opie-reader/Bkmks.h b/noncore/apps/opie-reader/Bkmks.h index ee528e4..c2275e2 100644 --- a/noncore/apps/opie-reader/Bkmks.h +++ b/noncore/apps/opie-reader/Bkmks.h | |||
@@ -1,70 +1,84 @@ | |||
1 | #ifndef __Bkmks_h | 1 | #ifndef __Bkmks_h |
2 | #define __Bkmks_h | 2 | #define __Bkmks_h |
3 | 3 | ||
4 | #include "config.h" | 4 | #include "config.h" |
5 | #include "Filedata.h" | 5 | #include "Filedata.h" |
6 | #include <stdio.h> | 6 | #include <stdio.h> |
7 | 7 | ||
8 | template<class T> | 8 | template<class T> |
9 | class CList; | 9 | class CList; |
10 | 10 | ||
11 | class Bkmk | 11 | class Bkmk |
12 | { | 12 | { |
13 | friend class BkmkFile; | 13 | friend class BkmkFile; |
14 | unsigned char* m_name; | 14 | unsigned char* m_name; |
15 | unsigned short m_namelen; | 15 | unsigned short m_namelen; |
16 | unsigned char* m_anno; | 16 | unsigned char* m_anno; |
17 | unsigned short m_annolen; | 17 | unsigned short m_annolen; |
18 | unsigned int m_position; | 18 | unsigned int m_position; |
19 | unsigned int m_position2; | ||
20 | unsigned char m_red,m_green,m_blue, m_level; | ||
19 | void init(const void*, unsigned short, const void*, unsigned short, unsigned int); | 21 | void init(const void*, unsigned short, const void*, unsigned short, unsigned int); |
20 | public: | 22 | public: |
21 | Bkmk() : m_name(NULL), m_namelen(0), m_anno(NULL), m_annolen(0), m_position(0) {}; | 23 | Bkmk() : m_name(NULL), m_namelen(0), m_anno(NULL), m_annolen(0), m_position(0) {}; |
22 | Bkmk(const unsigned char* _nm, unsigned short _nmlen, const unsigned char* _anno, unsigned short _annolen, unsigned int _p); | 24 | Bkmk(const unsigned char* _nm, unsigned short _nmlen, const unsigned char* _anno, unsigned short _annolen, unsigned int _p); |
23 | Bkmk(const tchar* _nm, const unsigned char* _anno, unsigned short _annolen, unsigned int _p); | 25 | Bkmk(const tchar* _nm, const unsigned char* _anno, unsigned short _annolen, unsigned int _p); |
24 | Bkmk(const tchar* _nm, const tchar* _anno, unsigned int _p); | 26 | Bkmk(const tchar* _nm, const tchar* _anno, unsigned int _p); |
27 | Bkmk(const tchar* _nm, const tchar* _anno, unsigned int _p, unsigned int _p2); | ||
25 | Bkmk(const Bkmk& rhs) : m_name(NULL), m_anno(NULL) | 28 | Bkmk(const Bkmk& rhs) : m_name(NULL), m_anno(NULL) |
26 | { | 29 | { |
27 | *this = rhs; | 30 | *this = rhs; |
28 | } | 31 | } |
29 | ~Bkmk(); | 32 | ~Bkmk(); |
30 | unsigned int value() const { return m_position; } | 33 | unsigned int value() const { return m_position; } |
31 | void value(unsigned int _v) { m_position = _v; } | 34 | void value(unsigned int _v) { m_position = _v; } |
35 | unsigned int value2() const { return m_position2; } | ||
36 | void value2(unsigned int _v) { m_position2 = _v; } | ||
37 | unsigned char red() { return m_red; } | ||
38 | unsigned char green() { return m_green; } | ||
39 | unsigned char blue() { return m_blue; } | ||
40 | void red(unsigned char _v) { m_red = _v; } | ||
41 | void green(unsigned char _v) { m_green = _v; } | ||
42 | void blue(unsigned char _v) { m_blue = _v; } | ||
43 | unsigned char level() { return m_level; } | ||
44 | void level(unsigned char _v) { m_level = _v; } | ||
32 | tchar *name() const { return (tchar*)m_name; } | 45 | tchar *name() const { return (tchar*)m_name; } |
33 | tchar *anno() const { return (tchar*)m_anno; } | 46 | tchar *anno() const { return (tchar*)m_anno; } |
34 | bool operator<(const Bkmk& rhs) { return (m_position < rhs.m_position); } | 47 | bool operator<(const Bkmk& rhs) { return (m_position < rhs.m_position); } |
35 | Bkmk& operator=(const Bkmk& rhs); | 48 | Bkmk& operator=(const Bkmk& rhs); |
36 | bool operator==(const Bkmk& rhs); | 49 | bool operator==(const Bkmk& rhs); |
37 | void setAnno(tchar* t); | 50 | void setAnno(tchar* t); |
38 | void setAnno(unsigned char* t, unsigned short len); | 51 | void setAnno(unsigned char* t, unsigned short len); |
39 | unsigned char* filedata() | 52 | unsigned char* filedata() |
40 | { | 53 | { |
41 | CFiledata fd(anno()); | 54 | CFiledata fd(anno()); |
42 | return m_anno+fd.length(); | 55 | return m_anno+fd.length(); |
43 | } | 56 | } |
44 | unsigned short filedatalen() | 57 | unsigned short filedatalen() |
45 | { | 58 | { |
46 | CFiledata fd(anno()); | 59 | CFiledata fd(anno()); |
47 | return m_annolen - fd.length(); | 60 | return m_annolen - fd.length(); |
48 | } | 61 | } |
49 | }; | 62 | }; |
50 | 63 | ||
51 | class BkmkFile | 64 | class BkmkFile |
52 | { | 65 | { |
53 | FILE* f; | 66 | FILE* f; |
54 | bool wt; | 67 | bool wt; |
55 | bool isUpgraded; | 68 | bool isUpgraded, m_extras; |
56 | static const unsigned long magic; | 69 | static const unsigned long magic; |
57 | private: | 70 | private: |
58 | static Bkmk* read06(FILE*); | 71 | static Bkmk* read07(BkmkFile*, FILE*); |
59 | static Bkmk* read05(FILE*); | 72 | static Bkmk* read06(BkmkFile*, FILE*); |
60 | static Bkmk* read03(FILE*); | 73 | static Bkmk* read05(BkmkFile*, FILE*); |
61 | CList<Bkmk>* readall00(Bkmk*(*fn)(FILE*)); | 74 | static Bkmk* read03(BkmkFile*, FILE*); |
75 | CList<Bkmk>* readall00(Bkmk*(*fn)(BkmkFile*, FILE*)); | ||
62 | void write(const Bkmk& b); | 76 | void write(const Bkmk& b); |
63 | public: | 77 | public: |
64 | bool upgraded() { return isUpgraded; } | 78 | bool upgraded() { return isUpgraded; } |
65 | BkmkFile(const char *fnm, bool w = false); | 79 | BkmkFile(const char *fnm, bool w, bool _x); |
66 | ~BkmkFile(); | 80 | ~BkmkFile(); |
67 | void write(CList<Bkmk>& bl); | 81 | void write(CList<Bkmk>& bl); |
68 | CList<Bkmk>* readall(); | 82 | CList<Bkmk>* readall(); |
69 | }; | 83 | }; |
70 | #endif | 84 | #endif |