aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/provider/MCMailProvidersManager.h
diff options
context:
space:
mode:
authorGravatar CodaFi <devteam.codafi@gmail.com>2013-04-28 17:37:52 -0600
committerGravatar CodaFi <devteam.codafi@gmail.com>2013-04-28 17:37:52 -0600
commitd9da8ea6e22361a35c0bf94237c8c16d5021a3b4 (patch)
treee5e68ac9a9906d128c2179b82cd8b60c8a64c721 /src/core/provider/MCMailProvidersManager.h
parent10c9d0abf0e8009277fb2006cffb76b8a26865c7 (diff)
Providers API
Diffstat (limited to 'src/core/provider/MCMailProvidersManager.h')
-rw-r--r--src/core/provider/MCMailProvidersManager.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/core/provider/MCMailProvidersManager.h b/src/core/provider/MCMailProvidersManager.h
new file mode 100644
index 00000000..978ec7d9
--- /dev/null
+++ b/src/core/provider/MCMailProvidersManager.h
@@ -0,0 +1,49 @@
+//
+// MCMailProvidersManager.h
+// mailcore2
+//
+// Created by Robert Widmann on 4/28/13.
+// Copyright (c) 2013 MailCore. All rights reserved.
+//
+
+#ifndef __MAILCORE__MCMailProvidersManager__
+#define __MAILCORE__MCMailProvidersManager__
+
+#include <MailCore/MCBaseTypes.h>
+
+#ifdef __cplusplus
+
+namespace mailcore {
+ class MailProvider;
+
+ class MailProvidersManager : public Object {
+
+ public:
+ static MailProvidersManager * sharedManager()
+ {
+ static MailProvidersManager * instance = new MailProvidersManager();
+ instance->init();
+ return instance;
+ }
+
+ MailProvider * providerForEmail(String * email);
+ MailProvider * providerForMX(String * hostname);
+ MailProvider * providerForIdentifier(String * identifier);
+
+ void registerProviders(HashMap * providers);
+ void registerProvidersFilename(String * filename);
+
+ private:
+ MailProvidersManager() {};
+ MailProvidersManager(MailProvidersManager const&);
+ void operator=(MailProvidersManager const&);
+
+ HashMap * mProviders;
+
+ void init();
+ };
+}
+
+#endif
+
+#endif /* defined(__MAILCORE__MCMailProvidersManager__) */