src/include/common/vocl/iCalendar/iCalProperty.h

00001 /*
00002  * Funambol is a mobile platform developed by Funambol, Inc. 
00003  * Copyright (C) 2003 - 2007 Funambol, Inc.
00004  * 
00005  * This program is free software; you can redistribute it and/or modify it under
00006  * the terms of the GNU Affero General Public License version 3 as published by
00007  * the Free Software Foundation with the addition of the following permission 
00008  * added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED
00009  * WORK IN WHICH THE COPYRIGHT IS OWNED BY FUNAMBOL, FUNAMBOL DISCLAIMS THE 
00010  * WARRANTY OF NON INFRINGEMENT  OF THIRD PARTY RIGHTS.
00011  * 
00012  * This program is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00014  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
00015  * details.
00016  * 
00017  * You should have received a copy of the GNU Affero General Public License 
00018  * along with this program; if not, see http://www.gnu.org/licenses or write to
00019  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
00020  * MA 02110-1301 USA.
00021  * 
00022  * You can contact Funambol, Inc. headquarters at 643 Bair Island Road, Suite 
00023  * 305, Redwood City, CA 94063, USA, or at email address info@funambol.com.
00024  * 
00025  * The interactive user interfaces in modified source and object code versions
00026  * of this program must display Appropriate Legal Notices, as required under
00027  * Section 5 of the GNU Affero General Public License version 3.
00028  * 
00029  * In accordance with Section 7(b) of the GNU Affero General Public License
00030  * version 3, these Appropriate Legal Notices must retain the display of the
00031  * "Powered by Funambol" logo. If the display of the logo is not reasonably 
00032  * feasible for technical reasons, the Appropriate Legal Notices must display
00033  * the words "Powered by Funambol".
00034  */
00035 
00036 
00037 #ifndef INCL_ICALENDAR_PROPERTY
00038 #define INCL_ICALENDAR_PROPERTY
00039 
00041 #include "base/fscapi.h"
00042 #include "base/util/ArrayList.h"
00043 #include "base/globalsdef.h"
00044 
00045 BEGIN_NAMESPACE
00046 
00047 class iCalProperty : public ArrayElement {
00048 
00049 private:
00050     WCHAR* altre;         //Alternate text representation
00051     WCHAR* cn;            //Common name
00052     WCHAR* cutype;        //Calendar user type
00053     WCHAR* delegatedFrom; //Delegator
00054     WCHAR* delegatedTo;   //Delegatee
00055     WCHAR* dir;           //Directory entry
00056     WCHAR* encoding;      //Inline encoding
00057     WCHAR* formattype;    //Format type
00058     WCHAR* fbtype;        //free-busy type
00059     WCHAR* language;      //Language for text
00060     WCHAR* member;        //Group or list membership
00061     WCHAR* partstat;      //Participation status
00062     WCHAR* range;         //Recurrence identifier range
00063     WCHAR* trigrel;       //Alarm trigger relationship
00064     WCHAR* related;       //Relationship type
00065     WCHAR* role;          //Participation role
00066     WCHAR* rsvp;          //RSVP expectation
00067     WCHAR* sentby;        //Sent by
00068     WCHAR* tzid;          //Reference to time zone object
00069     WCHAR* valuetype;     //Property value data type
00070     WCHAR* value;         //the value of property
00071     ArrayList* xParams;
00072 
00073     void set(WCHAR** property, WCHAR* v);
00074 
00075 public:
00076     iCalProperty (WCHAR* v = NULL);
00077     ~iCalProperty();
00078 
00079     // ---------------------------------------------------------- Public methods
00080 
00081     WCHAR* getAltre (WCHAR* buf = NULL, int size = -1);
00082     WCHAR* getCn (WCHAR* buf = NULL, int size = -1);
00083     WCHAR* getCutype (WCHAR* buf = NULL, int size = -1);
00084     WCHAR* getDelegatedFrom (WCHAR* buf = NULL, int size = -1);
00085     WCHAR* getDelegatedTo (WCHAR* buf = NULL, int size = -1);
00086     WCHAR* getDir (WCHAR* buf = NULL, int size = -1);
00087     WCHAR* getEncoding (WCHAR* buf = NULL, int size = -1);
00088     WCHAR* getFormatType (WCHAR* buf = NULL, int size = -1);
00089     WCHAR* getFbType (WCHAR* buf = NULL, int size = -1);
00090     WCHAR* getLanguage (WCHAR* buf = NULL, int size = -1);
00091     WCHAR* getMember (WCHAR* buf = NULL, int size = -1);
00092     WCHAR* getPartStat (WCHAR* buf = NULL, int size = -1);
00093     WCHAR* getRange (WCHAR* buf = NULL, int size = -1);
00094     WCHAR* getTrigRel (WCHAR* buf = NULL, int size = -1);
00095     WCHAR* getRelated (WCHAR* buf = NULL, int size = -1);
00096     WCHAR* getRole (WCHAR* buf = NULL, int size = -1);
00097     WCHAR* getRsvp (WCHAR* buf = NULL, int size = -1);
00098     WCHAR* getSentBy (WCHAR* buf = NULL, int size = -1);
00099     WCHAR* getTzID (WCHAR* buf = NULL, int size = -1);
00100     WCHAR* getValueType (WCHAR* buf = NULL, int size = -1);
00101     WCHAR* getValue (WCHAR* buf = NULL, int size = -1);
00102     ArrayList* getXParam();
00103 
00104     void setAltre (WCHAR* v);
00105     void setCn (WCHAR* v);
00106     void setCutype (WCHAR* v);
00107     void setDelegatedFrom (WCHAR* v);
00108     void setDelegatedTo (WCHAR* v);
00109     void setDir (WCHAR* v);
00110     void setEncoding (WCHAR* v);
00111     void setFormatType (WCHAR* v);
00112     void setFbType (WCHAR* v);
00113     void setLanguage (WCHAR* v);
00114     void setMember (WCHAR* v);
00115     void setPartStat (WCHAR* v);
00116     void setRange (WCHAR* v);
00117     void setTrigRel (WCHAR* v);
00118     void setRelated (WCHAR* v);
00119     void setRole (WCHAR* v);
00120     void setRsvp (WCHAR* v);
00121     void setSentBy (WCHAR* v);
00122     void setTzID (WCHAR* v);
00123     void setValueType (WCHAR* v);
00124     void setValue (WCHAR* v);
00125     void setXParam(ArrayList& list);
00126 
00127     ArrayElement* clone();
00128 };
00129 
00130 
00131 END_NAMESPACE
00132 
00134 #endif

Generated on Tue Jun 10 17:20:22 2008 for Funambol C++ Client Library by  doxygen 1.5.2