00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#if !defined(_IHEADERBLOCK_H____OF_AXIS_INCLUDED_)
00018
#define _IHEADERBLOCK_H____OF_AXIS_INCLUDED_
00019
00020
#include "BasicNode.hpp"
00021
#include "SoapEnvVersions.hpp"
00022
#include <axis/IAttribute.hpp>
00023
#include <axis/INamespace.hpp>
00024
00025 AXIS_CPP_NAMESPACE_START
00026
00027
typedef enum
00028 { ROLE_NEXT=1, ROLE_NONE=2,
00029 ROLE_ULTIMATE_RECEIVER=3,
00030 ACTOR=4, MUST_UNDERSTAND_TRUE= 5,
00031 MUST_UNDERSTAND_FALSE=6
00032 } HEADER_BLOCK_STD_ATTR_TYPE;
00033
00034
00046 class IHeaderBlock
00047 {
00048
public:
00056
00057
00058
00059
00060
00069
virtual INamespace*
createNamespaceDecl(
const AxisChar *prefix,
00070
const AxisChar *uri)=0;
00071
00072
virtual BasicNode* getFirstChild() =0;
00078
virtual int getNoOfChildren() =0;
00079
00107
virtual BasicNode*
createChild(NODE_TYPE eNODE_TYPE,
00108 AxisChar *pachLocalName, AxisChar *pachPrefix, AxisChar *pachUri,
00109 AxisChar* pachValue) = 0;
00110
00132
virtual BasicNode*
createImmediateChild(NODE_TYPE eNODE_TYPE,
00133 AxisChar *pachLocalName, AxisChar *pachPrefix, AxisChar *pachUri,
00134 AxisChar* pachValue) = 0;
00135
00165
virtual IAttribute*
createStdAttribute(HEADER_BLOCK_STD_ATTR_TYPE
00166 eStdAttrType, SOAP_VERSION eSOAP_VERSION) =0;
00167
00178
virtual IAttribute*
createAttribute(
const AxisChar* localname,
00179
const AxisChar* prefix,
00180
const AxisChar* uri,
const AxisChar* value) = 0;
00181
00191
virtual IAttribute*
createAttribute(
const AxisChar *localname,
00192
const AxisChar *prefix,
const AxisChar *value) = 0;
00201
virtual const AxisChar*
getAttributeValue(
const AxisChar* localname,
00202
const AxisChar* prefix) = 0;
00203
00204
00217
virtual BasicNode*
createImmediateChild(NODE_TYPE eNODE_TYPE) = 0;
00218
00233
virtual BasicNode*
createChild(NODE_TYPE eNODE_TYPE)=0;
00234
00242
virtual BasicNode*
getLastChild() = 0;
00243
00252
virtual BasicNode*
getChild(
int iChildPosition) = 0;
00253
00260
virtual int addChild(BasicNode* pBasicNode)=0;
00261
00267
virtual void setLocalName(
const AxisChar* localname)=0;
00268
00273
virtual const AxisChar *
getLocalName()=0;
00274
00281
virtual void setUri(
const AxisChar* uri)=0;
00282
00283
00284
00285
00286
00287
00288
00289
00290
00296
virtual void setPrefix(
const AxisChar* prefix)=0;
00297
00298
#ifdef UNIT_TESTING_ON
00299
00302
virtual int initializeForTesting() = 0;
00303
#endif
00304
00305
IHeaderBlock(){};
00306
00307
IHeaderBlock(
const IHeaderBlock& rCopy){};
00308
00314
virtual IHeaderBlock*
clone() = 0;
00315
00319 virtual ~IHeaderBlock() {};
00320 };
00321
00322 AXIS_CPP_NAMESPACE_END
00323
00324
#endif
00325