summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/Filedata.h
authorllornkcor <llornkcor>2002-12-20 01:35:01 (UTC)
committer llornkcor <llornkcor>2002-12-20 01:35:01 (UTC)
commit876e1a4724a7bd75dc642e295de354241096e028 (patch) (unidiff)
treea37c5dcc9d78e04bb6b859ab89d8cf81e6745087 /noncore/apps/opie-reader/Filedata.h
parent5fd6636ba3d94b48dd543887316c47c5388a43c2 (diff)
downloadopie-876e1a4724a7bd75dc642e295de354241096e028.zip
opie-876e1a4724a7bd75dc642e295de354241096e028.tar.gz
opie-876e1a4724a7bd75dc642e295de354241096e028.tar.bz2
update - sorry it took so long. hope this works correctly
Diffstat (limited to 'noncore/apps/opie-reader/Filedata.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-reader/Filedata.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/noncore/apps/opie-reader/Filedata.h b/noncore/apps/opie-reader/Filedata.h
new file mode 100644
index 0000000..f920238
--- a/dev/null
+++ b/noncore/apps/opie-reader/Filedata.h
@@ -0,0 +1,51 @@
1#ifndef __FILEDATA_H
2#define __FILEDATA_H
3
4#include <time.h>
5
6class CFiledata
7{
8 unsigned char* data;
9 bool m_own;
10 public:
11 CFiledata(tchar* d)
12 {
13 data = (unsigned char*)d;
14 m_own = false;
15 }
16 CFiledata(time_t dt, tchar* nm)
17 {
18 int nlen = ustrlen(nm)+1;
19 data = new unsigned char[sizeof(time_t)+sizeof(tchar)*nlen];
20 *((time_t *)data) = dt;
21 memcpy(data+sizeof(time_t), nm, sizeof(tchar)*nlen);
22 m_own = true;
23 }
24 ~CFiledata()
25 {
26 if (m_own && data != NULL)
27 {
28 delete [] data;
29 qDebug("~Filedata: deleting");
30 }
31 else
32 {
33 qDebug("~Filedata: not deleting");
34 }
35 }
36 tchar* name() const { return (tchar*)(data+sizeof(time_t)); }
37 time_t date() { return *((time_t *)data); }
38 void setdate(time_t _t) { *((time_t *)data) = _t; }
39 unsigned char* content() { return data; }
40 size_t length() const { return sizeof(time_t)+sizeof(tchar)*(ustrlen(name())+1); }
41 bool operator==(const CFiledata& rhs)
42 {
43 return ((length() == rhs.length()) && (memcmp(data, rhs.data, length()) == 0));
44 }
45 bool samename(const CFiledata& rhs)
46 {
47 return (ustrcmp((tchar *)(data+sizeof(time_t)),(tchar *)(rhs.data+sizeof(time_t))) == 0);
48 }
49};
50
51#endif