blob: 5b0eb8fdcdecf8a7f14e23d4d236a4ab03e599bb [file] [log] [blame]
/*
* Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#if !defined(_MESSAGEDATA_H____OF_AXIS_INCLUDED_)
#define _MESSAGEDATA_H____OF_AXIS_INCLUDED_
#include <axis/IMessageData.hpp>
#include "AdminUtils.h"
/*
* @class MessageData
* @brief interface for the MessageData class.
*
*
* @author Susantha Kumara (skumara@virtusa.com)
*/
struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
AXIS_CPP_NAMESPACE_START
using namespace std;
class MessageData : public IMessageData
{
public:
MessageData();
virtual ~MessageData();
public:
IWrapperSoapSerializer* m_pSZ;
IWrapperSoapDeSerializer* m_pDZ;
private:
void getAdminUtils(IAdminUtils** pIAdminUtils);
public:
const void* getProperty(const AxisChar* pachName);
void* getComplexProperty(const AxisChar* pachName);
int setProperty(const AxisChar* pachName, const AxisChar* pachValue);
int setProperty(const AxisChar* pachName, const void* pachValue, int len);
void setComplexProperty(const AxisChar* pachName, void* pachValue, int iObjectSize);
const AxisChar* AXISCALL getOperationName();
void setOperationName(const AxisChar* pchOperation);
void getSoapDeSerializer(IHandlerSoapDeSerializer** pIHandlerSoapDeSerializer);
void AXISCALL getSoapSerializer(IWrapperSoapSerializer** pIWSS);
void AXISCALL getSoapDeSerializer(IWrapperSoapDeSerializer** pIWSDS);
void getSoapSerializer(IHandlerSoapSerializer** pIHandlerSoapSerializer);
IWrapperSoapDeSerializer* getSoapDeserializer();
int setPastPivotState(bool bState);
bool isPastPivot();
void setDeSerializer(IWrapperSoapDeSerializer* pDZ);
void setSerializer(IWrapperSoapSerializer* pSZ);
void setUserName(string& m_sUserName);
string& getUserName();
AXIS_PROTOCOL_TYPE m_Protocol;
protected:
string m_sUserName;
string m_sOperationName;
private:
static AdminUtils m_AdminUtil;
bool m_bPastPivotState;
map <const AxisChar*, const AxisChar*, ltstr> m_Properties;
static const AxisChar* m_pachBlankPropertyValue;
map <const AxisChar*, void*, ltstr> m_ComplexProperties;
};
AXIS_CPP_NAMESPACE_END
#endif