aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--build-mac/mailcore2.xcodeproj/project.pbxproj4
-rw-r--r--src/async/imap/MCIMAPAsyncConnection.cc4
-rw-r--r--src/objc/utils/NSData+MCO.h4
-rw-r--r--src/objc/utils/NSData+MCO.mm3
-rw-r--r--src/objc/utils/NSString+MCO.h5
-rw-r--r--src/objc/utils/NSString+MCO.mm11
6 files changed, 31 insertions, 0 deletions
diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj
index 00d7c60a..78e12717 100644
--- a/build-mac/mailcore2.xcodeproj/project.pbxproj
+++ b/build-mac/mailcore2.xcodeproj/project.pbxproj
@@ -160,6 +160,8 @@
C64EA82C16A2A08B00778456 /* MCIMAPFetchNamespaceOperation.cc in Sources */ = {isa = PBXBuildFile; fileRef = C64EA82A16A29FAA00778456 /* MCIMAPFetchNamespaceOperation.cc */; };
C6D42C1D16AE03D6002BB4F9 /* NSData+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D42C1A16AE03D6002BB4F9 /* NSData+MCO.mm */; };
C6D42C1E16AE03D6002BB4F9 /* NSString+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6D42C1C16AE03D6002BB4F9 /* NSString+MCO.mm */; };
+ C6D42C2A16AE0507002BB4F9 /* NSData+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6D42C1916AE03D6002BB4F9 /* NSData+MCO.h */; };
+ C6D42C2C16AE0509002BB4F9 /* NSString+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6D42C1B16AE03D6002BB4F9 /* NSString+MCO.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -181,7 +183,9 @@
files = (
C62C6EE016A696AB00737497 /* MCAsyncIMAP.h in CopyFiles */,
C64EA74E169E859600778456 /* MCAbstract.h in CopyFiles */,
+ C6D42C2A16AE0507002BB4F9 /* NSData+MCO.h in CopyFiles */,
C62C6F0016A7E32800737497 /* MCPOPFetchHeaderOperation.h in CopyFiles */,
+ C6D42C2C16AE0509002BB4F9 /* NSString+MCO.h in CopyFiles */,
C62C6EE216A696B400737497 /* MCIMAPFetchFoldersOperation.h in CopyFiles */,
C64EA74F169E859600778456 /* MCAbstractMessage.h in CopyFiles */,
C64EA7E516A14A5400778456 /* MCAsync.h in CopyFiles */,
diff --git a/src/async/imap/MCIMAPAsyncConnection.cc b/src/async/imap/MCIMAPAsyncConnection.cc
index a72fa1b0..a4f06fbc 100644
--- a/src/async/imap/MCIMAPAsyncConnection.cc
+++ b/src/async/imap/MCIMAPAsyncConnection.cc
@@ -35,10 +35,14 @@ IMAPAsyncConnection::IMAPAsyncConnection()
{
mSession = new IMAPSession();
mQueue = new OperationQueue();
+ mDefaultNamespace = NULL;
+ mDelimiter = 0;
+ mLastFolder = NULL;
}
IMAPAsyncConnection::~IMAPAsyncConnection()
{
+ MC_SAFE_RELEASE(mLastFolder);
MC_SAFE_RELEASE(mDefaultNamespace);
MC_SAFE_RELEASE(mQueue);
MC_SAFE_RELEASE(mSession);
diff --git a/src/objc/utils/NSData+MCO.h b/src/objc/utils/NSData+MCO.h
index 18da1492..9ed227bb 100644
--- a/src/objc/utils/NSData+MCO.h
+++ b/src/objc/utils/NSData+MCO.h
@@ -10,6 +10,8 @@
#include <mailcore/mailcore.h>
+#ifdef __OBJC__
+
@interface NSData (MCO)
#ifdef __cplusplus
@@ -17,3 +19,5 @@
#endif
@end
+
+#endif
diff --git a/src/objc/utils/NSData+MCO.mm b/src/objc/utils/NSData+MCO.mm
index 10c63f7e..abec3077 100644
--- a/src/objc/utils/NSData+MCO.mm
+++ b/src/objc/utils/NSData+MCO.mm
@@ -12,6 +12,9 @@
+ (NSData *) mco_dataWithMCData:(mailcore::Data *)cppData
{
+ if (cppData == NULL)
+ return nil;
+
return [NSData dataWithBytes:cppData->bytes() length:cppData->length()];
}
diff --git a/src/objc/utils/NSString+MCO.h b/src/objc/utils/NSString+MCO.h
index 087f5220..eb009e1c 100644
--- a/src/objc/utils/NSString+MCO.h
+++ b/src/objc/utils/NSString+MCO.h
@@ -10,10 +10,15 @@
#include <mailcore/mailcore.h>
+#ifdef __OBJC__
+
@interface NSString (MCO)
#ifdef __cplusplus
+ (NSString *) mco_stringWithMCString:(mailcore::String *)cppString;
++ (NSString *) mco_stringWithMCObject:(mailcore::Object *)object;
#endif
@end
+
+#endif
diff --git a/src/objc/utils/NSString+MCO.mm b/src/objc/utils/NSString+MCO.mm
index 9ef0cf06..f7771469 100644
--- a/src/objc/utils/NSString+MCO.mm
+++ b/src/objc/utils/NSString+MCO.mm
@@ -12,7 +12,18 @@
+ (NSString *) mco_stringWithMCString:(mailcore::String *)cppString
{
+ if (cppString == NULL)
+ return nil;
+
return [NSString stringWithCharacters:(const unichar *) cppString->unicodeCharacters() length:cppString->length()];
}
++ (NSString *) mco_stringWithMCObject:(mailcore::Object *)object
+{
+ if (object == NULL)
+ return nil;
+
+ return [NSString mco_stringWithMCString:object->description()];
+}
+
@end