Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

WSDDDocument.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(__WSDDDOCUMENT_H_INCLUDED__)
00018 #define __WSDDDOCUMENT_H_INCLUDED__
00019 
00020 #include "WSDDDeployment.h"
00021 #include <axis/server/WSDDService.h>
00022 #include "../xml/QName.h"
00023 
00024 enum WSDDLevels {WSDD_UNKNOWN=1, WSDD_DEPLOYMENT, WSDD_UNDEPLOYMENT,
00025                  WSDD_GLOBCONF, WSDD_SERVICE, WSDD_HANDLER, WSDD_CHAIN,
00026                  WSDD_TRANSPORT, WSDD_REQFLOW, WSDD_RESFLOW, WSDD_PARAM };
00027 
00028 /* wsdd file related defines */
00029 #define METHODNAME_SEPARATOR ' '
00030 #define ROLENAME_SEPARATOR ','
00031 #define TRANSCODE_BUFFER_SIZE 1024
00032 /*
00033  *   @class WSDDDocument
00034  *   @brief Interface for WSDD processor
00035  *   @author Suasntha Kumara (skumara@virtusa.com, susantha@opensource.lk)
00036  */
00037 class WSDDDocument
00038 {
00039 protected: 
00040     bool m_bFatalError;
00041     bool m_bError;
00042     int m_nLibId;
00043     map<AxisString, int>* m_pLibNameIdMap;
00044     WSDDDeployment* m_pDeployment; 
00045     WSDDLevels m_lev0;
00046     WSDDLevels m_lev1;   /* gets values WSDD_REQFLOW or WSDD_RESFLOW */
00047     WSDDLevels m_lev2;   /* gets values WSDD_HANDLER or WSDD_CHAIN */
00048     map<AxisXMLString, AxisXMLString> m_NsStack;
00049     WSDDService* m_pService;   
00050     /* Place holder for currently created Service object */
00051     WSDDHandler* m_pHandler;   
00052     /* Place holder for currently created Handler object */
00053     AXIS_PROTOCOL_TYPE m_CurTrType;   
00054     /* Current transport type of transport handlers */
00055     AxisChar m_Buffer[TRANSCODE_BUFFER_SIZE];   
00056     /* used to transcode 'XMLCh' to AxisChar */
00057 public:
00058     virtual ~WSDDDocument(){};
00059     virtual int GetDeployment(const AxisChar* sWSDD,
00060         WSDDDeployment* pDeployment)=0;
00061     virtual int UpdateDeployment(const AxisChar* sWSDD,
00062         WSDDDeployment* pDeployment)=0;
00063 };
00064 
00065 #endif 
00066 

Generated on Fri Apr 9 12:21:29 2004 for axiscpp by doxygen1.2.18