numberanalyzer_i.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00021 /*
00022   AUTHOR(S): Darryl Kang (dk)
00023 
00024   RCS information
00025    $Name: OSB_060808 $
00026    $Revision: 1.9 $
00027 
00028   License
00029    OSB rating and billing library for communication networks
00030    Copyright (C) 2004, 2005, 2006  OSB systems
00031 
00032    This file may be distributed and/or modify under the terms of the
00033    GNU General Public License (GPL) as published by the Free Software
00034    Foundation which is provided in the file LICENSE.GPL included in the
00035    packaging of this file.
00036 
00037    The file is distributed in the hope that it will be useful, but WITHOUT
00038    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00039    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00040    for more details.
00041 
00042    Holders of a OSB Commercial License may use this file under the terms
00043    and conditions of this commercial license.
00044  */
00045 #ifndef _NUMBERANALYZER_I_H_
00046 #define _NUMBERANALYZER_I_H_
00047 
00048 // *********************************************************************
00049 // included header files
00050 // + standard includes
00051 
00052 // + local headers
00053 #include "utf8string.h"
00054 
00055 #include "numberanalyzerS.h"
00056 #include "networkmanager_i.h"
00057 #include "numberanalyzer01.h"
00058 
00059 namespace OSB_CORBA {
00060     using namespace corba::common;
00061     using namespace corba::nwmgr;
00062     using namespace corba::nwmgr::numanalyzer;
00063     using corba::nwaddr::Ton;
00064 
00065     // *****************************************************************
00066     // class NumberAnalyzer_i
00072     class NumberAnalyzer_i :
00073         public virtual POA_corba::nwmgr::numanalyzer::NumberAnalyzer
00074     {
00075     public:
00076 
00078         static const std::string IFC;
00079 
00081         NumberAnalyzer_i(
00082                   NetworkManager_i&            nmgri,
00083             const OSB_LIB::NumberAnalyzer* num
00084         ) : nmgri_(nmgri), analyzer_(num)
00085         {
00086             // empty body
00087         };
00088 
00090         virtual ~NumberAnalyzer_i() {};
00091 
00099 
00101         virtual NumberAnalyzerId id()
00102             throw (CORBA::SystemException);
00104 
00105     protected:
00107         NetworkManager_i& nmgri_;
00108 
00110         const OSB_LIB::NumberAnalyzer* analyzer_;
00111     };
00112 
00113     // *****************************************************************
00114     // class NumberAnalyzerWriter_i
00120     class NumberAnalyzerWriter_i :
00121         public virtual POA_corba::nwmgr::numanalyzer::NumberAnalyzerWriter,
00122         public virtual NumberAnalyzer_i
00123     {
00124     public:
00125 
00127         static const std::string IFC;
00128 
00130         NumberAnalyzerWriter_i(
00131             NetworkManager_i&            nmgri,
00132             OSB_LIB::NumberAnalyzer* num
00133         );
00134 
00136         virtual ~NumberAnalyzerWriter_i() {};
00137 
00138     protected:
00140         NetworkManager_i&               nmgri_;
00141 
00143         OSB_LIB::NumberAnalyzer*    analyzer_;
00144     };
00145 
00146     // *****************************************************************
00147     // class NumberAnalyzer01_i
00153     class NumberAnalyzer01_i :
00154         public virtual POA_corba::nwmgr::numanalyzer::NumberAnalyzer01,
00155         public virtual NumberAnalyzer_i
00156     {
00157     public:
00158 
00160         static const std::string IFC;
00161 
00163         NumberAnalyzer01_i(
00164                   NetworkManager_i&            nmgri,
00165             const OSB_LIB::NumberAnalyzer* num
00166         ) : NumberAnalyzer_i(nmgri, num)
00167         {
00168             // empty body
00169         };
00170 
00172         virtual ~NumberAnalyzer01_i() {};
00173 
00181 
00183         virtual Utf8String* addPrefix()
00184             throw (CORBA::SystemException, OsbCorbaException);
00185 
00187         virtual Utf8String* rmPrefix()
00188             throw (CORBA::SystemException, OsbCorbaException);
00189 
00191         virtual Ton typeOfNum()
00192             throw (CORBA::SystemException, OsbCorbaException);
00194     };
00195 
00196     // *****************************************************************
00197     // class NumberAnalyzerWriter01_i
00203     class NumberAnalyzer01Writer_i :
00204         public virtual POA_corba::nwmgr::numanalyzer::NumberAnalyzer01Writer,
00205         public NumberAnalyzerWriter_i,
00206         public NumberAnalyzer01_i
00207     {
00208     public:
00209 
00211         static const std::string IFC;
00212 
00214         NumberAnalyzer01Writer_i(
00215             NetworkManager_i&            nmgri,
00216             OSB_LIB::NumberAnalyzer* num
00217         ) : NumberAnalyzer_i(nmgri, num),
00218             NumberAnalyzerWriter_i(nmgri, num),
00219             NumberAnalyzer01_i(nmgri, num)
00220         {
00221             // empty body.
00222         };
00223 
00225         virtual ~NumberAnalyzer01Writer_i() {};
00226 
00228         virtual void setAddPrefix(
00229             const Utf8String& prefix
00230         ) throw (CORBA::SystemException, OsbCorbaException);
00231 
00233         virtual void setRmPrefix(
00234             const Utf8String& prefix
00235         ) throw (CORBA::SystemException, OsbCorbaException);
00236 
00238         virtual void setTypeOfNum(
00239             Ton typeOfNum
00240         ) throw (CORBA::SystemException, OsbCorbaException);
00241     };
00242 
00243     // *****************************************************************
00244     // class NumberAnalyzerFactory
00250     class NumberAnalyzerFactory
00251     {
00252     public:
00253         NumberAnalyzer_i* makeNumAnalyzer(
00254                   NetworkManager_i&            nmgri,
00255             const OSB_LIB::NumberAnalyzer* num
00256         ) throw (OsbCorbaException);
00257 
00258         NumberAnalyzerWriter_i* makeNumAnalyzerWriter(
00259             NetworkManager_i&            nmgri,
00260             OSB_LIB::NumberAnalyzer* num
00261         ) throw (OsbCorbaException);
00262     };
00263 
00264     // *****************************************************************
00265     // local implementation.
00273     const OSB_LIB::NumberAnalyzer01* numberAnalyzer01(
00274         const OSB_LIB::NumberAnalyzer* num
00275     ) throw (OsbCorbaException);
00276 
00284     OSB_LIB::NumberAnalyzer01* numberAnalyzer01(
00285         OSB_LIB::NumberAnalyzer* num
00286     ) throw (OsbCorbaException);
00287 
00288 } // namespace OSB_CORBA
00289 #endif                                  // #ifndef _NUMBERANALYZER_I_H_

Generated on Sat Sep 2 14:25:52 2006 for OSB Library by  doxygen 1.4.7