00001 // OSB library ********************************************* -*- IDL -*- 00015 /* 00016 AUTHOR(S): Elangovan Angannan (aen) 00017 00018 RCS information 00019 $Name: OSB_060808 $ 00020 $Revision: 1.10.2.1 $ 00021 00022 License 00023 OSB rating and billing library for communication networks 00024 Copyright (C) 2004, 2005, 2006 OSB systems 00025 00026 This file may be distributed and/or modify under the terms of the 00027 GNU General Public License (GPL) as published by the Free Software 00028 Foundation which is provided in the file LICENSE.GPL included in the 00029 packaging of this file. 00030 00031 The file is distributed in the hope that it will be useful, but WITHOUT 00032 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00033 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00034 for more details. 00035 00036 Holders of a OSB Commercial License may use this file under the terms 00037 and conditions of this commercial license. 00038 */ 00039 #ifndef _PRICELIST_IDL_ 00040 #define _PRICELIST_IDL_ 00041 00042 // ********************************************************************* 00043 // included files 00044 #include "corba_utility.idl" 00045 #include "chargetraits.idl" // For ChargeTraitsId 00046 00047 module corba { 00048 module pcat { 00049 module pl { 00050 00051 // ********************************************************************* 00052 // forward declarations of CORBA interfaces 00053 00054 interface Pricelist; 00055 interface PricelistWriter; 00056 interface PricelistCfgWriter; 00057 00058 // ********************************************************************* 00059 // type definitions 00060 00062 struct PricelistId { 00063 long id; 00064 }; 00065 00067 typedef corba::common::ChargeTraitsId ChargeTraitsId; 00068 00069 typedef sequence<Pricelist> PricelistSeq; 00070 00071 // ********************************************************************* 00072 // CORBA interface definitions 00073 00082 interface Pricelist { 00089 readonly attribute PricelistId id; 00090 00099 common::Utf8String name() raises (common::OsbCorbaException); 00100 00109 common::Utf8String desc() raises (common::OsbCorbaException); 00110 00119 PricelistWriter getWriter(); 00120 }; 00121 00129 interface PricelistWriter : Pricelist { 00135 void setName(in common::Utf8String name); 00136 00142 void setDesc(in common::Utf8String desc); 00143 00157 void commitChanges(in boolean noWait) 00158 raises (common::OsbCorbaException); 00159 }; 00160 00175 interface PricelistCfg { 00182 readonly attribute PricelistId plId; 00183 00192 ChargeTraitsId ctId() raises (common::OsbCorbaException); 00193 00202 double charge() raises (common::OsbCorbaException); 00203 00212 common::CfgStatus status() raises (common::OsbCorbaException); 00213 00223 common::Date releaseDate() raises (common::OsbCorbaException); 00224 00233 PricelistCfgWriter getWriter(); 00234 }; 00235 00243 interface PricelistCfgWriter : PricelistCfg { 00253 void setChargeTraitsId(in ChargeTraitsId id) 00254 raises (common::OsbCorbaException); 00255 00265 void setCharge(in double charge) 00266 raises (common::OsbCorbaException); 00267 00279 void commitChanges(in boolean noWait) 00280 raises (common::OsbCorbaException); 00281 }; 00282 }; // module pl 00283 }; // module pcat 00284 }; // module corba 00285 #endif // #ifndef _PRICELIST_IDL_
1.4.7