00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#if !defined(_IHEADERBLOCK_H____OF_AXIS_INCLUDED_)
00019
#define _IHEADERBLOCK_H____OF_AXIS_INCLUDED_
00020
00021
#include "BasicNode.hpp"
00022
#include "SoapEnvVersions.hpp"
00023
#include <axis/IAttribute.hpp>
00024
#include <axis/INamespace.hpp>
00025
00026 AXIS_CPP_NAMESPACE_START
00027
00028
typedef enum
00029 { ROLE_NEXT=1, ROLE_NONE=2,
00030 ROLE_ULTIMATE_RECEIVER=3,
00031 ACTOR=4, MUST_UNDERSTAND_TRUE= 5,
00032 MUST_UNDERSTAND_FALSE=6
00033 } HEADER_BLOCK_STD_ATTR_TYPE;
00034
00035
00047 class IHeaderBlock
00048 {
00049
public:
00057
00058
00059
00060
00061
00070
virtual INamespace*
createNamespaceDecl(
const AxisChar *prefix,
00071
const AxisChar *uri)=0;
00072
00073
virtual BasicNode* getFirstChild() =0;
00079
virtual int getNoOfChildren() =0;
00080
00108
virtual BasicNode*
createChild(NODE_TYPE eNODE_TYPE,
00109 AxisChar *pachLocalName, AxisChar *pachPrefix, AxisChar *pachUri,
00110 AxisChar* pachValue) = 0;
00111
00133
virtual BasicNode*
createImmediateChild(NODE_TYPE eNODE_TYPE,
00134 AxisChar *pachLocalName, AxisChar *pachPrefix, AxisChar *pachUri,
00135 AxisChar* pachValue) = 0;
00136
00169
virtual IAttribute*
createStdAttribute(HEADER_BLOCK_STD_ATTR_TYPE
00170 eStdAttrType, SOAP_VERSION eSOAP_VERSION) =0;
00171
00185
virtual IAttribute*
createAttribute(
const AxisChar* localname,
00186
const AxisChar* prefix,
00187
const AxisChar* uri,
const AxisChar* value) = 0;
00188
00201
virtual IAttribute*
createAttribute(
const AxisChar *localname,
00202
const AxisChar *prefix,
const AxisChar *value) = 0;
00211
virtual const AxisChar*
getAttributeValue(
const AxisChar* localname,
00212
const AxisChar* prefix) = 0;
00213
00214
virtual const AxisChar* getAttributeUri(
const AxisChar * localname,
00215
const AxisChar* prefix) = 0;
00216
00229
virtual BasicNode*
createImmediateChild(NODE_TYPE eNODE_TYPE) = 0;
00230
00245
virtual BasicNode*
createChild(NODE_TYPE eNODE_TYPE)=0;
00246
00254
virtual BasicNode*
getLastChild() = 0;
00255
00264
virtual BasicNode*
getChild(
int iChildPosition) = 0;
00265
00273
virtual int addChild(BasicNode* pBasicNode)=0;
00274
00281
virtual int setLocalName(
const AxisChar* localname)=0;
00282
00287
virtual const AxisChar *
getLocalName()=0;
00288
00297
virtual int setURI(
const AxisChar* uri)=0;
00298
00299
00300
00301
00302
00303
00304
00305
00306
00313
virtual int setPrefix(
const AxisChar* prefix)=0;
00314
00315
#ifdef UNIT_TESTING_ON
00316
00319
virtual int initializeForTesting() = 0;
00320
#endif
00321
00322
IHeaderBlock(){};
00323
00324
IHeaderBlock(
const IHeaderBlock& rCopy){};
00325
00331
virtual IHeaderBlock*
clone() = 0;
00332
00336 virtual ~IHeaderBlock() {};
00337 };
00338
00339 AXIS_CPP_NAMESPACE_END
00340
00341
#endif
00342