diff options
Diffstat (limited to 'src/core/imap/MCIMAPFolder.cpp')
-rw-r--r-- | src/core/imap/MCIMAPFolder.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/core/imap/MCIMAPFolder.cpp b/src/core/imap/MCIMAPFolder.cpp new file mode 100644 index 00000000..513097e2 --- /dev/null +++ b/src/core/imap/MCIMAPFolder.cpp @@ -0,0 +1,70 @@ +#include "MCIMAPFolder.h" + +using namespace mailcore; + +void IMAPFolder::init() +{ + mPath = NULL; + mDelimiter = 0; + mFlags = IMAPFolderFlagNone; +} + +IMAPFolder::IMAPFolder() +{ + init(); +} + +IMAPFolder::IMAPFolder(IMAPFolder * other) +{ + init(); + setPath(other->path()); + setDelimiter(other->delimiter()); + setFlags(other->flags()); +} + +IMAPFolder::~IMAPFolder() +{ + MC_SAFE_RELEASE(mPath); +} + +Object * IMAPFolder::copy() +{ + return new IMAPFolder(this); +} + +void IMAPFolder::setPath(String * path) +{ + MC_SAFE_REPLACE_COPY(String, mPath, path); +} + +String * IMAPFolder::path() +{ + return mPath; +} + +void IMAPFolder::setDelimiter(char delimiter) +{ + mDelimiter = delimiter; +} + +char IMAPFolder::delimiter() +{ + return mDelimiter; +} + +void IMAPFolder::setFlags(IMAPFolderFlag flags) +{ + mFlags = flags; +} + +IMAPFolderFlag IMAPFolder::flags() +{ + return mFlags; +} + +String * IMAPFolder::description() +{ + String * result = String::string(); + result->appendUTF8Format("<%s:%p %s>", className()->UTF8Characters(), this, MCUTF8(mPath)); + return result; +} |