00001 // OSB library ************************************************ -*- C++ -*- 00007 /* 00008 AUTHOR(S): Stephan Broennimann (vb) 00009 00010 RCS information 00011 $Name: OSB_060808 $ 00012 $Revision: 1.8.2.1 $ 00013 00014 License 00015 OSB rating and billing library for communication networks 00016 Copyright (C) 2004, 2005, 2006 OSB systems 00017 00018 This file may be distributed and/or modify under the terms of the 00019 GNU General Public License (GPL) as published by the Free Software 00020 Foundation which is provided in the file LICENSE.GPL included in the 00021 packaging of this file. 00022 00023 The file is distributed in the hope that it will be useful, but WITHOUT 00024 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00025 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00026 for more details. 00027 00028 Holders of a OSB Commercial License may use this file under the terms 00029 and conditions of this commercial license. 00030 */ 00031 #ifndef _CORBA_STATUS_IDL_ 00032 #define _CORBA_STATUS_IDL_ 00033 00034 // ************************************************************************ 00035 // included header files 00036 #include "utf8string.idl" 00037 #include "corba_utility.idl" 00038 00039 // + standard includes 00040 00041 // + libraries 00042 00043 // + local headers 00044 00045 // + class declarations 00046 00047 // ************************************************************************ 00048 // namespace extensions 00049 module corba { 00050 module cadmin { 00051 00053 enum StatusReqResult { 00055 srqSuccess, 00057 srqProcessed, 00059 srqError, 00066 srqSkipped, 00068 srqNotAvail 00069 }; 00070 00071 // ********************************************************************** 00072 // class definitions 00077 enum StatusValue { 00079 svNone, 00081 svDeactivated, 00083 svCreated, 00085 svInactive, 00087 svActive 00088 }; 00089 00091 struct StatusReasonId { 00092 long id; 00093 }; 00094 00096 struct StatusReason { 00098 StatusReasonId id; 00099 00101 common::Utf8String name; 00102 00104 common::Utf8String des; 00105 00107 StatusValue oldStatus; 00108 00110 StatusValue newStatus; 00111 }; // struct StatusReason 00112 00114 typedef sequence<StatusReason> StatusReasonSeq; 00115 00123 struct Status { 00125 StatusValue value; 00126 00128 StatusReasonId reason; 00129 }; // struct Status 00130 00132 struct StatusRequestId { 00133 long id; 00134 }; 00135 00142 struct StatusRequest { 00144 StatusRequestId srId; 00145 00147 StatusValue status; 00148 00150 StatusReasonId reason; 00151 00158 boolean cascade; 00159 00161 common::DateTime validFrom; 00162 00167 common::DateTime applied; 00168 00170 common::DateTime entered; 00171 00173 common::Utf8String errCode; 00174 }; 00175 00177 struct StatusChangeId { 00178 long id; 00179 }; 00180 00184 struct StatusChange { 00186 StatusChangeId scId; 00187 00189 StatusRequestId srId; 00190 00192 StatusValue oldStatus; 00193 00195 StatusValue newStatus; 00196 00198 StatusReasonId reason; 00199 00201 common::DateTime validFrom; 00202 }; 00203 00212 struct StatusHistEntry { 00214 StatusRequest request; 00216 StatusChange change; 00217 }; // struct StatusHistEntry 00218 00226 typedef sequence<StatusHistEntry> StatusHistory; 00227 }; // module cadmin 00228 }; // module corba 00229 #endif // #ifndef _CORBA_STATUS_IDL_