aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/objc/abstract/MCOMessageHeader.h12
-rw-r--r--src/objc/abstract/MCOMessageHeader.mm20
2 files changed, 32 insertions, 0 deletions
diff --git a/src/objc/abstract/MCOMessageHeader.h b/src/objc/abstract/MCOMessageHeader.h
index 92444d21..7c6527a6 100644
--- a/src/objc/abstract/MCOMessageHeader.h
+++ b/src/objc/abstract/MCOMessageHeader.h
@@ -87,6 +87,18 @@
/** Returns a header that can be used as a base for a forward message.*/
- (MCOMessageHeader *) forwardHeader;
+/** Set a custom header. */
+- (void) setExtraHeader:(NSString *)name value:(NSString *)value;
+
+/** Remove a custom header. */
+- (void) removeExtraHeader:(NSString *)name;
+
+/** Returns the value of a custom header. */
+- (NSString *) extraHeaderValueForName:(NSString *)name;
+
+/** Returns the names of the custom headers. */
+- (NSArray *) allExtraHeadersNames;
+
@end
#endif
diff --git a/src/objc/abstract/MCOMessageHeader.mm b/src/objc/abstract/MCOMessageHeader.mm
index 7dee244f..708eaed2 100644
--- a/src/objc/abstract/MCOMessageHeader.mm
+++ b/src/objc/abstract/MCOMessageHeader.mm
@@ -147,4 +147,24 @@ MCO_OBJC_SYNTHESIZE_STRING(setUserAgent, userAgent)
return MCO_TO_OBJC(_nativeHeader->forwardHeader());
}
+- (void) setExtraHeader:(NSString *)name value:(NSString *)value
+{
+ _nativeHeader->setExtraHeader(MCO_FROM_OBJC(mailcore::String, name), MCO_FROM_OBJC(mailcore::String, value));
+}
+
+- (void) removeExtraHeader:(NSString *)name
+{
+ _nativeHeader->removeExtraHeader(MCO_FROM_OBJC(mailcore::String, name));
+}
+
+- (NSString *) extraHeaderValueForName:(NSString *)name
+{
+ return MCO_TO_OBJC(_nativeHeader->extraHeaderValueForName(MCO_FROM_OBJC(mailcore::String, name)));
+}
+
+- (NSArray *) allExtraHeadersNames
+{
+ return MCO_TO_OBJC(_nativeHeader->allExtraHeadersNames());
+}
+
@end