52 lines
1.3 KiB
C++
52 lines
1.3 KiB
C++
#ifndef MAILCORE_MCIMAPNAMESPACE_H
|
|
|
|
#define MAILCORE_MCIMAPNAMESPACE_H
|
|
|
|
#include <MailCore/MCBaseTypes.h>
|
|
|
|
#ifdef __cplusplus
|
|
|
|
namespace mailcore {
|
|
|
|
class IMAPNamespaceItem;
|
|
|
|
class IMAPNamespace : public Object {
|
|
public:
|
|
IMAPNamespace();
|
|
virtual ~IMAPNamespace();
|
|
|
|
virtual String * mainPrefix();
|
|
virtual char mainDelimiter();
|
|
|
|
virtual Array * /* String */ prefixes();
|
|
|
|
virtual String * pathForComponents(Array * components);
|
|
virtual String * pathForComponentsAndPrefix(Array * components, String * prefix);
|
|
|
|
virtual Array * /* String */ componentsFromPath(String * path);
|
|
|
|
virtual bool containsFolderPath(String * path);
|
|
|
|
static IMAPNamespace * namespaceWithPrefix(String * prefix, char delimiter);
|
|
|
|
public: // subclass behavior
|
|
IMAPNamespace(IMAPNamespace * other);
|
|
virtual String * description();
|
|
virtual Object * copy();
|
|
|
|
private:
|
|
Array * /* String */ mItems;
|
|
void init();
|
|
IMAPNamespaceItem * mainItem();
|
|
IMAPNamespaceItem * itemForPath(String * path);
|
|
|
|
public: // private
|
|
virtual void importIMAPNamespace(struct mailimap_namespace_item * item);
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|