persdevice_i.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.1 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef _PERSDEVICE_I_H_
00031 #define _PERSDEVICE_I_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + libraries
00038 
00039 // + local headers
00040 #include "deviceC.h"
00041 #include "persdeviceS.h"
00042 #include "persproditem_i.h"
00043 
00044 // + class declarations
00045 namespace OSB_LIB {
00046     class PersDevice;
00047     class PersUimCard;
00048 }
00049 
00050 // ************************************************************************
00051 // namespace extensions
00052 namespace OSB_CORBA {
00053 
00054 // ************************************************************************
00055 // forward declarations
00056 
00057 // ************************************************************************
00058 // type definitions
00059 
00060 // ************************************************************************
00061 // class definitions
00062     class PersDevice_i :
00063         public virtual POA_corba::cadmin::persproditem::PersDevice,
00064         public virtual PersProdItemWriter_i
00065     {
00066     protected:
00068         PersDevice_i (
00069                   ContractAdmin_i&                        cadmin,
00070                   PersProductWriter_i&                    ppServant,
00071             const OSB_LIB::ProductNode*                   pn,
00072                   std::auto_ptr<OSB_LIB::PersProductItem> ppi
00073         );
00074 
00075     public:
00076         // from interface PersDevice
00077         corba::dvc::DeviceId dvcId()
00078           throw (OsbCorbaException);
00079 
00080     private:
00081         // internal
00082         OSB_LIB::PersDevice* persDevice()
00083           throw (OsbCorbaException);
00084     };                                  // class PersDevice_i
00085 
00086     class PersUimCardWriter_i :
00087         public POA_corba::cadmin::persproditem::PersUimCardWriter,
00088         public PersDevice_i
00089     {
00090     public:
00091         PersUimCardWriter_i (
00092                   ContractAdmin_i&                        cadmin,
00093                   PersProductWriter_i&                    ppServant,
00094             const OSB_LIB::ProductNode*                   pn,
00095                   std::auto_ptr<OSB_LIB::PersProductItem> ppi
00096         ) throw (OsbCorbaException);
00097 
00098         // from PersProdItemWriter_i
00099         void checkConfig()
00100           throw (OsbCorbaException);
00101         // from PersUimCardWriter
00102         corba::dvc::UimCard_ptr uimCard()
00103           throw (OsbCorbaException);
00104         void setUimCard(
00105             const corba::common::Utf8String& uimId
00106         ) throw (OsbCorbaException);
00107 
00108     private:
00109         OSB_LIB::PersUimCard* persUimCard()
00110           throw (OsbCorbaException);
00111     };                                  // class PersUimCardWriter_i
00112 
00113 }                                       // namespace OSB_CORBA
00114 
00115 // ************************************************************************
00116 // inline definitions
00117 namespace OSB_CORBA {
00118 }                                       // namespace OSB_CORBA
00119 #endif                                  // #ifndef _PERSDEVICE_I_H_

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