pricelist.idl

Go to the documentation of this file.
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_

Generated on Sat Sep 2 14:23:01 2006 for OSB Library by  doxygen 1.4.7