00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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
00045
00046
00047
00048
00049
00050
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