Minor.java 7.9 KB

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