• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

loggingXMLElement.h

Go to the documentation of this file.
00001 #ifndef loggingXMLElement_H
00002 #define loggingXMLElement_H
00003 
00004 /*******************************************************************************
00005 *    ALMA - Atacama Large Millimiter Array
00006 *    (c) European Southern Observatory, 2002
00007 *    Copyright by ESO (in the framework of the ALMA collaboration)
00008 *    and Cosylab 2002, All rights reserved
00009 *
00010 *    This library is free software; you can redistribute it and/or
00011 *    modify it under the terms of the GNU Lesser General Public
00012 *    License as published by the Free Software Foundation; either
00013 *    version 2.1 of the License, or (at your option) any later version.
00014 *
00015 *    This library is distributed in the hope that it will be useful,
00016 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 *    Lesser General Public License for more details.
00019 *
00020 *    You should have received a copy of the GNU Lesser General Public
00021 *    License along with this library; if not, write to the Free Software
00022 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00023 *
00024 * "@(#) $Id: loggingXMLElement.h,v 1.36 2006/09/01 02:20:55 cparedes Exp $"
00025 *
00026 * who       when        what
00027 * --------  ----------  ----------------------------------------------
00028 * msekoran  2001-07-08  created
00029 */
00030 
00031 #ifndef __cplusplus
00032 #error This is a C++ include file and cannot be used from plain C
00033 #endif
00034 
00035 #include <acsutil.h>
00036 #include <loggingExport.h>
00037 #include <ace/SString.h>
00038 #include <ace/Hash_Map_Manager.h>
00039 #include <Thread_Mutex.h>
00040 
00041 namespace loggingXMLParser {
00042 
00043 class logging_EXPORT XMLElement
00044 {
00045 public:
00046 
00048   XMLElement();
00049 
00051   ~XMLElement();
00052 
00053 
00055   typedef ACE_Hash_Map_Manager <ACE_CString, ACE_CString, ACE_Thread_Mutex> ATTRIBUTE_HASH_MAP;
00056   typedef ACE_Hash_Map_Iterator <ACE_CString, ACE_CString, ACE_Thread_Mutex> ATTRIBUTE_HASH_MAP_ITER;
00057   typedef ACE_Hash_Map_Entry <ACE_CString, ACE_CString> ATTRIBUTE_HASH_MAP_ENTRY;
00058 
00063   const ACE_TCHAR * name();
00064     
00069   const ACE_TCHAR * value();
00070 
00074   void name(const ACE_CString& name);
00075     
00079   void value(const ACE_CString& value);
00080 
00088   int addAttribute (const ACE_CString& name, const ACE_CString& value);
00089 
00096   int getAttribute (const ACE_CString& name, ACE_CString& value);
00097 
00102   ATTRIBUTE_HASH_MAP_ITER getAttributesIterator (void);
00103 
00104 private:
00105 
00107   ACE_CString m_name;
00108 
00110   ACE_CString m_value;
00111 
00113   ATTRIBUTE_HASH_MAP m_attributes;
00114 
00115   /*
00116     // future releases, ACS1.0 does not need this
00117     // for now XML parser needs only to parse <Archive ...>value</Archive>
00118     XMLElement * parentNode;
00119     XMLElement * childrenNodes[];  // use ACEs DL list
00120   */
00121 
00122 };
00123 
00124  }; 
00125 
00126 
00127 #endif 
00129 // ************************************************************************
00130 //
00131 // REVISION HISTORY:
00132 //
00133 // $Log: loggingXMLElement.h,v $
00134 // Revision 1.36  2006/09/01 02:20:55  cparedes
00135 // small change, NAMESPACE_BEGIN / NAMESPACE_END / NAMESPACE_USE macross to clean up a little the cpp code
00136 //
00137 // Revision 1.35  2004/03/17 07:38:33  bjeram
00138 // ported to ACE 5.4 and TAO 1.4
00139 //
00140 // Revision 1.34  2003/03/14 10:24:37  rgeorgie
00141 // LGPL
00142 //
00143 // Revision 1.33  2002/09/23 12:43:05  vltsccm
00144 // msekoran: loggingXMLParser fixed, memory leak removed and tat test added.
00145 //
00146 // Revision 1.32  2002/04/10 14:41:38  vltsccm
00147 // logging1.32
00148 //
00149 // Revision 1.31  2002/03/27 16:44:22  vltsccm
00150 // logging1.31
00151 //
00152 // Revision 1.30  2002/02/13 12:55:30  vltsccm
00153 // logging1.30
00154 //
00155 // Revision 1.29  2002/02/08 13:40:53  vltsccm
00156 // logging1.29
00157 //
00158 // Revision 1.28  2002/02/05 17:51:54  vltsccm
00159 // logging1.28
00160 //
00161 // Revision 1.27  2002/02/04 08:26:27  vltsccm
00162 // logging1.27
00163 //
00164 // Revision 1.26  2002/01/18 09:42:57  vltsccm
00165 // logging1.26
00166 //
00167 // Revision 1.25  2002/01/16 10:41:28  vltsccm
00168 // logging1.25
00169 //
00170 // Revision 1.24  2002/01/15 12:42:19  vltsccm
00171 // logging1.24
00172 //
00173 // Revision 1.23  2002/01/14 21:10:48  vltsccm
00174 // logging1.23
00175 //
00176 // Revision 1.22  2001/12/27 19:04:08  vltsccm
00177 // logging1.22
00178 //
00179 // Revision 1.21  2001/12/24 13:30:58  vltsccm
00180 // logging1.21
00181 //
00182 // Revision 1.20  2001/11/14 08:44:16  vltsccm
00183 // logging1.20
00184 //
00185 // Revision 1.19  2001/09/13 14:24:33  vltsccm
00186 // logging1.19
00187 //
00188 // Revision 1.18  2001/08/13 07:04:56  vltsccm
00189 // logging1.18
00190 //
00191 // Revision 1.17  2001/07/12 20:23:03  vltsccm
00192 // logging1.17
00193 //
00194 // Revision 1.16  2001/07/12 13:25:59  vltsccm
00195 // logging1.16
00196 //
00197 // Revision 1.15  2001/07/12 12:38:17  vltsccm
00198 // logging1.15
00199 //
00200 // Revision 1.14  2001/07/12 08:56:17  vltsccm
00201 // logging1.14
00202 //
00203 // Revision 1.13  2001/07/12 07:08:24  vltsccm
00204 // logging1.13
00205 //
00206 // Revision 1.12  2001/07/11 09:13:40  vltsccm
00207 // logging1.12
00208 //
00209 // Revision 1.11  2001/07/11 09:13:39  vltsccm
00210 // logging1.11
00211 //
00212 // Revision 1.10  2001/07/11 09:13:39  vltsccm
00213 // logging1.10
00214 //
00215 // Revision 1.9  2001/07/11 09:13:39  vltsccm
00216 // logging1.9
00217 //
00218 // Revision 1.8  2001/07/11 09:13:38  vltsccm
00219 // logging1.8
00220 //
00221 // Revision 1.7  2001/07/11 09:13:38  vltsccm
00222 // logging1.7
00223 //
00224 // Revision 1.6  2001/07/11 09:13:37  vltsccm
00225 // logging1.6
00226 //
00227 // Revision 1.5  2001/07/11 09:13:37  vltsccm
00228 // logging1.5
00229 //
00230 // Revision 1.4  2001/07/11 09:13:36  vltsccm
00231 // logging1.4
00232 //
00233 // Revision 1.3  2001/07/11 09:13:36  vltsccm
00234 // logging1.3
00235 //
00236 // Revision 1.2  2001/07/11 09:13:36  vltsccm
00237 // logging1.2
00238 //
00239 // Revision 1.1  2001/07/11 09:13:35  vltsccm
00240 // logging1.1
00241 //
00242 // Revision 1.0  2001/07/11 09:13:35  vltsccm
00243 // logging1.0
00244 //
00245 //
00246 // ************************************************************************

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0