1 #ifndef _ACTION_H_
2 #define _ACTION_H_
3 #include "area.h"
4 extern "C"
5 {
6 #include <smapi/msgapi.h>
7 }
8 
9 class CAction
10 {
11 	public:
12 		CAction();
13 		CAction(const CAction & act);
14 		~CAction();
15 		HAREA Area;
16 		int msgnum;
17 		int run();
18 		string param;
19 };
20 
21 class CCopyAction:public CAction
22 {
23 	public:
24 		string destarea;
25 		int run();
26 };
27 
28 class CMoveAction:public CAction
29 {
30 	public:
31 		string destarea;
32 		int run();
33 };
34 
35 class CDeleteAction:public CAction
36 {
37 	public:
38 		int run();
39 };
40 
41 class CFileAction:public CAction
42 {
43 	public:
44 		string s_Filename;
45 		int run();
46 	protected:
47 		FILE *f_txtFile;
48 
49 };
50 
51 class CHdrFileAction:public CAction
52 {
53 	public:
54 		string s_Filename;
55 		int run();
56 	protected:
57 		FILE *f_txtFile;
58 };
59 
60 class CSemaphoreAction:public CAction
61 {
62 	public:
63 		string s_FileName;
64 		int run();
65 	protected:
66 		FILE *f_semFile;
67 };
68 
69 class CRewriteAction:public CAction
70 {
71 	public:
72 		CMask M_rewriteTo;
73 		int run();
74 };
75 
76 class CUUCPRewriteAction:public CAction
77 {
78 	public:
79 		CMask M_rewriteTo;
80 		int run();
81 };
82 
83 class CBounceAction:public CAction
84 {
85 	public:
86 		CFtnAddr A_FromAddress;
87 		string param;
88 		string s_BounceText;
89 		int run();
90 	protected:
91 		FILE *f_bounceTxt;
92 		string InsertFields();
93 		string bounceFname;
94 };
95 
96 class CEmptyBounceAction:public CAction
97 {
98 	public:
99 		CFtnAddr A_FromAddress;
100 		string s_BounceText;
101 		int run();
102 	protected:
103 		FILE *f_bounceTxt;
104 		string InsertFields();
105 };
106 
107 class CHdrBounceAction:public CAction
108 {
109 	public:
110 		CFtnAddr A_FromAddress;
111 		string s_BounceText;
112 		int run();
113 	protected:
114 		FILE *f_bounceTxt;
115 		string InsertFields();
116 };
117 
118 class CAddNoteAction:public CAction
119 {
120 	public:
121 		string s_Note;
122 		int run();
123 };
124 
125 class CForwardAction:public CAction
126 {
127 	public:
128 		CMask M_fwdMask;
129 		int run();
130 };
131 
132 class CMakeMsgAction:public CAction
133 {
134 	public:
135 		string s_bodyText;
136 		CMask M_hdrMask;
137 		int run();
138 	protected:
139 		FILE * f_bodyText;
140 };
141 
142 class CChangePathAction:public CAction
143 {
144 	public:
145 		string s_filePath;
146 		int run();
147 };
148 
149 class CChangePathMoveAction:public CAction
150 {
151 	public:
152 		string s_filePath;
153 		int run();
154 	protected:
155 		FILE * f_toMove;
156 		int MoveFiles(string s_Path);
157 };
158 
159 class CEchoCopyAction:public CAction
160 {
161 	public:
162 		CFtnAddr F_From;
163 		string s_Area;
164 		string s_Seenby;
165 		int run();
166 };
167 
168 class CEchoMoveAction:public CAction
169 {
170 	public:
171 		CFtnAddr F_From;
172 		string s_Area;
173 		string s_Seenby;
174 		int run();
175 };
176 
177 class CIgnoreAction:public CAction
178 {
179 	public:
180 		int run();
181 };
182 
183 class CPackmailAction:public CAction
184 {
185 	public:
186 		CFtnAddr F_From;
187 		CFtnAddr F_To;
188 		int run();
189 	protected:
190 		FILE *f_pkt;
191 };
192 
193 class CMovemailAction:public CAction
194 {
195 	public:
196 		CFtnAddr F_From;
197 		CFtnAddr F_To;
198 		int run();
199 	protected:
200 		FILE *f_pkt;
201 };
202 
203 class CDisplayAction:public CAction
204 {
205 	public:
206 		string s_showstr;
207 		int run();
208 };
209 
210 class CRunExternalAction:public CAction
211 {
212 	public:
213 		string s_program;
214 		string s_params;
215 		int run();
216 };
217 
218 #endif
219