00001 // OSB library ********************************************* -*- IDL -*- 00011 /* 00012 AUTHOR(S): Darryl Kang (dk) 00013 00014 RCS information 00015 $Name: OSB_060808 $ 00016 $Revision: 1.38.2.1 $ 00017 00018 License 00019 OSB rating and billing library for communication networks 00020 Copyright (C) 2004, 2005, 2006 OSB systems 00021 00022 This file may be distributed and/or modify under the terms of the 00023 GNU General Public License (GPL) as published by the Free Software 00024 Foundation which is provided in the file LICENSE.GPL included in the 00025 packaging of this file. 00026 00027 The file is distributed in the hope that it will be useful, but WITHOUT 00028 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00029 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00030 for more details. 00031 00032 Holders of a OSB Commercial License may use this file under the terms 00033 and conditions of this commercial license. 00034 */ 00035 00036 #ifndef CONTRACTADMIN_IDL 00037 #define CONTRACTADMIN_IDL 00038 // ************************************************************ 00039 #include "anclist.idl" 00040 #include "associate.idl" 00041 #include "corba_status.idl" 00042 #include "corba_utility.idl" 00043 #include "product.idl" 00044 #include "tariffobject.idl" 00045 00046 module corba { 00047 module cadmin { 00053 struct Product { 00055 pcat::pd::ProductId id; 00056 00058 common::Utf8String name; 00059 00061 common::Utf8String desc; 00062 }; 00063 00065 typedef sequence<Product> ProductSeq; 00066 00068 struct PpType { 00070 pcat::pp::PpTypeId id; 00071 00073 common::Utf8String name; 00074 00076 common::Utf8String desc; 00077 }; 00078 00084 struct ProductPart { 00086 pcat::pp::ProductPartId id; 00087 00089 pcat::pp::ProductPartId parentId; 00090 00092 PpType type; 00093 00095 common::Utf8String name; 00096 00098 common::Utf8String desc; 00099 00101 boolean canPersonalize; 00102 00104 long mandatory; 00105 00107 common::Utf8String configDes; 00108 00110 common::Utf8String defPersDes; 00111 }; 00112 00118 interface ContractAdmin { 00120 readonly attribute common::ServerInfo getServerInfo; 00121 00128 AnCList getAnCList() raises (common::OsbCorbaException); 00129 00131 common::Accounting getAccounting( 00132 in boolean noWait 00133 ) raises (common::OsbCorbaException); 00134 00136 ProductSeq getProducts(); 00137 00139 Product getProduct( 00140 in pcat::pd::ProductId id 00141 ) raises (common::OsbCorbaException); 00142 00144 ProductPart getProductPart( 00145 in pcat::pd::ProductId id, 00146 in pcat::pp::ProductPartId ppId 00147 ) raises (common::OsbCorbaException); 00148 00150 void refreshProductCatalogue( 00151 in boolean noWait 00152 ) raises (common::OsbCorbaException); 00153 00155 void refreshTariffCatalogue( 00156 in boolean noWait 00157 ) raises (common::OsbCorbaException); 00158 00160 cadmin::addr::AddressType getAddressType( 00161 in cadmin::addr::AddrTypeId id 00162 ) raises (common::OsbCorbaException); 00163 00165 cadmin::addr::AddressTypeSeq getAddressTypes() 00166 raises(common::OsbCorbaException); 00167 00169 StatusReason getStatusReason( 00170 in StatusReasonId id 00171 ) raises (common::OsbCorbaException); 00172 00174 StatusReasonSeq getStatusReasons() 00175 raises (common::OsbCorbaException); 00176 00178 cadmin::contract::BillCycle getBillCycle( 00179 in cadmin::BillCycleId id 00180 ) raises (common::OsbCorbaException); 00181 00183 cadmin::contract::BillCycleSeq getBillCycles() 00184 raises (common::OsbCorbaException); 00185 00210 boolean creChargeTraits( 00211 in common::CurrencyCode currency, 00212 in common::RoundRuleId rrId, 00213 in common::Utf8String accCode, 00214 in common::Utf8String numFormat, 00215 in common::TaxKeyId tkId, 00216 in common::ChargeType cType, 00217 in boolean noWait, 00218 out common::ChargeTraits chrgTraits 00219 ) raises (common::OsbCorbaException); 00220 00222 00223 00231 tcat::ts::TariffSystem getTariffSystem( 00232 in tcat::ts::TariffSystemId tsId 00233 ) raises (common::OsbCorbaException); 00234 00236 tcat::ts::TariffSystemSeq getTariffSystems(); 00238 00240 00241 00253 StatusReqResult procStatusRequest( 00254 in cadmin::StatusRequestId srqId, 00255 out common::CfgErrorSeq errors 00256 ) raises (common::OsbCorbaException); 00257 00267 common::CfgErrorSeq delStatusRequest( 00268 in StatusRequestId srqId 00269 ) raises (common::OsbCorbaException); 00271 }; 00272 }; 00273 }; 00274 #endif // CONTRACTADMIN_IDL