00001 /* -*- C++ -*- */ 00002 /* 00003 * Copyright 2003-2004 The Apache Software Foundation. 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 * 00017 */ 00018 00019 #if !defined(AXIS_SERIALIZERPOOL_H__INCLUDED_) 00020 #define AXIS_SERIALIZERPOOL_H__INCLUDED_ 00021 00022 #include "SharedObject.h" 00023 #include <axis/server/SoapSerializer.h> 00024 #include <axis/server/GDefine.h> 00025 #include <list> 00026 00027 using namespace std; 00028 /* 00029 * @class SerializerPool 00030 * @brief interface for the SerializerPool class. 00031 * 00032 * 00033 * @author Susantha Kumara (skumara@virtusa.com) 00034 */ 00035 00036 class SerializerPool:protected SharedObject 00037 { 00038 public: 00039 SerializerPool (); 00040 virtual ~ SerializerPool (); 00041 private: 00042 list <SoapSerializer*>m_SZList; 00043 public: 00044 int GetInstance (SoapSerializer** ppSZ); 00045 int PutInstance (SoapSerializer* pSZ); 00046 }; 00047 00048 #endif