src/include/common/syncml/core/Property.h

00001 /*
00002  * Copyright (C) 2003-2007 Funambol
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 as published by
00006  * the Free Software Foundation; either version 2 of the License, or
00007  * (at your option) any later version.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  */
00018 #ifndef INCL_PROPERTY
00019 #define INCL_PROPERTY
00020 
00022 #include "base/fscapi.h"
00023 #include "base/util/ArrayList.h"
00024 
00025 class Property : public ArrayElement {
00026 
00027     // ------------------------------------------------------- Private interface
00028 private:
00029 
00030     char*  propName;
00031     char*  dataType;
00032     long maxOccur;
00033     long maxSize;
00034     BOOL noTruncate;  // -1 undefined, 0 FALSE, 1 TRUE
00035     ArrayList* valEnums;
00036     char*  displayName;
00037     ArrayList* propParams;
00038 
00039 
00040 
00041     // ----------------------------------------------------- Protected interface
00042 protected:
00043 
00044 
00045 
00046 
00047     // -------------------------------------------------------- Public interface
00048 public:
00049 
00050     /*
00051      * Property constructor
00052      */
00053     Property();
00054 
00055     ~Property();
00056 
00057     /*
00058      * Property constructor
00059      *
00060      * @param p0
00061      * @param p1
00062      * @param p2
00063      * @param p3
00064      * @param p4
00065      * @param p5
00066      * @param p6
00067      * @param p7
00068      */
00069     Property(char*  p0, char*  p1, long p2, long p3, BOOL p4, ArrayList* p5, char*  p6, ArrayList* p7);
00070 
00071 
00072     /*
00073      * getDisplayName
00074      *
00075      */
00076     const char* getDisplayName();
00077 
00078     /*
00079      * getPropName
00080      *
00081      */
00082     const char* getPropName();
00083 
00084 
00085     /*
00086      * setPropName
00087      *
00088      * @param p0
00089      */
00090     void setPropName(const char* propName);
00091 
00092 
00093     /*
00094      * getDataType
00095      *
00096      */
00097     const char* getDataType();
00098 
00099 
00100     /*
00101      * setDataType
00102      *
00103      * @param p0
00104      */
00105     void setDataType(const char* p0);
00106 
00107 
00108     /*
00109      * getMaxOccur
00110      *
00111      */
00112     long getMaxOccur();
00113 
00114 
00115     /*
00116      * setMaxOccur
00117      *
00118      * @param p0
00119      */
00120     void setMaxOccur(long p0);
00121 
00122 
00123     /*
00124      * getMaxSize
00125      *
00126      */
00127     long getMaxSize();
00128 
00129 
00130     /*
00131      * setMaxSize
00132      *
00133      * @param p0
00134      */
00135     void setMaxSize(long p0);
00136 
00137 
00138     /*
00139      * setNoTruncate
00140      *
00141      * @param p0
00142      */
00143     void setNoTruncate(BOOL p0);
00144 
00145 
00146     /*
00147      * isNoTruncate
00148      *
00149      */
00150     BOOL isNoTruncate();
00151 
00152 
00153     /*
00154      * getNoTruncate
00155      *
00156      */
00157     BOOL getNoTruncate();
00158 
00159 
00160     /*
00161      * getValEnums
00162      *
00163      */
00164     ArrayList* getValEnums();
00165 
00166 
00167     /*
00168      * setValEnums
00169      *
00170      * @param p0
00171      */
00172     void setValEnums(ArrayList* p0);
00173 
00174 
00175     /*
00176      * setDisplayName
00177      *
00178      * @param p0
00179      */
00180     void setDisplayName(const char* p0);
00181 
00182 
00183     /*
00184      * getPropParams
00185      *
00186      */
00187     ArrayList* getPropParams();
00188 
00189 
00190     /*
00191      * setPropParams
00192      *
00193      * @param p0
00194      */
00195     void setPropParams(ArrayList* p0);
00196 
00197     /*
00198      * setPropParams
00199      *
00200      * @param p0
00201      */
00202     void setPropParams(ArrayList& p0);
00203 
00204 
00205     /*
00206      * Creates an exact copy of this Property
00207      *
00208      * @return the cloned instance
00209      */
00210     ArrayElement* clone();
00211 
00212 
00213 };
00214 
00215 
00217 #endif

Generated on Fri Apr 27 12:29:19 2007 for Funambol C++ Client Library by  doxygen 1.5.2