contractadmin_i.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00008 /*
00009   AUTHOR(S): Darryl Kang (dk)
00010 
00011   RCS information
00012    $Name: OSB_060808 $
00013    $Revision: 1.47 $
00014 
00015   License
00016    OSB rating and billing library for communication networks
00017    Copyright (C) 2004, 2005, 2006  OSB systems
00018 
00019    This file may be distributed and/or modify under the terms of the
00020    GNU General Public License (GPL) as published by the Free Software
00021    Foundation which is provided in the file LICENSE.GPL included in the
00022    packaging of this file.
00023 
00024    The file is distributed in the hope that it will be useful, but WITHOUT
00025    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00026    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00027    for more details.
00028 
00029    Holders of a OSB Commercial License may use this file under the terms
00030    and conditions of this commercial license.
00031  */
00032 
00033 #ifndef _CONTRACTADMIN_I_H_
00034 #define _CONTRACTADMIN_I_H_
00035 
00036 // *********************************************************************
00037 // included header files
00038 // + standard includes
00039 
00040 // + libraries
00041 #include <billcycle.h>
00042 
00043 // + locals
00044 #include "contractadminS.h"
00045 #include "anclist_i.h"
00046 #include "servantlocators.h"
00047 
00048 // + class declarations
00049 
00050 // *********************************************************************
00051 // namespace extensions
00052 namespace OSB_CORBA {
00053 
00054     using namespace corba::cadmin::addr;
00055     using namespace corba::cadmin;
00056     using namespace corba::common;
00057 
00058     using corba::tcat::ts::TariffSystemId;
00059     using corba::tcat::ts::TariffSystem;
00060     using corba::tcat::ts::TariffSystemSeq;
00061     using corba::pcat::pd::ProductId;
00062     using corba::pcat::pp::ProductPartId;
00063 
00064     // *****************************************************************
00065     // class ContractAdmin_i
00066     class ContractAdmin_i :
00067         public virtual POA_corba::cadmin::ContractAdmin
00068     {
00069     public:
00070         static const std::string IFC;
00071 
00072         ContractAdmin_i(
00073             const ServerInfo&              info,
00074             PortableServer::POA_ptr        rootPoa,
00075             PortableServer::POAManager_ptr poaManager
00076         );
00077 
00078     private:
00079         void createPoas(
00080             PortableServer::POA_ptr        rootPoa,
00081             PortableServer::POAManager_ptr poaManager
00082         );
00083 
00084     public:
00085         // -------------------------------------------------------------
00098         virtual ServerInfo* getServerInfo()
00099             throw (CORBA::SystemException);
00100 
00108         virtual AnCList_ptr getAnCList()
00109             throw (CORBA::SystemException, OsbCorbaException);
00110 
00112         virtual Accounting_ptr getAccounting(
00113             CORBA::Boolean noWait
00114         ) throw (CORBA::SystemException, OsbCorbaException);
00115 
00117         virtual ProductSeq* getProducts()
00118             throw (CORBA::SystemException);
00119 
00121         virtual Product* getProduct(
00122             const ProductId& id
00123         ) throw (CORBA::SystemException, OsbCorbaException);
00124 
00126         virtual ProductPart* getProductPart(
00127             const ProductId& id,
00128             const ProductPartId& ppId
00129         ) throw (CORBA::SystemException, OsbCorbaException);
00130 
00132         virtual void refreshProductCatalogue(
00133             CORBA::Boolean noWait
00134         ) throw (CORBA::SystemException, OsbCorbaException);
00135 
00137         virtual void refreshTariffCatalogue(
00138             CORBA::Boolean noWait
00139         ) throw (CORBA::SystemException, OsbCorbaException);
00140 
00142         virtual AddressType* getAddressType(
00143             const AddrTypeId& id
00144         ) throw (CORBA::SystemException, OsbCorbaException);
00145 
00147         virtual AddressTypeSeq* getAddressTypes()
00148             throw (CORBA::SystemException, OsbCorbaException);
00149 
00151         virtual StatusReason* getStatusReason(
00152             const StatusReasonId& id
00153         ) throw (CORBA::SystemException, OsbCorbaException);
00154 
00156         virtual StatusReasonSeq* getStatusReasons()
00157             throw (CORBA::SystemException, OsbCorbaException);
00158 
00160         virtual BillCycle* getBillCycle(
00161             const BillCycleId& id
00162         ) throw (CORBA::SystemException, OsbCorbaException);
00163 
00165         virtual BillCycleSeq* getBillCycles()
00166             throw  (CORBA::SystemException, OsbCorbaException);
00167 
00194         virtual CORBA::Boolean creChargeTraits(
00195             const CurrencyCode&    currency,
00196             const RoundRuleId&     rrId,
00197             const Utf8String&      accCode,
00198             const Utf8String&      numFormat,
00199             const TaxKeyId&        tkId,
00200                   ChargeType       cType,
00201                   CORBA::Boolean   noWait,
00202                   ChargeTraits_out chrgTraits
00203         ) throw (CORBA::SystemException, OsbCorbaException);
00204 
00206 
00207 
00216         virtual TariffSystem* getTariffSystem(
00217             const TariffSystemId& id
00218         ) throw (CORBA::SystemException, OsbCorbaException);
00219 
00227         virtual TariffSystemSeq* getTariffSystems()
00228             throw (CORBA::SystemException);
00230 
00243         StatusReqResult procStatusRequest(
00244             const StatusRequestId& srqId,
00245                   CfgErrorSeq_out  errors
00246         ) throw (CORBA::SystemException, OsbCorbaException);
00247 
00257         CfgErrorSeq* delStatusRequest(
00258             const StatusRequestId& srqId
00259         ) throw (CORBA::SystemException, OsbCorbaException);
00260 
00262         PortableServer::POA_ptr assocPoa();
00264         PortableServer::POA_ptr contrPoa();
00266         PortableServer::POA_ptr addrPoa();
00268         PortableServer::POA_ptr ppPoa();
00270         PortableServer::POA_ptr ppnPoa();
00272         PortableServer::POA_ptr ppiPoa();
00274         PortableServer::POA_ptr bsPoa();
00276         PortableServer::POA_ptr bsPagePoa();
00278         PortableServer::POA_ptr ansPoa();
00279 
00281         Locators& ancListLoc();
00283         Locators& assocLoc();
00285         Locators& addrLoc();
00287         Locators& contrLoc();
00289         Locators& ppLoc();
00291         Locators& ppnLoc();
00293         Locators& ppiLoc();
00295         Locators& bsLoc();
00297         Locators& bsPageLoc();
00299         Locators& ansLoc();
00300 
00301     private:
00303         ServerInfo info_;
00304 
00306         Locators::Key accServant_;
00307 
00309         PortableServer::POA_var assocPoa_;
00311         PortableServer::POA_var addrPoa_;
00313         PortableServer::POA_var contrPoa_;
00315         PortableServer::POA_var ancListPoa_;
00317         PortableServer::POA_var accPoa_;
00319         PortableServer::POA_var ppPoa_;
00321         PortableServer::POA_var ppnPoa_;
00323         PortableServer::POA_var ppiPoa_;
00325         PortableServer::POA_var bsPoa_;
00327         PortableServer::POA_var bsPagePoa_;
00329         PortableServer::POA_var ansPoa_;
00330 
00332         Locators ancListLoc_;
00334         Locators accLoc_;
00336         Locators assocLoc_;
00338         Locators contrLoc_;
00340         Locators addrLoc_;
00342         Locators ppLoc_;
00344         Locators ppnLoc_;
00346         Locators ppiLoc_;
00348         Locators bsLoc_;
00350         Locators bsPageLoc_;
00352         Locators ansLoc_;
00353 
00355         OSB_LIB::BillcycleList billCycleList_;
00356     };
00357 
00358     // *****************************************************************
00359 }                                       // namespace OSB_CORBA
00360 #endif                                  // #ifndef _CONTRACTADMIN_I_H_

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