blob: 960f1796496cab39979b5941ecab87b447560abe [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.
*/
#ifdef WIN32
#pragma warning (disable : 4786)
#endif
#if !defined(__HANDLER_OF_AXIS_INCLUDED__)
#define __HANDLER_OF_AXIS_INCLUDED__
#include <axis/BasicHandler.hpp>
/**
* @file Handler.hpp
*/
/**
* @class Handler
* @brief interface for handlers.
*
*/
AXIS_CPP_NAMESPACE_START
class Handler : public HandlerBase
{
public:
/**
* Constructor.
*/
Handler(){};
/**
* Destructor.
*/
virtual ~Handler(){};
/**
* Returns the value of the given option.
*
* @param sArg The option name, i.e key
* @return The option value.
*/
const string& getOption(const string& sArg)
{
m_sEmpty = "";
map<string, string>::const_iterator it = m_pOption->find(sArg);
if (it != m_pOption->end())
{
return (*it).second;
}
return m_sEmpty;
}
/**
* This method is automatically called by the Axis Engine when it loads a
* Handler. The purpose of this method is described below:
* For each Handler we could configure various parameters/options in the
* Server.wsdd or Client.wsdd. If the engine finds any such options then
* the engine will automaticaly call this method of each handler and will
* set those options to each Handler by calling this method of each
* Handler which those configuration options belong to. Normaly a Handler
* writer doesn't need to interact/deal with this method.
*
* @param OptionList The map which contains the options to be set.
*/
void setOptionList(const map<string, string>* OptionList) {m_pOption = OptionList;};
/**
* Gets and returns the type of the handler. The return value here is
* always NORMAL_HANDLER.
*
* @return returns the type of the handler. The return value here is
* always NORMAL_HANDLER.
*/
int AXISCALL getType(){return NORMAL_HANDLER;};
protected:
/**
* Used to store the options which are configured in the WSDD.
*/
const map<string, string>* m_pOption;
/**
* Represents an empty string.
*/
string m_sEmpty;
};
AXIS_CPP_NAMESPACE_END
#endif