productitemfactory.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00016 /*
00017   AUTHOR(S): Stephan Broennimann (vb)
00018 
00019   RCS information
00020    $Name: OSB_060808 $
00021    $Revision: 1.13 $
00022 
00023   License
00024    OSB rating and billing library for communication networks
00025    Copyright (C) 2004, 2005, 2006  OSB systems
00026 
00027    This file may be distributed and/or modify under the terms of the
00028    GNU General Public License (GPL) as published by the Free Software
00029    Foundation which is provided in the file LICENSE.GPL included in the
00030    packaging of this file.
00031 
00032    The file is distributed in the hope that it will be useful, but WITHOUT
00033    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00034    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00035    for more details.
00036 
00037    Holders of a OSB Commercial License may use this file under the terms
00038    and conditions of this commercial license.
00039  */
00040 #ifndef _PRODUCTITEMFACTORY_H_
00041 #define _PRODUCTITEMFACTORY_H_
00042 
00043 // *********************************************************************
00044 // included header files
00045 // + standard includes
00046 #include <memory>
00047 
00048 // + local headers
00049 #include "productitem.h"
00050 #include "persitem.h"
00051 
00052 // *********************************************************************
00053 // namespace extensions
00054 namespace OSB_LIB {
00055 
00056 // *********************************************************************
00057 // class definitions
00058 
00059     // *****************************************************************
00060     // class ProductItemFactory
00071     class ProductItemFactory {
00072     public:
00085         static ProductItem::AutoPtr create(
00086                   ProductItem::Type type,
00087             const ProductItem::Oid& oid
00088         );
00089 
00106         static PersProductItem::AutoPtr create(
00107                   ProductItem::Type     type,
00108             const PersProductItem::Oid& oid
00109         );
00110 
00111     private:
00113         ProductItemFactory();
00115         ProductItemFactory(const ProductItemFactory& rhs);
00116     };
00117 
00118 }                                       // namespace OSB_LIB
00119 #endif                                  // #ifndef _PRODUCTITEMFACTORY_H_

Generated on Sat Sep 2 14:06:34 2006 for OSB Library by  doxygen 1.4.7