D:/develop/v65/clients/outlook/install/output/export/funambol/clients/outlook/mainclientDll/src/include/outlook/ClientMail.h

00001  /*
00002  * Copyright (C) 2006-2007 Funambol, Inc.
00003  *
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License version 2 as
00006  * published by the Free Software Foundation.
00007  *
00008  * This program is distributed in the hope that it will be useful,
00009  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY, TITLE, NONINFRINGEMENT or FITNESS FOR A PARTICULAR
00011  * PURPOSE.  See the GNU General Public License for more details.
00012  *
00013  * You should have received a copy of the GNU General Public License
00014  * along with this program; if not, write to the Free Software
00015  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00016  * 02111-1307  USA
00017 */
00018 
00019 #ifndef INCL_CLIENTMAIL
00020 #define INCL_CLIENTMAIL
00021 
00026 #include "outlook/defs.h"
00027 #include "outlook/ClientItem.h"
00028 
00029 #include <string>
00030 
00031 
00032 
00034 class ClientMail : public ClientItem {
00035 
00036 private:
00037 
00038     // Pointer to microsoft outlook objects.
00039     _MailItemPtr     pMail;
00040 
00041     // Pointer to Redemption safe objects.
00042     Redemption::ISafeMailItemPtr pSafeMail;
00043 
00044 
00045     void createSafeMailInstance();
00046 
00047     bool isSecureProperty (const std::wstring& propertyName);
00048     bool isComplexProperty(const std::wstring& propertyName);
00049 
00050     const std::wstring getSafeProperty   (const std::wstring& propertyName);
00051     const std::wstring getComplexProperty(const std::wstring& propertyName);
00052 
00053     int setComplexProperty(const std::wstring& propertyName, const std::wstring& propertyValue);
00054 
00055 public:
00056 
00057     // Constructor
00058     ClientMail();
00059     ClientMail(const ClientMail& c);
00060     ClientMail operator=(const ClientMail& c);
00061 
00062     // Destructor
00063     ~ClientMail();
00064 
00065 
00066     // Set a COM pointer to this object: refresh all members.
00067     void setCOMPtr(_MailItemPtr& ptr, const std::wstring& itemID);
00068     void setCOMPtr(_MailItemPtr& ptr);
00069 
00070     // Returns a reference to the internal COM pointer.
00071     _MailItemPtr& getCOMPtr();
00072 
00073     //
00074     // Client operations on the item.
00075     //
00076     int saveItem();
00077     int deleteItem();
00078     ClientItem* copyItem();
00079     //int moveItem(ClientFolder* destFolder);
00080 
00081 
00082     //
00083     // Methods to menage item properties.
00084     //
00085     //const std::wstring getFirstProperty();
00086     //const std::wstring getNextProperty();
00087     //const std::wstring getPreviousProperty();
00088     //const std::wstring getLastProperty();
00089 
00090     //int setProperty(const std::wstring& propertyName, const std::wstring& propertyValue);
00091 
00092 };
00093 
00096 #endif

Generated on Fri Nov 9 12:21:26 2007 for Funambol Outlook Plug-in Library by  doxygen 1.5.2