00001 // OSB library ********************************************* -*- IDL -*- 00006 /* 00007 AUTHOR(S): Lilian Qin Lan (lan) 00008 00009 RCS information 00010 $Name: OSB_060808 $ 00011 $Revision: 1.13.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 IPGROUP_IDL 00031 #define IPGROUP_IDL 00032 00033 // ********************************************************************* 00034 // included idl files 00035 #include "ip4address.idl" 00036 00037 module corba { 00038 module res { 00039 00041 enum Direction { 00042 dirUnknown, 00043 dirIn, 00044 dirOut 00045 }; 00046 00048 struct AssignableIp4 { 00050 Ip4Address address; 00051 00053 boolean inAvail; 00054 00056 boolean outAvail; 00057 }; 00058 00060 typedef sequence<AssignableIp4> AssignableIp4Seq; 00061 00063 struct AssignedIp4 { 00065 ResourceId ip4Id; 00066 00068 Direction dir; 00069 00071 common::DateTime from; 00072 00074 common::DateTime to; 00075 }; 00076 00078 typedef sequence<AssignedIp4> AssignedIp4Seq; 00079 00085 interface IpGroup : Resource 00086 { 00088 common::Utf8String desc() 00089 raises (common::OsbCorbaException); 00090 00099 AssignedIp4Seq getIp4s() 00100 raises (common::OsbCorbaException); 00101 00110 Ip4AddressSeq getCurIp4s() 00111 raises (common::OsbCorbaException); 00112 00121 AssignedIp4Seq getCurAssIp4s() 00122 raises (common::OsbCorbaException); 00123 00132 AssignableIp4Seq getAssignableIp4s() 00133 raises (common::OsbCorbaException); 00134 00147 IpGroupWriter getWriter() 00148 raises (common::OsbCorbaException); 00149 }; // interface IpGroup 00150 00159 interface IpGroupWriter : ResourceWriter, IpGroup 00160 { 00162 void setDesc(in common::Utf8String desc); 00163 00180 void addIp4( 00181 in ResourceId id, 00182 in Direction dir, 00183 in common::Date start, 00184 in boolean noWait 00185 ) raises (common::OsbCorbaException); 00186 00202 void delIp4( 00203 in ResourceId id, 00204 in Direction dir, 00205 in boolean noWait 00206 ) raises (common::OsbCorbaException); 00207 }; // interface IpGroupWriter 00208 00209 }; // module res 00210 }; // module corba 00211 #endif // #ifndef IPGROUP_IDL
1.4.7