aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar DINH Viêt Hoà <dinh.viet.hoa@gmail.com>2013-05-26 22:14:02 -0700
committerGravatar DINH Viêt Hoà <dinh.viet.hoa@gmail.com>2013-05-26 22:14:02 -0700
commit87c7c28dfd78f5b13b10ee7ad20886238ad4a348 (patch)
tree52ae35ff365acc4cb8441daca8f1509b2f924f77
parent969f8ff5059736c5df0e97255916a457d26fa2a6 (diff)
parent4669aca9ec6fb10a1f8b6365e4fadb69b2cbe0ca (diff)
Merge pull request #54 from pushkarsingh/master
Provider headers made external, Ability to select a different folder if different from current folder
-rw-r--r--build-mac/mailcore2.xcodeproj/project.pbxproj12
-rw-r--r--src/core/imap/MCIMAPSession.cc8
-rw-r--r--src/objc/MCOProvider.h17
-rw-r--r--src/objc/MCObjC.h1
-rw-r--r--src/objc/provider/MCONetService.mm5
5 files changed, 42 insertions, 1 deletions
diff --git a/build-mac/mailcore2.xcodeproj/project.pbxproj b/build-mac/mailcore2.xcodeproj/project.pbxproj
index 1c784073..bdd32c9b 100644
--- a/build-mac/mailcore2.xcodeproj/project.pbxproj
+++ b/build-mac/mailcore2.xcodeproj/project.pbxproj
@@ -28,6 +28,11 @@
84AF9E89172DBC4700E60AA3 /* MCOMailProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */; };
84AF9E8C172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; };
84AF9E8D172DBE4100E60AA3 /* MCONetService.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */; };
+ A24BED28174FF16E004AC144 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = A24BED27174FF0AC004AC144 /* MCOProvider.h */; };
+ A24BED29174FF17C004AC144 /* MCOProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = A24BED27174FF0AC004AC144 /* MCOProvider.h */; };
+ A24BED5317501641004AC144 /* MCONetService.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E8A172DBE4000E60AA3 /* MCONetService.h */; };
+ A24BED541750168B004AC144 /* MCOMailProvider.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF9E86172DBC4700E60AA3 /* MCOMailProvider.h */; };
+ A24BED551750169C004AC144 /* MCOMailProvidersManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */; };
C07AD5D7FD82F8ACAB576231 /* NSError+MCO.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = C07AD44B013BB42A240B4F04 /* NSError+MCO.h */; };
C07AD99B2E2054C684DB8FF6 /* NSError+MCO.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */; };
C07ADC28B83E7959BF114D46 /* MCOIMAPSession.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */; };
@@ -674,6 +679,7 @@
dstPath = include/MailCore;
dstSubfolderSpec = 16;
files = (
+ A24BED29174FF17C004AC144 /* MCOProvider.h in CopyFiles */,
843EE411172DDF5100C882AA /* MCProvider.h in CopyFiles */,
843EE412172DDF5100C882AA /* MCMailProvidersManager.h in CopyFiles */,
843EE413172DDF5100C882AA /* MCMailProvider.h in CopyFiles */,
@@ -853,6 +859,10 @@
dstPath = include/MailCore;
dstSubfolderSpec = 16;
files = (
+ A24BED551750169C004AC144 /* MCOMailProvidersManager.h in CopyFiles */,
+ A24BED541750168B004AC144 /* MCOMailProvider.h in CopyFiles */,
+ A24BED5317501641004AC144 /* MCONetService.h in CopyFiles */,
+ A24BED28174FF16E004AC144 /* MCOProvider.h in CopyFiles */,
843EE415172DDF5F00C882AA /* MCProvider.h in CopyFiles */,
843EE416172DDF5F00C882AA /* MCMailProvidersManager.h in CopyFiles */,
843EE417172DDF5F00C882AA /* MCMailProvider.h in CopyFiles */,
@@ -1034,6 +1044,7 @@
84AF9E87172DBC4700E60AA3 /* MCOMailProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCOMailProvider.mm; path = provider/MCOMailProvider.mm; sourceTree = "<group>"; };
84AF9E8A172DBE4000E60AA3 /* MCONetService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MCONetService.h; path = provider/MCONetService.h; sourceTree = "<group>"; };
84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MCONetService.mm; path = provider/MCONetService.mm; sourceTree = "<group>"; };
+ A24BED27174FF0AC004AC144 /* MCOProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MCOProvider.h; sourceTree = "<group>"; };
C07AD057D3C8FBDC7AC95733 /* MCOIMAPSession.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MCOIMAPSession.mm; sourceTree = "<group>"; };
C07AD44B013BB42A240B4F04 /* NSError+MCO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+MCO.h"; sourceTree = "<group>"; };
C07ADFE43E22B38EFF23ADB5 /* NSError+MCO.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSError+MCO.mm"; sourceTree = "<group>"; };
@@ -1453,6 +1464,7 @@
84AF9E8B172DBE4000E60AA3 /* MCONetService.mm */,
843EE409172DD5B900C882AA /* MCOMailProvidersManager.h */,
843EE40A172DD5B900C882AA /* MCOMailProvidersManager.mm */,
+ A24BED27174FF0AC004AC144 /* MCOProvider.h */,
);
name = provider;
sourceTree = "<group>";
diff --git a/src/core/imap/MCIMAPSession.cc b/src/core/imap/MCIMAPSession.cc
index d860d85c..b078391d 100644
--- a/src/core/imap/MCIMAPSession.cc
+++ b/src/core/imap/MCIMAPSession.cc
@@ -759,7 +759,13 @@ void IMAPSession::selectIfNeeded(String * folder, ErrorCode * pError)
if (* pError != ErrorNone)
return;
- if (mState == STATE_LOGGEDIN) {
+ if (mState == STATE_SELECTED) {
+ MCAssert(mCurrentFolder != NULL);
+ if (mCurrentFolder->caseInsensitiveCompare(folder) != 0) {
+ select(folder, pError);
+ }
+ }
+ else if (mState == STATE_LOGGEDIN) {
select(folder, pError);
}
else {
diff --git a/src/objc/MCOProvider.h b/src/objc/MCOProvider.h
new file mode 100644
index 00000000..09f2cb05
--- /dev/null
+++ b/src/objc/MCOProvider.h
@@ -0,0 +1,17 @@
+//
+// MCOPROVIDER.h
+// mailcore2
+//
+// Created by Pushkar Singh on 5/24/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef _MAILCORE__MCOPROVIDER_h
+#define _MAILCORE__MCOPROVIDER_h
+
+
+#import <MailCore/MCONetService.h>
+#import <MailCore/MCOMailProvider.h>
+#import <MailCore/MCOMailProvidersManager.h>
+
+#endif
diff --git a/src/objc/MCObjC.h b/src/objc/MCObjC.h
index 0ed2520c..9c090273 100644
--- a/src/objc/MCObjC.h
+++ b/src/objc/MCObjC.h
@@ -18,6 +18,7 @@
#import <MailCore/MCORFC822.h>
#import <MailCore/MCOPOP.h>
#import <MailCore/MCOSMTP.h>
+#import <MailCore/MCOProvider.h>
#endif
diff --git a/src/objc/provider/MCONetService.mm b/src/objc/provider/MCONetService.mm
index 222daa15..2ba455aa 100644
--- a/src/objc/provider/MCONetService.mm
+++ b/src/objc/provider/MCONetService.mm
@@ -19,6 +19,11 @@
#define nativeType mailcore::NetService
++ (void) load
+{
+ MCORegisterClass(self, &typeid(nativeType));
+}
+
- (mailcore::Object *) mco_mcObject
{
return _netService;