00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef PRODUCTPART_IDL
00036 #define PRODUCTPART_IDL
00037
00038 #include "corba_utility.idl"
00039
00040 module corba {
00041 module pcat {
00042 module pp {
00043
00044
00045 interface ProductPart;
00046 interface PpType;
00047
00048 interface ProductPartWriter;
00049
00050
00051
00053 struct ProductPartId {
00054 long id;
00055 };
00056
00058 struct PpTypeId {
00059 long id;
00060 };
00061
00063 typedef sequence<ProductPart> ProductPartSeq;
00064
00066 typedef sequence<PpType> PpTypeSeq;
00067
00068
00069
00070
00071
00072
00079 interface PpType {
00086 readonly attribute PpTypeId id;
00088 readonly attribute common::Utf8String name;
00090 readonly attribute common::Utf8String desc;
00092 readonly attribute boolean isProductPart;
00093
00095
00096
00097 const short piDescItem = 1;
00099 const short piCallingCard = 2;
00101 const short piService = 3;
00103 const short piCredit = 4;
00105 const short piTariffSystem = 5;
00107 const short piTrunkItem = 6;
00109 const short piAnItem = 7;
00111 const short piE164Item = 8;
00113 const short piIp4Item = 9;
00115 const short piIpGroup = 10;
00117 const short piImsiItem = 11;
00119 const short piPricelist = 12;
00121 const short piDevice = 20;
00123 const short piUimCard = 21;
00125 };
00126
00127
00128
00134 enum PpCfgType {
00135 cfgNone,
00136 cfgOptional,
00137 cfgMandatory
00138 };
00139
00146 enum PpDefPersType {
00147 defPersNone,
00148 defPersOptional,
00149 defPersMandatory
00150 };
00151
00160 enum PpCfgPersType {
00161 persNone,
00162 persOptional,
00163 persMandatory
00164 };
00165
00175 interface ProductPart {
00186
00187 PpTypeId tid()
00188 raises (common::OsbCorbaException);
00189
00191 PpCfgType cfgType()
00192 raises (common::OsbCorbaException);
00193
00195 PpDefPersType defPersType()
00196 raises (common::OsbCorbaException);
00198
00204 ProductPartId id()
00205 raises (common::OsbCorbaException);
00206
00208 common::Utf8String name()
00209 raises (common::OsbCorbaException);
00210
00212 common::Utf8String desc()
00213 raises (common::OsbCorbaException);
00214
00224 long mandatory()
00225 raises (common::OsbCorbaException);
00226
00228 PpCfgPersType canPersonalize()
00229 raises (common::OsbCorbaException);
00230
00232 ProductPartId parentId()
00233 raises (common::OsbCorbaException);
00234
00241 common::Utf8String configDes()
00242 raises (common::OsbCorbaException);
00243
00250 common::Utf8String defPersDes()
00251 raises (common::OsbCorbaException);
00252
00258 ProductPartSeq getParts()
00259 raises (common::OsbCorbaException);
00260 };
00261
00262
00263
00284 interface ProductPartWriter : ProductPart {
00293 void setName(in common::Utf8String name)
00294 raises (common::OsbCorbaException);
00295
00304 void setDesc(in common::Utf8String desc)
00305 raises (common::OsbCorbaException);
00306
00315 void setMandatory(in long value)
00316 raises (common::OsbCorbaException);
00317
00330 void setConfigDes(in common::Utf8String desc)
00331 raises (common::OsbCorbaException);
00332
00346 void setDefPersDes(in common::Utf8String desc)
00347 raises (common::OsbCorbaException);
00348
00370 ProductPartWriter addPart(in PpTypeId pptid)
00371 raises (common::OsbCorbaException);
00372
00381 void removePart(in ProductPartId id)
00382 raises (common::OsbCorbaException);
00383 };
00384
00385
00386
00394 interface DescriptionPart : ProductPart {
00395 };
00396
00404 interface DescriptionPartWriter : ProductPartWriter,
00405 DescriptionPart
00406 {
00407 };
00408
00409
00410
00417 interface TrunkPart : ProductPart {
00418 };
00419
00426 interface TrunkPartWriter : ProductPartWriter,
00427 TrunkPart
00428 {
00429 };
00430
00431
00432
00439 interface AnPart : ProductPart {
00440 };
00441
00448 interface AnPartWriter : ProductPartWriter,
00449 AnPart
00450 {
00451 };
00452
00453
00454
00460 interface E164Part : ProductPart {
00461 };
00462
00468 interface E164PartWriter : ProductPartWriter,
00469 E164Part
00470 {
00471 };
00472
00473
00474
00481 interface IpGroupPart : ProductPart {
00482 };
00483
00490 interface IpGroupPartWriter : ProductPartWriter,
00491 IpGroupPart
00492 {
00493 };
00494 };
00495 };
00496 };
00497 #endif // PRODUCTPART_IDL
00498