From 876e1a4724a7bd75dc642e295de354241096e028 Mon Sep 17 00:00:00 2001 From: llornkcor Date: Fri, 20 Dec 2002 01:35:01 +0000 Subject: update - sorry it took so long. hope this works correctly --- (limited to 'noncore/apps/opie-reader/Filedata.h') 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 @@ +#ifndef __FILEDATA_H +#define __FILEDATA_H + +#include + +class CFiledata +{ + unsigned char* data; + bool m_own; + public: + CFiledata(tchar* d) + { + data = (unsigned char*)d; + m_own = false; + } + CFiledata(time_t dt, tchar* nm) + { + int nlen = ustrlen(nm)+1; + data = new unsigned char[sizeof(time_t)+sizeof(tchar)*nlen]; + *((time_t *)data) = dt; + memcpy(data+sizeof(time_t), nm, sizeof(tchar)*nlen); + m_own = true; + } + ~CFiledata() + { + if (m_own && data != NULL) + { + delete [] data; + qDebug("~Filedata: deleting"); + } + else + { + qDebug("~Filedata: not deleting"); + } + } + tchar* name() const { return (tchar*)(data+sizeof(time_t)); } + time_t date() { return *((time_t *)data); } + void setdate(time_t _t) { *((time_t *)data) = _t; } + unsigned char* content() { return data; } + size_t length() const { return sizeof(time_t)+sizeof(tchar)*(ustrlen(name())+1); } + bool operator==(const CFiledata& rhs) + { + return ((length() == rhs.length()) && (memcmp(data, rhs.data, length()) == 0)); + } + bool samename(const CFiledata& rhs) + { + return (ustrcmp((tchar *)(data+sizeof(time_t)),(tchar *)(rhs.data+sizeof(time_t))) == 0); + } +}; + +#endif -- cgit v0.9.0.2