blob: 664fdcc1bf030db66ed5443aa89b8bcb19be11d3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/***************************************************************************
FilterPMail.hxx - Pegasus-Mail import
-------------------
begin : Sat Jan 6 2001
copyright : (C) 2001 by Holger Schurig
email : [email protected]
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef FILTER_PMAIL_HXX
#define FILTER_PMAIL_HXX
#include <tqdir.h>
#include <tqvaluelist.h>
#include "filters.hxx"
class FilterPMail : public Filter
{
public:
FilterPMail();
~FilterPMail();
void import(FilterInfo *info);
protected:
/** this looks for all files with the filemask 'mask' and calls the 'workFunc' on each of them */
void processFiles(const TQString& mask, void(FilterPMail::* workFunc)(const TQString&) );
/** this function imports one *.CNM message */
void importNewMessage(const TQString& file);
/** this function imports one mail folder file (*.PMM) */
void importMailFolder(const TQString& file);
/** imports a 'unix' format mail folder (*.MBX) */
void importUnixMailFolder(const TQString& file);
/** this function recreate the folder structure */
bool parseFolderMatrix();
/** this function parse the folder structure */
TQString getFolderName(TQString ID);
private:
/** the working directory */
TQDir dir;
/** pointer to the info */
FilterInfo * inf;
/** Folder structure here has 5 entries. */
typedef FolderStructureBase<5> FolderStructure;
/** List with the folder matrix, which contains following strings:
1. type (2 for root-folder, 1 for folder, 0 for mailarchiv)
2. type (1 for root-folder, 3 for folder, 0 for mailarchiv)
3. "ID:flag:filename" of folder/archiv
4. "ID:name" of parent folder
5. name of folder/archiv
*/
TQValueList<FolderStructure> folderMatrix;
typedef TQValueList<FolderStructure>::Iterator FolderStructureIterator;
bool folderParsed;
TQString chosenDir;
/** which file (of totalFiles) is now in the work? */
int currentFile;
/** total number of files that get imported */
int totalFiles;
};
#endif
|