Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

SoapHeader.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  */
00016 
00017 #if !defined(_SOAPHEADER_H____OF_AXIS_INCLUDED_)
00018 #define _SOAPHEADER_H____OF_AXIS_INCLUDED_
00019 
00020 #include "ISoapHeader.h"
00021 
00043 /*
00044  * Revision 1.1  2004/06/13 roshan
00045  * Added doxygen comments to help autobuild API docs
00046  */
00047 
00048 /*
00049  * Revision 1.2  2004/07/01 roshan
00050  * Added doxygen comments to help autobuild API docs
00051  */
00052 
00053 typedef enum 
00054 { 
00055     HEADER_LEVEL=0, HEADER_BLOCK_LEVEL, HEADER_BLOCK_INSIDE_LEVEL
00056 } HEADER_LEVELS;
00057 
00058 class SoapHeader : public ISoapHeader
00059 {
00060 private:    
00061     int serializeNamespaceDecl(SoapSerializer& pSZ);
00062     
00063     int serializeAttributes(SoapSerializer& pSZ);
00064     
00065     list<Attribute*> m_attributes;
00066     list<Attribute*> m_namespaceDecls;
00067     list<IHeaderBlock*> m_headerBlocks;
00068     
00069     const char* m_pcPrefix;
00070 public:
00081     IHeaderBlock* getHeaderBlock(const AxisChar* pName, 
00082         const AxisChar* pNamespace, bool bRemoveOrNot);
00083 
00089     int setPrefix(const char* pcPrefix);
00090 
00096     IHeaderBlock* getHeaderBlock(bool bRemoveOrNot);
00097 
00106     int addNamespaceDecl(Attribute* pAttribute);
00107 
00115     int addAttribute(Attribute* pAttribute);
00116     
00117     int serialize(SoapSerializer& pSZ, SOAP_VERSION eSoapVersion);
00118     
00124     void addHeaderBlock(IHeaderBlock* headerBlock);
00125 
00129     SoapHeader();
00130 
00134     virtual ~SoapHeader();
00135 };
00136 
00137 #endif 
00138 

Generated on Fri Jul 9 13:18:29 2004 for AxisC++ by doxygen1.2.18