00001 // OSB library ********************************************* -*- C++ -*- 00009 /* 00010 AUTHOR(S): Zhang Min (zm) 00011 00012 RCS information 00013 $Name: OSB_060808 $ 00014 $Revision: 1.46.2.1 $ 00015 00016 License 00017 OSB rating and billing library for communication networks 00018 Copyright (C) 2004, 2005, 2006 OSB systems 00019 00020 This file may be distributed and/or modify under the terms of the 00021 GNU General Public License (GPL) as published by the Free Software 00022 Foundation which is provided in the file LICENSE.GPL included in the 00023 packaging of this file. 00024 00025 The file is distributed in the hope that it will be useful, but WITHOUT 00026 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00027 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00028 for more details. 00029 00030 Holders of a OSB Commercial License may use this file under the terms 00031 and conditions of this commercial license. 00032 */ 00033 #ifndef PRODUCT_IDL 00034 #define PRODUCT_IDL 00035 // ********************************************************************* 00036 #include "corba_utility.idl" 00037 #include "productpart.idl" 00038 00039 module corba { 00040 module pcat { 00041 module pd { 00042 // forward declarations (needed in product) 00043 interface Product; 00044 interface ProductWriter; 00045 00047 struct ProductId { 00048 long id; 00049 }; 00050 00052 typedef sequence<Product> ProductSeq; 00053 00060 interface Product { 00066 ProductId id() 00067 raises (common::OsbCorbaException); 00068 00070 common::Utf8String name() 00071 raises (common::OsbCorbaException); 00072 00074 common::Utf8String desc() 00075 raises (common::OsbCorbaException); 00076 00078 common::CfgStatus status() 00079 raises (common::OsbCorbaException); 00080 00082 common::Date startDate() 00083 raises (common::OsbCorbaException); 00084 00086 common::Date endDate() 00087 raises (common::OsbCorbaException); 00088 00100 pp::ProductPart getPart(in pp::ProductPartId id) 00101 raises (common::OsbCorbaException); 00102 00109 pp::ProductPartSeq getParts(); 00110 00123 ProductWriter getWriter(); 00124 }; 00125 00129 interface ProductWriter : Product 00130 { 00139 void setName(in common::Utf8String name) 00140 raises (common::OsbCorbaException); 00141 00150 void setDesc(in common::Utf8String desc) 00151 raises (common::OsbCorbaException); 00152 00161 void setStartDate(in common::Date start) 00162 raises (common::OsbCorbaException); 00163 00171 void setEndDate(in common::Date end) 00172 raises (common::OsbCorbaException); 00173 00190 pp::ProductPartWriter getWritablePart( 00191 in pp::ProductPartId id 00192 ) raises (common::OsbCorbaException); 00193 00212 pp::ProductPartWriter addPart(in pp::PpTypeId pptypeid) 00213 raises (common::OsbCorbaException); 00214 00224 void removePart(in pp::ProductPartId id) 00225 raises (common::OsbCorbaException); 00226 00252 void commitChanges() raises (common::OsbCorbaException); 00253 }; 00254 }; 00255 }; 00256 }; 00257 00258 #endif // PRODUCT_IDL
1.4.7