00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef _CONTRACTADMIN_I_H_
00034 #define _CONTRACTADMIN_I_H_
00035
00036
00037
00038
00039
00040
00041 #include <billcycle.h>
00042
00043
00044 #include "contractadminS.h"
00045 #include "anclist_i.h"
00046 #include "servantlocators.h"
00047
00048
00049
00050
00051
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
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 }
00360 #endif // #ifndef _CONTRACTADMIN_I_H_