From 31d3a6408d045eadaff094d4c11bf017817743d7 Mon Sep 17 00:00:00 2001 From: sje Date: Wed, 1 Nov 2006 14:28:18 +0000 Subject: git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@4 4f64403b-2f21-0410-a795-97e2b3489a10 --- attache/FileInfo.h | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 attache/FileInfo.h (limited to 'attache/FileInfo.h') diff --git a/attache/FileInfo.h b/attache/FileInfo.h new file mode 100644 index 0000000..43a5c9f --- /dev/null +++ b/attache/FileInfo.h @@ -0,0 +1,63 @@ +#pragma once + +#include "common.h" +//#include + +class FileInfo +{ + TCHAR m_fieldName[512]; + TCHAR m_pathName[MAX_PATH]; + TCHAR m_contentType[512]; + +public: + FileInfo(TCHAR *lpszFieldName, TCHAR *lpszPathName, TCHAR *lpszContentType) { + _tcsncpy(m_fieldName, lpszFieldName, 512); + _tcsncpy(m_pathName, lpszPathName, MAX_PATH); + _tcsncpy(m_contentType, lpszContentType, 512); + } + + FileInfo() {} + FileInfo(const FileInfo &other) { + memcpy(this, &other, sizeof(FileInfo)); + } + + const TCHAR *GetFieldName() const { return &m_fieldName[0]; } + const TCHAR *GetPathName() const { return &m_pathName[0]; } + const TCHAR *GetContentType() const { return &m_contentType[0]; } +}; + +//typedef std::vector< FileInfo > FileInfoCollection; +class FileInfoList { +public: + class ListNode { + public: + ListNode() {} + FileInfo info; + ListNode *next; + }; + + FileInfoList(): head(0) {} + ~FileInfoList() {clear();} + + void clear() { + ListNode *n = head; + while(n) { + n = n->next; + delete head; + head = n; + } + } + + + void push_back(const FileInfo &info) { + ListNode *n = new ListNode; + n->info = info; + n->next = head; + head = n; + } + + ListNode *start() const {return head;} +protected: + ListNode *head; + +}; -- cgit v1.2.3