1 /* Minor.java -- 2 Copyright (C) 2005 Free Software Foundation, Inc. 3 4 This file is part of GNU Classpath. 5 6 GNU Classpath is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Classpath is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Classpath; see the file COPYING. If not, write to the 18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 02110-1301 USA. 20 21 Linking this library statically or dynamically with other modules is 22 making a combined work based on this library. Thus, the terms and 23 conditions of the GNU General Public License cover the whole 24 combination. 25 26 As a special exception, the copyright holders of this library give you 27 permission to link this library with independent modules to produce an 28 executable, regardless of the license terms of these independent 29 modules, and to copy and distribute the resulting executable under 30 terms of your choice, provided that you also meet, for each linked 31 independent module, the terms and conditions of the license of that 32 module. An independent module is a module which is not derived from 33 or based on this library. If you modify this library, you may extend 34 this exception to your version of the library, but you are not 35 obligated to do so. If you do not wish to do so, delete this 36 exception statement from your version. */ 37 38 39 package gnu.CORBA; 40 41 42 /** 43 * Provides information and operations, related to about the 20 bit vendor minor 44 * code Id. This code is included into all CORBA system exceptions and is also 45 * transferred to remote side. 46 * 47 * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) 48 */ 49 public interface Minor 50 { 51 // Note: MARSHAL done. 52 53 /* MARSHAL */ 54 55 /** 56 * The GNU Classpath VMCID. The last 12 bits can be used to mark up to 4096 57 * possible exceptions. 58 */ 59 int vendor = 0x47430000; 60 61 /* 62 * Minor codes form MARSHAL exception. 63 */ 64 65 /** 66 * The message being received is not a GIOP message. It does not start from 67 * the expected magic sequence byte[] { 'G', 'I', 'O', 'P' }. 68 */ 69 int Giop = 1 | vendor; 70 71 /** 72 * The unexpected IOException while reading or writing the GIOP message header 73 * or the subsequent request or response header 74 */ 75 int Header = 2 | vendor; 76 77 /** 78 * The data stream ended before reading all expected values from it. This 79 * usually means that the CORBA message is corrupted, but may also indicate 80 * that the server expects the remote method being invoked to have more or 81 * different parameters. 82 */ 83 int EOF = 3 | vendor; 84 85 /** 86 * The unexpected IOException while reading or writing the data via Commond 87 * Data Representation stream. 88 */ 89 int CDR = 5 | vendor; 90 91 /** 92 * The unexpected IOException while reading or writing the Value type. 93 */ 94 int Value = 6 | vendor; 95 96 /** 97 * The unexpected IOException while handling request forwarding. 98 */ 99 int Forwarding = 7 | vendor; 100 101 /** 102 * The unexpected IOException while handling data encapsulation, tagged 103 * components, tagged profiles, etc. 104 */ 105 int Encapsulation = 8 | vendor; 106 107 /** 108 * The unexpected IOException while inserting or extracting data to/from the 109 * Any or DynamicAny. 110 */ 111 int Any = 9 | vendor; 112 113 /** 114 * The unexpected UserException in the context where it cannot be handled and 115 * must be converted to the SystemException. 116 */ 117 int UserException = 10 | vendor; 118 119 /** 120 * While the operation could formally be applied to the target, the OMG 121 * standard states that it is actually not applicable. For example, some CORBA 122 * objects like POA are always local and should not be passed to or returned 123 * from the remote side. 124 */ 125 int Inappropriate = 11 | vendor; 126 127 /** 128 * When reading data, it was discovered that size of the data structure like 129 * string, sequence or character is written as the negative number. 130 */ 131 int Negative = 12 | vendor; 132 133 /** 134 * Reference to non-existing node in the data grapth while reading the value 135 * types. 136 */ 137 int Graph = 14 | vendor; 138 139 /** 140 * Unexpected exception was thrown from the IDL type helper while handling the 141 * object of this type as a boxed value. 142 */ 143 int Boxed = 15 | vendor; 144 145 /** 146 * Unable to instantiate an value type object while reading it from the 147 * stream. 148 */ 149 int Instantiation = 16 | vendor; 150 151 /** 152 * The header tag of the value type being read from the CDR stream contains an 153 * unexpected value outside 0x7fffff00 .. 0x7fffffff and also not null and not 154 * an indirection. 155 */ 156 int ValueHeaderTag = 17 | vendor; 157 158 /** 159 * The header tag flags of the value type being read from the CDR stream make 160 * the invalid combination (for instance, 0x7fffff04). 161 */ 162 int ValueHeaderFlags = 18 | vendor; 163 164 /** 165 * The value type class, written on the wire, is not compatible with the 166 * expected class, passed as a parameter to the InputStream.read_value. 167 */ 168 int ClassCast = 19 | vendor; 169 170 /** 171 * Positive or otherwise invalid indirection offset when reading the data 172 * graph of the value type. 173 */ 174 int Offset = 20 | vendor; 175 176 /** 177 * Errors while reading the chunked value type. 178 */ 179 int Chunks = 21 | vendor; 180 181 /** 182 * No means are provided to write this value type. 183 */ 184 int UnsupportedValue = 22 | vendor; 185 186 /** 187 * The value factory, required for the operation being invoked, is not 188 * registered with this ORB. 189 */ 190 int Factory = 23 | vendor; 191 192 /** 193 * Unsupported object addressing method in GIOP request header. 194 */ 195 int UnsupportedAddressing = 24 | vendor; 196 197 /** 198 * Invalid stringified object reference (IOR). 199 */ 200 int IOR = 25 | vendor; 201 202 /** 203 * Problems with converting between stubs, ties, interfaces and 204 * implementations. 205 */ 206 int TargetConversion = 26 | vendor; 207 208 /** 209 * Problems with reading or writing the fields of the value type object. 210 */ 211 int ValueFields = 27 | vendor; 212 213 /** 214 * The instance of the value type is not serializable. 215 */ 216 int NonSerializable = 28 | vendor; 217 218 /* BAD_OPERATION */ 219 220 /** 221 * The remote side requested to invoke the method that is not available on 222 * that target (client and server probably disagree in the object definition). 223 */ 224 int Method = 0 | vendor; 225 226 /** 227 * Failed to activate the inactive object. 228 */ 229 int Activation = 10 | vendor; 230 231 /* 232 * Any - Attempt to extract from the Any value of the different type that was 233 * stored into that Any. 234 */ 235 236 /* ClassCast - Unable to narrow the object into stub. */ 237 238 /** 239 * The policies, applying to ORB or POA prevent the requested operation. 240 */ 241 int Policy = 11 | vendor; 242 243 /** 244 * Socket related errors like failure to open socket on the expected port, 245 * failure to get a free port when required and so on. 246 */ 247 int Socket = 12 | vendor; 248 249 /** 250 * The passed value for enumeration is outside the valid range for that 251 * enumeration. 252 */ 253 int Enumeration = 14 | vendor; 254 255 /** 256 * The passed policy code is outside the valid range of the possible policies 257 * for the given policy type. 258 */ 259 int PolicyType = 15 | vendor; 260 261 /* NO_RESOURCES */ 262 263 /** 264 * Unable to get a free port for a new socket. Proably too many objects under 265 * unsuitable POA policy. 266 */ 267 int Ports = 20 | vendor; 268 269 /** 270 * Too many parallel calls (too many parallel threads). The thread control 271 * prevents malicios client from knocking the server out by suddenly 272 * submitting large number of requests. 273 */ 274 int Threads = 21 | vendor; 275 276 /** 277 * The IOR starts with file://, http:// or ftp://, but this local or remote 278 * resource is not accessible. 279 */ 280 int Missing_IOR = 22 | vendor; 281 282 } 283