Frames | No Frames |
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: }