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 00019 00020 #ifndef INCL_COMPLEX_DATA 00021 #define INCL_COMPLEX_DATA 00022 00024 #include "base/fscapi.h" 00025 #include "base/util/ArrayList.h" 00026 #include "syncml/core/Data.h" 00027 #include "syncml/core/Anchor.h" 00028 #include "syncml/core/DevInf.h" 00029 00030 class ComplexData : public Data { 00031 00032 // ------------------------------------------------------------ Private data 00033 private: 00034 Anchor* anchor; 00035 DevInf* devInf; 00036 ArrayList* properties; // array of Property objects 00037 00038 void initialize(); 00039 00040 // ---------------------------------------------------------- Public data 00041 public: 00042 00043 ComplexData(); 00044 ~ComplexData(); 00045 00052 ComplexData(const char* data); 00053 00054 // ---------------------------------------------------------- Public methods 00055 00061 Anchor* getAnchor(); 00062 00068 void setAnchor(Anchor* anchor); 00069 00075 DevInf* getDevInf(); 00076 00083 void setDevInf(DevInf* devInf); 00084 00085 /* 00086 * Gets properties 00087 * 00088 * @return the current properties's value 00089 * 00090 */ 00091 ArrayList* getProperties(); 00092 00093 /* 00094 * Sets properties 00095 * 00096 * @param properties the new value 00097 * 00098 */ 00099 void setProperties(ArrayList* properties); 00100 00101 00102 ComplexData* clone(); 00103 00104 }; 00105 00107 #endif