00001 // OSB library ********************************************* -*- IDL -*- 00006 /* 00007 AUTHOR(S): Darryl Kang (dk) 00008 00009 RCS information 00010 $Name: OSB_060808 $ 00011 $Revision: 1.26.2.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 PERSPRODITEM_IDL 00031 #define PERSPRODITEM_IDL 00032 // ********************************************************************* 00033 #include "productpart.idl" 00034 #include "tariffobject.idl" 00035 #include "cadmin.idl" 00036 00037 // ************************************************************************ 00038 // module extensions 00039 module corba { 00040 module cadmin { 00041 module persproditem { 00042 00043 // ******************************************************************** 00044 // PersProdItemWriter 00049 interface PersProdItemWriter { 00051 readonly attribute PersItemId id; 00052 00054 common::Utf8String name() 00055 raises (common::OsbCorbaException); 00056 00058 common::Utf8String desc() 00059 raises (common::OsbCorbaException); 00060 00062 readonly attribute common::DateTime assignDate; 00063 00065 readonly attribute common::DateTime deassignDate; 00066 00068 readonly attribute pcat::pp::PpTypeId type; 00069 00071 readonly attribute common::Utf8String personalization; 00072 00074 readonly attribute boolean canConfig; 00075 00088 PersItemId create( 00089 in boolean noWait 00090 ) raises (common::OsbCorbaException); 00091 00103 PersItemId commitChanges( 00104 in boolean noWait 00105 ) raises (common::OsbCorbaException); 00106 }; 00107 00108 // ******************************************************************** 00109 // Personalised tariff system 00111 interface PersTariffSystemWriter : PersProdItemWriter { 00113 tcat::ts::TariffSystem ts() 00114 raises (common::OsbCorbaException); 00115 00117 tcat::ts::TariffSystemSeq tsList() 00118 raises (common::OsbCorbaException); 00119 00121 void setTsId (in tcat::ts::TariffSystemId id) 00122 raises (common::OsbCorbaException); 00123 }; 00124 00125 // ******************************************************************** 00126 // Personalised service 00128 interface PersServiceWriter : PersProdItemWriter {}; 00129 00130 // ******************************************************************** 00131 // Personalised resource 00132 struct ResourceId { 00133 long id; 00134 }; 00135 00137 struct BasicResInfo { 00139 ResourceId id; 00140 00142 common::Utf8String resourceNumber; 00143 }; 00144 00146 typedef sequence<BasicResInfo> BasicResSeq; 00147 00149 interface PersResource : PersProdItemWriter { 00151 ResourceId rsId() 00152 raises (common::OsbCorbaException); 00153 }; 00154 00155 // ******************************************************************** 00156 // E.164 number 00158 interface PersE164Writer : PersResource { 00166 BasicResInfo e164Number() 00167 raises (common::OsbCorbaException); 00168 00176 BasicResSeq search( 00177 in common::Utf8String pattern, 00178 in long numSearch 00179 ) raises (common::OsbCorbaException); 00180 00188 boolean setE164Number( 00189 in ResourceId id 00190 ) raises (common::OsbCorbaException); 00191 }; // interface PersE164Writer 00192 00193 // ******************************************************************** 00194 // Calling card 00195 /* 00196 interface PersCcWriter : PersResource { 00198 common::Utf8String serialNumber() 00199 raises (common::OsbCorbaException); 00200 }; 00201 */ 00202 00203 // ******************************************************************** 00204 // Personalised trunk 00209 struct TrunkGroupInfo { 00211 common::Utf8String name; 00212 }; 00213 00215 typedef sequence<TrunkGroupInfo> TrunkGroupInfoSeq; 00216 00221 struct TrkResInfo { 00223 BasicResInfo resInfo; 00224 00226 TrunkGroupInfoSeq trkGrps; 00227 }; 00228 00230 typedef sequence<TrkResInfo> TrkResInfoSeq; 00231 00233 interface PersTrunkItemWriter : PersResource { 00242 TrkResInfo trkRes() 00243 raises (common::OsbCorbaException); 00244 00253 TrkResInfoSeq trkResList() 00254 raises (common::OsbCorbaException); 00255 00266 boolean setTrkRes( 00267 in ResourceId id 00268 ) raises (common::OsbCorbaException); 00269 }; 00270 00271 // ******************************************************************** 00272 // Personalised IpGroup. 00277 struct IpGroupInfo { 00279 BasicResInfo resInfo; 00280 00282 BasicResSeq ipAddresses; 00283 }; 00284 00286 typedef sequence<IpGroupInfo> IpGroupSeq; 00287 00289 interface PersIpGroupItemWriter : PersResource { 00297 IpGroupInfo ipGroup() 00298 raises (common::OsbCorbaException); 00299 00307 IpGroupSeq ipGroupList() 00308 raises (common::OsbCorbaException); 00309 00318 boolean setIpGroup( 00319 in ResourceId id 00320 ) raises (common::OsbCorbaException); 00321 }; 00322 00323 // ******************************************************************** 00324 // Personalised access number 00325 00327 interface PersAnItemWriter : PersResource { 00329 BasicResInfo aNum() 00330 raises (common::OsbCorbaException); 00331 00333 readonly attribute BasicResSeq anList; 00334 00345 boolean setAn( 00346 in ResourceId id 00347 ) raises (common::OsbCorbaException); 00348 }; 00349 00350 // ******************************************************************** 00351 // Personalised credit 00352 /* 00353 interface PersCreditWriter : PersProdItemWriter { 00354 00356 common::Money credit() 00357 raises (common::OsbCorbaException); 00358 */ 00367 /* 00368 boolean add( 00369 in common::Money amount, 00370 in boolean noWait 00371 ) raises (common::OsbCorbaException); 00372 */ 00373 // Use-case???? 00382 /* 00383 boolean deduct( 00384 in common::Money amount, 00385 in boolean noWait 00386 ) raises (common::OsbCorbaException); 00387 }; 00388 */ 00389 00390 }; // module persproditem 00391 }; // module cadmin 00392 }; 00393 #endif // #ifndef PERSPRODITEM_IDL
1.4.7