diff options
| author | Vincent Richard <[email protected]> | 2004-12-26 20:23:29 +0000 |
|---|---|---|
| committer | Vincent Richard <[email protected]> | 2004-12-26 20:23:29 +0000 |
| commit | 4ce991d3b1bd97fbb896d17fb8f36f6650429a22 (patch) | |
| tree | 2db6e072b862dd809d4acd8c571a1b859fdcb484 /src/messaging/store.hpp | |
| parent | Allow creating a service from an URL. (diff) | |
| download | vmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.tar.gz vmime-4ce991d3b1bd97fbb896d17fb8f36f6650429a22.zip | |
Moved all header files to 'vmime/' directory.
Diffstat (limited to 'src/messaging/store.hpp')
| -rw-r--r-- | src/messaging/store.hpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/messaging/store.hpp b/src/messaging/store.hpp deleted file mode 100644 index d6830166..00000000 --- a/src/messaging/store.hpp +++ /dev/null @@ -1,102 +0,0 @@ -// -// VMime library (http://vmime.sourceforge.net) -// Copyright (C) 2002-2004 Vincent Richard <[email protected]> -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation; either version 2 of -// the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -// - -#ifndef VMIME_MESSAGING_STORE_HPP_INCLUDED -#define VMIME_MESSAGING_STORE_HPP_INCLUDED - - -#include "messaging/service.hpp" -#include "messaging/folder.hpp" - - -namespace vmime { -namespace messaging { - - -/** A store service. - * Encapsulate protocols that provide access to user's mail drop. - */ - -class store : public service -{ -protected: - - store(session* sess, const serviceInfos& infos, authenticator* auth) - : service(sess, infos, auth) { } - -public: - - /** Return the default folder. This is protocol dependant - * and usually is the INBOX folder. - * - * @return default folder - */ - virtual folder* getDefaultFolder() = 0; - - /** Return the root folder. This is protocol dependant - * and usually is the user's mail drop root folder. - * - * @return root folder - */ - virtual folder* getRootFolder() = 0; - - /** Return the folder specified by the path. - * - * @param path absolute folder path - * @return folder at the specified path - */ - virtual folder* getFolder(const folder::path& path) = 0; - - /** Test whether the specified folder name is a syntactically - * a valid name. - * - * @return true if the specified folder name is valid, false otherwise - */ - virtual const bool isValidFolderName(const folder::path::component& name) const = 0; - - /** Store capabilities. */ - enum Capabilities - { - CAPABILITY_CREATE_FOLDER = (1 << 0), /**< Can create folders. */ - CAPABILITY_RENAME_FOLDER = (1 << 1), /**< Can rename folders. */ - CAPABILITY_ADD_MESSAGE = (1 << 2), /**< Can append message to folders. */ - CAPABILITY_COPY_MESSAGE = (1 << 3), /**< Can copy messages from a folder to another one. */ - CAPABILITY_DELETE_MESSAGE = (1 << 4), /**< Can delete messages. */ - CAPABILITY_PARTIAL_FETCH = (1 << 5), /**< Is partial fetch supported? */ - CAPABILITY_MESSAGE_FLAGS = (1 << 6), /**< Can set flags on messages. */ - CAPABILITY_EXTRACT_PART = (1 << 7) /**< Can extract a specific part of the message. */ - }; - - /** Return the features supported by this service. This is - * a combination of store::CAPABILITY_xxx flags. - * - * @return features supported by this service - */ - virtual const int getCapabilities() const = 0; - - - const Type getType() const { return (TYPE_STORE); } -}; - - -} // messaging -} // vmime - - -#endif // VMIME_MESSAGING_STORE_HPP_INCLUDED |
