00001 /* 00002 * ============================================================================== 00003 * Name : SenDomFragment.h 00004 * Part of : Web Services Xml 00005 * Interface : 00006 * Description : Class implements DOM fragment functionality 00007 * Version : 00008 * 00009 * Copyright © 2002-2005 Nokia. All rights reserved. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia. All rights are reserved. Copying, including 00013 * reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef SEN_DOM_FRAGMENT_H 00022 #define SEN_DOM_FRAGMENT_H 00023 00024 // INCLUDES 00025 #include <SenBaseFragment.h> 00026 00027 // FORWARD DECLARATIONS 00028 class RFileLogger; 00029 00030 // CLASS DECLARATION 00031 00044 class CSenDomFragment : public CSenBaseFragment 00045 { 00046 public: // Constructors and destructor 00047 00054 IMPORT_C static CSenDomFragment* NewL(); 00055 00061 IMPORT_C static CSenDomFragment* NewL( 00062 const CSenElement& aElement); 00063 00073 IMPORT_C static CSenDomFragment* NewL(const TDesC8& aLocalName); 00074 00085 IMPORT_C static CSenDomFragment* NewL(const TDesC8& aNsUri, 00086 const TDesC8& aLocalName); 00087 00099 IMPORT_C static CSenDomFragment* NewL(const TDesC8& aNsUri, 00100 const TDesC8& aLocalName, 00101 const TDesC8& aQName); 00102 00115 IMPORT_C static CSenDomFragment* NewL(const TDesC8& aNsUri, 00116 const TDesC8& aLocalName, 00117 const TDesC8& aQName, 00118 const RAttributeArray& aAttrs); 00119 00133 IMPORT_C static CSenDomFragment* NewL(const TDesC8& aNsUri, 00134 const TDesC8& aLocalName, 00135 const TDesC8& aQName, 00136 const RAttributeArray& aAttrs, 00137 CSenElement& aParent); 00138 00142 IMPORT_C virtual ~CSenDomFragment(); 00143 00144 // New functions 00145 00156 IMPORT_C virtual void ExpandL(const TDesC8& aNsUri, 00157 const TDesC8& aLocalName, 00158 const TDesC8& aQName, 00159 const RAttributeArray& aAttrs); 00160 00161 // Functions from base classes 00162 00163 // From CSenBaseFragment 00164 00173 IMPORT_C void ResumeParsingFromL(const TDesC8& aNsUri, 00174 const TDesC8& aLocalName, 00175 const TDesC8& aQName); 00176 00183 IMPORT_C virtual void ParseWithL(CSenXmlReader& aReader); 00184 00190 IMPORT_C virtual void SetAttributesL(const RAttributeArray& aAttrs); 00191 00192 protected: 00193 00197 IMPORT_C CSenDomFragment(); 00198 00204 IMPORT_C void BaseConstructL(const CSenElement& aElement); 00205 00211 IMPORT_C void BaseConstructL(const TDesC8& aLocalName); 00212 00219 IMPORT_C void BaseConstructL(const TDesC8& aNsUri, 00220 const TDesC8& aLocalName); 00221 00229 IMPORT_C void BaseConstructL(const TDesC8& aNsUri, 00230 const TDesC8& aLocalName, 00231 const TDesC8& aQName); 00232 00241 IMPORT_C void BaseConstructL(const TDesC8& aNsUri, 00242 const TDesC8& aLocalName, 00243 const TDesC8& aQName, 00244 const RAttributeArray& aAttrs); 00245 00255 IMPORT_C void BaseConstructL(const TDesC8& aNsUri, 00256 const TDesC8& aLocalName, 00257 const TDesC8& aQName, 00258 const RAttributeArray& aAttrs, 00259 CSenElement& aParent); 00260 00266 IMPORT_C void BaseConstructL(CSenXmlReader& aReader); 00267 00268 // Functions from base classes 00269 00275 // From CSenBaseFragment 00276 00284 IMPORT_C virtual void StartElementL(const TDesC8& aNsUri, 00285 const TDesC8& aLocalName, 00286 const TDesC8& aQName, 00287 const RAttributeArray& aAttrs); 00288 00297 IMPORT_C virtual void CharactersL(const TDesC8& aChars,TInt aStart,TInt aLength); 00298 00308 IMPORT_C void WriteStartElementL(const TDesC8& aNsUri, 00309 const TDesC8& aLocalName, 00310 const TDesC8& aQName, 00311 const RAttributeArray& aAttrs); 00312 00321 IMPORT_C void WriteEndElementL(const TDesC8& aNsUri, 00322 const TDesC8& aLocalName, 00323 const TDesC8& aQName); 00324 00325 protected: // Data 00326 CSenDomFragment* ipDomDelegate; 00327 }; 00328 00329 //SEN_DOM_FRAGMENT_H 00330 #endif 00331 00332 // End of File 00333 00334 00335