diff options
author | CodaFi <devteam.codafi@gmail.com> | 2013-04-28 17:37:52 -0600 |
---|---|---|
committer | CodaFi <devteam.codafi@gmail.com> | 2013-04-28 17:37:52 -0600 |
commit | d9da8ea6e22361a35c0bf94237c8c16d5021a3b4 (patch) | |
tree | e5e68ac9a9906d128c2179b82cd8b60c8a64c721 /src/core/provider/MCMailProvidersManager.h | |
parent | 10c9d0abf0e8009277fb2006cffb76b8a26865c7 (diff) |
Providers API
Diffstat (limited to 'src/core/provider/MCMailProvidersManager.h')
-rw-r--r-- | src/core/provider/MCMailProvidersManager.h | 49 |
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__) */ |