2 Copyright (C) 2000-2004 SKYRIX Software AG
4 This file is part of OpenGroupware.org.
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 #ifndef __NGMime_NGHeaderFieldGenerator_H__
24 #define __NGMime_NGHeaderFieldGenerator_H__
26 #import <Foundation/NSObject.h>
27 #include <NGMime/NGMimeGeneratorProtocols.h>
29 @class NSString, NSData, NSMutableDictionary;
31 @interface NGMimeHeaderFieldGenerator : NSObject <NGMimeHeaderFieldGenerator>
33 + (id)headerFieldGenerator;
35 - (NSData *)generateDataForHeaderFieldNamed:(NSString *)_headerField
40 @interface NGMimeContentTypeHeaderFieldGenerator : NGMimeHeaderFieldGenerator
43 @interface NGMimeContentLengthHeaderFieldGenerator : NGMimeHeaderFieldGenerator
46 @interface NGMimeRFC822DateHeaderFieldGenerator : NGMimeHeaderFieldGenerator
49 @interface NGMimeContentDispositionHeaderFieldGenerator :
50 NGMimeHeaderFieldGenerator
53 @interface NGMimeStringHeaderFieldGenerator : NGMimeHeaderFieldGenerator
56 @interface NGMimeAddressHeaderFieldGenerator : NGMimeHeaderFieldGenerator
59 @interface NGMimeHeaderFieldGeneratorSet : NSObject <NGMimeHeaderFieldGenerator>
62 NSMutableDictionary *fieldNameToGenerate;
63 id<NGMimeHeaderFieldGenerator> defaultGenerator;
66 + (id)headerFieldGeneratorSet;
67 + (id)defaultRfc822HeaderFieldGeneratorSet;
70 - (id)initWithDefaultGenerator:(id<NGMimeHeaderFieldGenerator>)_gen;
74 - (void)setGenerator:(id<NGMimeHeaderFieldGenerator>)_gen
75 forField:(NSString *)_name;
77 - (void)setDefaultGenerator:(id<NGMimeHeaderFieldGenerator>)_gen;
78 - (id<NGMimeHeaderFieldGenerator>)_gen;
82 - (NSData *)generateDataForHeaderFieldNamed:(NSString *)_headerField
87 extern int NGEncodeQuotedPrintableMime
88 (const unsigned char *_src, unsigned _srcLen,
89 unsigned char *_dest, unsigned _destLen);
91 #endif // __NGMime_NGHeaderFieldGenerator_H__