summaryrefslogtreecommitdiffstats
path: root/libmail/pop3folder.C
diff options
context:
space:
mode:
Diffstat (limited to 'libmail/pop3folder.C')
-rw-r--r--libmail/pop3folder.C140
1 files changed, 140 insertions, 0 deletions
diff --git a/libmail/pop3folder.C b/libmail/pop3folder.C
new file mode 100644
index 0000000..31deb3f
--- /dev/null
+++ b/libmail/pop3folder.C
@@ -0,0 +1,140 @@
+/*
+** Copyright 2002, Double Precision Inc.
+**
+** See COPYING for distribution information.
+*/
+#include "libmail_config.h"
+
+#include "mail.H"
+#include "pop3.H"
+
+using namespace std;
+
+mail::pop3Folder::pop3Folder(mail::pop3 *serverArg)
+ : mail::folder(serverArg), server(serverArg)
+{
+}
+
+mail::pop3Folder::~pop3Folder()
+{
+}
+
+void mail::pop3Folder::sameServerAsHelperFunc() const
+{
+}
+
+string mail::pop3Folder::getName() const
+{
+ return "INBOX";
+}
+
+string mail::pop3Folder::getPath() const
+{
+ return getName();
+}
+
+bool mail::pop3Folder::hasMessages() const
+{
+ return true;
+}
+
+bool mail::pop3Folder::hasSubFolders() const
+{
+ return false;
+}
+
+bool mail::pop3Folder::isParentOf(string path) const
+{
+ return false;
+}
+
+void mail::pop3Folder::hasMessages(bool flag)
+{
+}
+
+void mail::pop3Folder::hasSubFolders(bool flag)
+{
+}
+
+void mail::pop3Folder::readFolderInfo( mail::callback::folderInfo &callback1,
+ mail::callback &callback2) const
+{
+ if (isDestroyed(callback2))
+ return;
+
+ server->readFolderInfo(callback1, callback2);
+}
+
+void mail::pop3Folder::readSubFolders( mail::callback::folderList &callback1,
+ mail::callback &callback2) const
+{
+ if (isDestroyed(callback2))
+ return;
+
+ vector<const mail::folder *> dummy;
+
+ callback1.success(dummy);
+ callback2.success("No folders exist on a POP3 server.");
+}
+
+mail::addMessage *mail::pop3Folder::addMessage(mail::callback &callback) const
+{
+ callback.fail("Messages cannot be copied to this POP3 server account.");
+ return NULL;
+}
+
+void mail::pop3Folder::createSubFolder(string name, bool isDirectory,
+ mail::callback::folderList &callback1,
+ mail::callback &callback2) const
+{
+ callback2.fail("Folders cannot be created in this POP3 server account.");
+}
+
+void mail::pop3Folder::create(bool isDirectory, mail::callback &callback) const
+{
+ callback.fail("Folders cannot be created in this POP3 server account.");
+}
+
+void mail::pop3Folder::destroy(mail::callback &callback, bool destroyDir) const
+{
+ callback.fail("You cannot delete this POP3 folder. It's a fake,"
+ " and how did you get this error message anyway?");
+}
+
+void mail::pop3Folder::renameFolder(const mail::folder *newParent,
+ std::string newName,
+ mail::callback::folderList &callback1,
+ callback &callback) const
+{
+ callback.fail("POP3 folders cannot be renamed.");
+}
+
+mail::folder *mail::pop3Folder::clone() const
+{
+ mail::pop3Folder *p=new mail::pop3Folder(server);
+
+ if (!p)
+ return NULL;
+
+ return p;
+}
+
+string mail::pop3Folder::toString() const
+{
+ return getPath();
+}
+
+void mail::pop3Folder::open(mail::callback &openCallback,
+ mail::snapshot *restoreSnapshot,
+ mail::callback::folder &folderCallback) const
+{
+ if (isDestroyed(openCallback))
+ return;
+ server->open(openCallback, folderCallback, restoreSnapshot);
+}
+
+string mail::pop3::translatePath(string path)
+{
+ return "INBOX"; // NOOP
+}
+