[llvm-commits] [llvm-gcc-4.2] r43913 [59/80] - in /llvm-gcc-4.2/trunk: boehm-gc/ boehm-gc/Mac_files/ boehm-gc/cord/ boehm-gc/doc/ boehm-gc/include/ boehm-gc/include/private/ boehm-gc/tests/ libffi/ libffi/include/ libffi/src/ libffi/src/alpha/ libffi/src/arm/ libffi/src/cris/ libffi/src/frv/ libffi/src/ia64/ libffi/src/m32r/ libffi/src/m68k/ libffi/src/mips/ libffi/src/pa/ libffi/src/powerpc/ libffi/src/s390/ libffi/src/sh/ libffi/src/sh64/ libffi/src/sparc/ libffi/src/x86/ libffi/testsuite/ libffi/testsuite/config/ li...
Bill Wendling
isanbard at gmail.com
Thu Nov 8 14:57:11 PST 2007
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in Thu Nov 8 16:56:19 2007
@@ -0,0 +1,456 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target/Linux
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+ $(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/multi.m4 \
+ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+EXTRA_DIST = \
+target_native_io.h \
+target_native_misc.h \
+target_native.h \
+target_native_math_float.h \
+target_native_network.h \
+target_native_file.h \
+target_native_math_int.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/Linux/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu native/target/Linux/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target global defintions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE__
+#define __TARGET_NATIVE__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic.h"
+
+#endif /* __TARGET_NATIVE__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of file functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_FILE__
+#define __TARGET_NATIVE_FILE__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_file.h"
+
+#endif /* __TARGET_NATIVE_FILE__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of miscellaneous functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_IO__
+#define __TARGET_NATIVE_IO__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_io.h"
+
+#endif /* __TARGET_NATIVE_MISC__ */
+
+/* end of file */
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,80 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of float/double constants/
+ macros/functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_MATH_FLOAT__
+#define __TARGET_NATIVE_MATH_FLOAT__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_math_float.h"
+
+#endif /* __TARGET_NATIVE_MATH_FLOAT__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,80 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of int/int64 constants/
+ macros/functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_MATH_INT__
+#define __TARGET_NATIVE_MATH_INT__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_math_int.h"
+
+#endif /* __TARGET_NATIVE_MATH_INT__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of miscellaneous functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_MISC__
+#define __TARGET_NATIVE_MISC__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_misc.h"
+
+#endif /* __TARGET_NATIVE_MISC__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of network functions
+Systems : all
+*/
+
+#ifndef __TARGET_NATIVE_NETWORK__
+#define __TARGET_NATIVE_NETWORK__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to
+ another position!) */
+#include "target_generic_network.h"
+
+#endif /* __TARGET_NATIVE_NETWORK__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+SUBDIRS = Linux generic
+
+EXTRA_DIST = readme.txt
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in Thu Nov 8 16:56:19 2007
@@ -0,0 +1,606 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+ $(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/multi.m4 \
+ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-exec-recursive install-info-recursive \
+ install-recursive installcheck-recursive installdirs-recursive \
+ pdf-recursive ps-recursive uninstall-info-recursive \
+ uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+SUBDIRS = Linux generic
+EXTRA_DIST = readme.txt
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu native/target/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(mkdir_p) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+ clean clean-generic clean-libtool clean-recursive ctags \
+ ctags-recursive distclean distclean-generic distclean-libtool \
+ distclean-recursive distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-recursive \
+ mostlyclean mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+EXTRA_DIST = \
+target_generic_io.h \
+target_generic_misc.h \
+target_generic.h \
+target_generic_math_float.h \
+target_generic_network.h \
+target_generic_file.h \
+target_generic_math_int.h
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in Thu Nov 8 16:56:19 2007
@@ -0,0 +1,456 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target/generic
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+ $(top_srcdir)/../../config/lead-dot.m4 \
+ $(top_srcdir)/../../config/multi.m4 \
+ $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+ $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+EXTRA_DIST = \
+target_generic_io.h \
+target_generic_misc.h \
+target_generic.h \
+target_generic_math_float.h \
+target_generic_network.h \
+target_generic_file.h \
+target_generic_math_int.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu native/target/generic/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu native/target/generic/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,171 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target global defintions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC__
+#define __TARGET_GENERIC__
+
+/* check if target_native_network.h included */
+#ifndef __TARGET_NATIVE__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <errno.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#define TARGET_NATIVE_OK 1
+#define TARGET_NATIVE_ERROR 0
+
+#ifndef TARGET_NATIVE_ERROR_PERMISION_DENIED
+ #define TARGET_NATIVE_ERROR_PERMISION_DENIED EACCES
+#endif
+#ifndef TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR
+ #define TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR EBADF
+#endif
+#ifndef TARGET_NATIVE_ERROR_FILE_EXISTS
+ #define TARGET_NATIVE_ERROR_FILE_EXISTS EEXIST
+#endif
+#ifndef TARGET_NATIVE_ERROR_INPUT_OUTPUT
+ #define TARGET_NATIVE_ERROR_INPUT_OUTPUT EIO
+#endif
+#ifndef TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES
+ #define TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES EMFILE
+#endif
+#ifndef TARGET_NATIVE_ERROR_FILENAME_TO_LONG
+ #define TARGET_NATIVE_ERROR_FILENAME_TO_LONG ENAMETOOLONG
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SUCH_DEVICE
+ #define TARGET_NATIVE_ERROR_NO_SUCH_DEVICE ENODEV
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SUCH_FILE
+ #define TARGET_NATIVE_ERROR_NO_SUCH_FILE ENOENT
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SPACE_LEFT
+ #define TARGET_NATIVE_ERROR_NO_SPACE_LEFT ENOSPC
+#endif
+#ifndef TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY
+ #define TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY ENOTEMPTY
+#endif
+#ifndef TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED
+ #define TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED EPERM
+#endif
+#ifndef TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM
+ #define TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM EROFS
+#endif
+#ifndef TARGET_NATIVE_ERROR_INVALID_SEEK
+ #define TARGET_NATIVE_ERROR_INVALID_SEEK ESPIPE
+#endif
+#ifndef TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL
+ #define TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL EINTR
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_LAST_ERROR
+* Purpose : return last error code
+* Input : -
+* Output : -
+* Return : error code
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_LAST_ERROR
+ #include <errno.h>
+ #define TARGET_NATIVE_LAST_ERROR() \
+ errno
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_LAST_ERROR_STRING
+* Purpose : return last error string
+* Input : -
+* Output : -
+* Return : error string (read only!)
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_LAST_ERROR_STRING
+ #include <string.h>
+ #include <errno.h>
+ #define TARGET_NATIVE_LAST_ERROR_STRING() \
+ strerror(errno)
+#endif
+
+#ifndef TARGET_NATIVE_LAST_ERROR_STRING_FORMAT
+ #include <string.h>
+ #include <errno.h>
+ #define TARGET_NATIVE_LAST_ERROR_STRING_FORMAT(buffer,bufferSize,format) \
+ do { \
+ sprintf(buffer, "%s", format); \
+ strcat(" (error: "); \
+ strcat(strerror(errno)); \
+ strcat(")"); \
+ } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,844 @@
+/* target_generic_file - Native methods for file operations
+ Copyright (C) 1998, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of file functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_FILE__
+#define __TARGET_GENERIC_FILE__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* check if target_native_file.h included */
+#ifndef __TARGET_NATIVE_FILE__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+#include <fcntl.h>
+
+#include "target_native.h"
+#include "target_native_math_int.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_NONE
+ #define TARGET_NATIVE_FILE_FILEFLAG_NONE 0
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE
+ #define TARGET_NATIVE_FILE_FILEFLAG_CREATE O_CREAT
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE
+ #define TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE (O_CREAT|O_EXCL)
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_READ
+ #define TARGET_NATIVE_FILE_FILEFLAG_READ O_RDONLY
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_WRITE
+ #define TARGET_NATIVE_FILE_FILEFLAG_WRITE O_WRONLY
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_READWRITE
+ #define TARGET_NATIVE_FILE_FILEFLAG_READWRITE O_RDWR
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE
+ #define TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE O_TRUNC
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_APPEND
+ #define TARGET_NATIVE_FILE_FILEFLAG_APPEND O_APPEND
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_SYNC
+ #if !defined (O_SYNC) && defined (O_FSYNC)
+ #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_FSYNC
+ #else
+ #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_SYNC
+ #endif
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_DSYNC
+ #ifdef O_DSYNC
+ #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC 0
+ #else
+ #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC TARGET_NATIVE_FILE_FILEFLAG_SYNC
+ #endif
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_BINARY
+ #define TARGET_NATIVE_FILE_FILEFLAG_BINARY O_BINARY
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL
+ #define TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE
+ #define TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE (S_IRUSR | S_IWUSR)
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_READONLY
+ #define TARGET_NATIVE_FILE_FILEPERMISSION_READONLY (~(S_IWRITE|S_IWGRP|S_IWOTH))
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN
+* Purpose : open a file
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #define TARGET_NATIVE_FILE_OPEN(filename,filedescriptor,flags,permissions,result) \
+ do { \
+ filedescriptor=open(filename, \
+ flags, \
+ permissions \
+ ); \
+ if (filedescriptor >= 0) \
+ fcntl (filedescriptor,F_SETFD,FD_CLOEXEC); \
+ result=(filedescriptor>=0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_CREATE
+* Purpose : create a file
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_CREATE
+ #define TARGET_NATIVE_FILE_OPEN_CREATE(filename,filedescriptor,result) \
+ TARGET_NATIVE_FILE_OPEN(filename,\
+ filedescriptor,\
+ TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE, \
+ TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+ result \
+ )
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_READ
+* Purpose : open an existing file for reading
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_READ
+ #define TARGET_NATIVE_FILE_OPEN_READ(filename,filedescriptor,result) \
+ TARGET_NATIVE_FILE_OPEN(filename, \
+ filedescriptor,\
+ TARGET_NATIVE_FILE_FILEFLAG_READ, \
+ TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+ result \
+ )
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_WRITE
+* Purpose : open an existing file for writing
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_WRITE
+ #define TARGET_NATIVE_FILE_OPEN_WRITE(filename,filedescriptor,result) \
+ TARGET_NATIVE_FILE_OPEN(filename, \
+ filedescriptor, \
+ TARGET_NATIVE_FILE_FILEFLAG_WRITE, \
+ TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+ result \
+ )
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_READWRITE
+* Purpose : create/open a file for reading/writing
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_READWRITE
+ #define TARGET_NATIVE_FILE_OPEN_READWRITE(filename,filedescriptor,result) \
+ TARGET_NATIVE_FILE_OPEN(filename, \
+ filedescriptor, \
+ TARGET_NATIVE_FILE_FILEFLAG_READWRITE, \
+ TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+ result \
+ )
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_READWRITE
+* Purpose : create/open a file for append
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_APPEND
+ #define TARGET_NATIVE_FILE_OPEN_APPEND(filename,filedescriptor,result) \
+ TARGET_NATIVE_FILE_OPEN_APPEND(filename, \
+ filedescriptor, \
+ TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE|TARGET_NATIVE_FILE_FILEFLAG_APPEND, \
+ TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+ result \
+ )
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_CLOSE
+* Purpose : close a file
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_CLOSE
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_CLOSE(filedescriptor,result) \
+ do { \
+ result=(close(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR
+* Purpose : check if file-descriptor is valid
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR
+ #if defined(HAVE_FCNTL)
+ #include <unistd.h>
+ #include <fcntl.h>
+ #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \
+ do { \
+ result=(fcntl(filedescriptor,F_GETFL,0)!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while(0)
+ #elif defined(HAVE_FSTAT)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \
+ do { \
+ struct stat __stat; \
+ \
+ result=(fstat(filedescriptor,&__stat)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while(0)
+ #else
+ #error fcntl() nor fstat() available for checking if file descriptor is valid
+ #endif
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_TELL
+* Purpose : get current file position
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_TELL
+ #include <sys/types.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_TELL(filedescriptor,offset,result) \
+ do { \
+ offset=lseek(filedescriptor,TARGET_NATIVE_MATH_INT_INT64_CONST_0,SEEK_CUR); \
+ result=((offset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_SEEK_BEGIN|CURRENT|END
+* Purpose : set file position relativ to begin/current/end
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SEEK_BEGIN
+ #include <sys/types.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_SEEK_BEGIN(filedescriptor,offset,newoffset,result) \
+ do { \
+ newoffset=lseek(filedescriptor,offset,SEEK_SET); \
+ result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_SEEK_CURRENT
+ #include <sys/types.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_SEEK_CURRENT(filedescriptor,offset,newoffset,result) \
+ do { \
+ newoffset=lseek(filedescriptor,offset,SEEK_CUR); \
+ result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_SEEK_END
+ #include <sys/types.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_SEEK_END(filedescriptor,offset,newoffset,result) \
+ do { \
+ newoffset=lseek(filedescriptor,offset,SEEK_END); \
+ result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_TRUNCATE
+* Purpose : truncate a file
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_TRUNCATE
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_TRUNCATE(filedescriptor,offset,result) \
+ do { \
+ result=(ftruncate(filedescriptor,offset)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_SIZE
+* Purpose : get size of file (in bytes)
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SIZE
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_SIZE(filedescriptor,length,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ result=(fstat(filedescriptor,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_AVAILABLE
+* Purpose : get available bytes for read
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_AVAILABLE
+ #ifdef HAVE_SYS_IOCTL_H
+ #define BSD_COMP /* Get FIONREAD on Solaris2 */
+ #include <sys/ioctl.h>
+ #endif
+ #ifdef HAVE_SYS_FILIO_H /* Get FIONREAD on Solaris 2.5 */
+ #include <sys/filio.h>
+ #endif
+ #if defined (FIONREAD)
+ #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+ do { \
+ ssize_t __n; \
+ \
+ result=(ioctl(filedescriptor,FIONREAD,(char*)&__n)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__n); \
+ } while (0)
+ #elif defined(HAVE_FSTAT)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+ do { \
+ struct stat __statBuffer; \
+ off_t __n; \
+ \
+ length=0; \
+ \
+ if ((fstat(filedescriptor,&__statBuffer)==0) && S_ISREG(__statBuffer.st_mode)) \
+ { \
+ __n=(lseek(filedescriptor,0,SEEK_CUR)); \
+ if (__n!=-1) \
+ { \
+ length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size-__n); \
+ result=TARGET_NATIVE_OK; \
+ } \
+ else \
+ { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } \
+ else \
+ { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+ #elif defined(HAVE_SELECT)
+ #include <string.h>
+ #include <sys/select.h>
+ #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+ do { \
+ fd_set __filedescriptset; \
+ struct timeval __timeval; \
+ \
+ length=0; \
+ \
+ FD_ZERO(&__filedescriptset); \
+ FD_SET(filedescriptor,&__filedescriptset); \
+ memset(&__timeval,0,sizeof(__timeval)); \
+ switch (select(filedescriptor+1,&__filedescriptset,NULL,NULL,&__timeval)==0) \
+ { \
+ case -1: result=TARGET_NATIVE_ERROR; break; \
+ case 0: length=JNI_JLONG_CONST_0; result=TARGET_NATIVE_OK; break; \
+ default: length=JNI_JLONG_CONST_1; result=TARGET_NATIVE_OK; break; \
+ } \
+ } while (0)
+ #else
+ #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+ do { \
+ errno=TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED; \
+ length=0; \
+ result=TARGET_NATIVE_ERROR; \
+ } while (0)
+ #endif
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_READ|WRITE
+* Purpose : read/write from/to frile
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_READ
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_READ(filedescriptor,buffer,length,bytesRead,result) \
+ do { \
+ bytesRead=read(filedescriptor,buffer,length); \
+ result=(bytesRead!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_WRITE
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_WRITE(filedescriptor,buffer,length,bytesWritten,result) \
+ do { \
+ bytesWritten=write(filedescriptor,buffer,length); \
+ result=(bytesWritten!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_SET_MODE_READONLY
+* Purpose : set file mode to read-only
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SET_MODE_READONLY
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_SET_MODE_READONLY(filename,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ if (stat(filename,&__statBuffer)==0) { \
+ result=(chmod(filename,__statBuffer.st_mode & TARGET_NATIVE_FILE_FILEPERMISSION_READONLY)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } else { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_EXISTS
+* Purpose : check if file exists
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_EXISTS
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_EXISTS(filename,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ result=(stat(filename,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_IS_FILE
+* Purpose : check if directory entry is a file
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_IS_FILE
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_IS_FILE(filename,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ result=((stat(filename,&__statBuffer)==0) && (S_ISREG(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_IS_DIRECTORY
+* Purpose : check if directory entry is a directory
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_IS_DIRECTORY
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_IS_DIRECTORY(filename,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ result=((stat(filename,&__statBuffer)==0) && (S_ISDIR(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_GET_LAST_MODIFIED
+* Purpose : get last modification time of file (milliseconds)
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_GET_LAST_MODIFIED
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_GET_LAST_MODIFIED(filename,time,result) \
+ do { \
+ struct stat __statBuffer; \
+ \
+ time=TARGET_NATIVE_MATH_INT_INT64_CONST_0; \
+ if (stat(filename,&__statBuffer)==0) { \
+ time=TARGET_NATIVE_MATH_INT_INT64_MUL(TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_mtime), \
+ TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \
+ ); \
+ result=TARGET_NATIVE_OK; \
+ } else { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_SET_LAST_MODIFIED
+* Purpose : set last modification time of file (milliseconds)
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SET_LAST_MODIFIED
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #ifdef HAVE_UTIME_H
+ #include <utime.h>
+ #elif HAVE_SYS_UTIME_H
+ #include <sys/utime.h>
+ #else
+ #error utime.h not found. Please check configuration.
+ #endif
+ #define TARGET_NATIVE_FILE_SET_LAST_MODIFIED(filename,time,result) \
+ do { \
+ struct stat __statBuffer; \
+ struct utimbuf __utimeBuffer; \
+ \
+ if (stat(filename,&__statBuffer)==0) { \
+ __utimeBuffer.actime =__statBuffer.st_atime; \
+ __utimeBuffer.modtime=TARGET_NATIVE_MATH_INT_INT64_TO_INT32(TARGET_NATIVE_MATH_INT_INT64_DIV(time, \
+ TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \
+ ) \
+ ); \
+ result=(utime(filename,&__utimeBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } else { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_DELETE
+* Purpose : delete a file,link or directory
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_DELETE
+ #define TARGET_NATIVE_FILE_DELETE(filename,result) \
+ do { \
+ result=((unlink(filename)==0) || (rmdir(filename)==0))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_RENAME
+* Purpose : delete a file, link or directory
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_RENAME
+ #define TARGET_NATIVE_FILE_RENAME(oldfilename,newfilename,result) \
+ do { \
+ result=(rename(oldfilename,newfilename)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_MAKE_DIR
+* Purpose : create new directory
+* Input : name - directory name
+* Output : result - 1 if successful, 0 otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_MAKE_DIR
+ #include <sys/stat.h>
+ #define TARGET_NATIVE_FILE_MAKE_DIR(name,result) \
+ do { \
+ result=((mkdir(name,(S_IRWXO|S_IRWXG|S_IRWXU))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_GET_CWD
+* Purpose : get current working directory
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_GET_CWD
+ #include <unistd.h>
+ #define TARGET_NATIVE_FILE_GET_CWD(path,maxPathLength,result) \
+ do {\
+ result=(getcwd(path,maxPathLength)!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_OPEN_DIR
+* Purpose : open directory for reading entries.
+* Input : -
+* Output : handle - handle if not error, NULL otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_DIR
+ #include <sys/types.h>
+ #include <dirent.h>
+ #define TARGET_NATIVE_FILE_OPEN_DIR(filename,handle,result) \
+ do { \
+ handle=(void*)opendir(filename); \
+ result=(handle!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while(0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_CLOSE_DIR
+* Purpose : close directory
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_CLOSE_DIR
+ #include <sys/types.h>
+ #include <dirent.h>
+ #define TARGET_NATIVE_FILE_CLOSE_DIR(handle,result) \
+ do { \
+ closedir((DIR*)handle); \
+ result=TARGET_NATIVE_OK; \
+ } while(0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_READ_DIR
+* Purpose : read directory entry
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX ??? name als buffer? */
+#ifndef TARGET_NATIVE_FILE_READ_DIR
+ #include <sys/types.h>
+ #include <dirent.h>
+ #define TARGET_NATIVE_FILE_READ_DIR(handle,name,result) \
+ do { \
+ struct dirent *__direntBuffer; \
+ \
+ name=NULL; \
+ \
+ __direntBuffer=readdir((DIR*)handle); \
+ if (__direntBuffer!=NULL) { \
+ name=__direntBuffer->d_name; \
+ result=TARGET_NATIVE_OK; \
+ } else { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FILE_FSYNC
+* Purpose : do filesystem sync
+* Input : -
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_FSYNC
+ #define TARGET_NATIVE_FILE_FSYNC(filedescriptor,result) \
+ do { \
+ result=(fsync(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while(0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_FILE__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,82 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of miscellaneous functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_IO__
+#define __TARGET_GENERIC_IO__
+
+/* check if target_native_io.h included */
+#ifndef __TARGET_NATIVE_IO__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_IO__ */
+
+/* end of file */
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,130 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of float/double constants/
+ macros/functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_MATH_FLOAT__
+#define __TARGET_GENERIC_MATH_FLOAT__
+
+/* check if target_native_math_float.h included */
+#ifndef __TARGET_NATIVE_MATH_FLOAT__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include <jni.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/* test float/double values for NaN,Inf */
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN(f) isnan(f)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF(f) isinf(f)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE(f) finite(f)
+#endif
+
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN(d) isnan(d)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF(d) isinf(d)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE(d) finite(d)
+#endif
+
+/* division, modulo operations (used to avoid unexcepted exceptions on some
+ targets; generic codes are direct operations without checks)
+*/
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV
+ #define TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV(f0,f1) ((f0)/(f1))
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD(f0,f1) ((jfloat)fmod((jdouble)(f0),(jdouble)(f1)))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV
+ #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV(d0,d1) ((d0)/(d1))
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD
+ #include <math.h>
+ #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD(d0,d1) fmod(d0,d1)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MATH_FLOAT__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,260 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of int/int64 constants/
+ macros/functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_MATH_INT__
+#define __TARGET_GENERIC_MATH_INT__
+
+/* check if target_native_math_int.h included */
+#ifndef __TARGET_NATIVE_MATH_INT__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_0
+ #define TARGET_NATIVE_MATH_INT_INT64_CONST_0 0LL
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_1
+ #define TARGET_NATIVE_MATH_INT_INT64_CONST_1 1LL
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1
+ #define TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1 -1LL
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/* math operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_ADD
+ #define TARGET_NATIVE_MATH_INT_INT64_ADD(v1,v2) ((v1)+(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SUB
+ #define TARGET_NATIVE_MATH_INT_INT64_SUB(v1,v2) ((v1)-(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_MUL
+ #define TARGET_NATIVE_MATH_INT_INT64_MUL(v1,v2) ((v1)*(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_DIV
+ #define TARGET_NATIVE_MATH_INT_INT64_DIV(v1,v2) ((v1)/(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_MOD
+ #define TARGET_NATIVE_MATH_INT_INT64_MOD(v1,v2) ((v1)%(v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_ADD
+ #define TARGET_NATIVE_MATH_INT_UINT64_ADD(v1,v2) ((v1)+(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_SUB
+ #define TARGET_NATIVE_MATH_INT_UINT64_SUB(v1,v2) ((v1)-(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_MUL
+ #define TARGET_NATIVE_MATH_INT_UINT64_MUL(v1,v2) ((v1)*(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_DIV
+ #define TARGET_NATIVE_MATH_INT_UINT64_DIV(v1,v2) ((v1)/(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_MOD
+ #define TARGET_NATIVE_MATH_INT_UINT64_MOD(v1,v2) ((v1)%(v2))
+#endif
+
+/* bit operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_AND
+ #define TARGET_NATIVE_MATH_INT_INT64_AND(v1,v2) ((v1)&(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_OR
+ #define TARGET_NATIVE_MATH_INT_INT64_OR(v1,v2) ((v1)|(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_XOR
+ #define TARGET_NATIVE_MATH_INT_INT64_XOR(v1,v2) ((v1)^(v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_AND
+ #define TARGET_NATIVE_MATH_INT_UINT64_AND(v1,v2) ((v1)&(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_OR
+ #define TARGET_NATIVE_MATH_INT_UINT64_OR(v1,v2) ((v1)|(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_XOR
+ #define TARGET_NATIVE_MATH_INT_UINT64_XOR(v1,v2) ((v1)^(v2))
+#endif
+
+/* shift operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTL
+ #define TARGET_NATIVE_MATH_INT_INT64_SHIFTL(v,l) ((v)<<(l))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTR
+ #define TARGET_NATIVE_MATH_INT_INT64_SHIFTR(v,l) (((v)>>(l)) | (((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l)))))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_SHIFTR
+ #define TARGET_NATIVE_MATH_INT_UINT64_SHIFTR(v,l) (((v)>>(l)) & ~(((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l)))))
+#endif
+
+/* negation */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_NEG
+ #define TARGET_NATIVE_MATH_INT_INT64_NEG(v) (-(v))
+#endif
+
+/* increment/decrement routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_INC
+ #define TARGET_NATIVE_MATH_INT_INT64_INC(v) { v++; }
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_DEC
+ #define TARGET_NATIVE_MATH_INT_INT64_DEC(v) { v--; }
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_INC
+ #define TARGET_NATIVE_MATH_INT_UINT64_INC(v) { v++; }
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_DEC
+ #define TARGET_NATIVE_MATH_INT_UINT64_DEC(v) { v--; }
+#endif
+
+/* comparison routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_EQ
+ #define TARGET_NATIVE_MATH_INT_INT64_EQ(v1,v2) ((v1) == (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_NE
+ #define TARGET_NATIVE_MATH_INT_INT64_NE(v1,v2) ((v1) != (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_LT
+ #define TARGET_NATIVE_MATH_INT_INT64_LT(v1,v2) ((v1) < (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_LE
+ #define TARGET_NATIVE_MATH_INT_INT64_LE(v1,v2) ((v1) <= (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_GT
+ #define TARGET_NATIVE_MATH_INT_INT64_GT(v1,v2) ((v1) > (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_GE
+ #define TARGET_NATIVE_MATH_INT_INT64_GE(v1,v2) ((v1) >= (v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_EQ
+ #define TARGET_NATIVE_MATH_INT_UINT64_EQ(v1,v2) ((v1) == (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_NE
+ #define TARGET_NATIVE_MATH_INT_UINT64_NE(v1,v2) ((v1) != (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_LT
+ #define TARGET_NATIVE_MATH_INT_UINT64_LT(v1,v2) ((v1) < (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_LE
+ #define TARGET_NATIVE_MATH_INT_UINT64_LE(v1,v2) ((v1) <= (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_GT
+ #define TARGET_NATIVE_MATH_INT_UINT64_GT(v1,v2) ((v1) > (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_GE
+ #define TARGET_NATIVE_MATH_INT_UINT64_GE(v1,v2) ((v1) >= (v2))
+#endif
+
+/* type conversion routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT32_TO_INT64
+ #define TARGET_NATIVE_MATH_INT_INT32_TO_INT64(v) ((jlong)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64
+ #define TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64(v) ((jlong)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32
+ #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32(v) ((jint )(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32
+ #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32(v) ((jint)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE
+ #define TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE(v) ((jdouble)(v))
+#endif
+
+/* combine/split int32 low/high values <-> int64 values */
+#ifndef TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64
+ #define TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64(low,high,v) \
+ do { \
+ (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64
+ #define TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64(low,high,v) \
+ do { \
+ (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH
+ #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH(v,low,high) \
+ do { \
+ (high)=((v) & 0xFFFFffff00000000L) >> 32; \
+ (low) =((v) & 0x00000000FFFFffffL) >> 0; \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH
+ #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH(v,low,high) \
+ do { \
+ (high)=((v) & 0xFFFFffff00000000L) >> 32; \
+ (low) =((v) & 0x00000000FFFFffffL) >> 0; \
+ } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MATH_INT__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,203 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of miscellaneous functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_MISC__
+#define __TARGET_GENERIC_MISC__
+
+/* check if target_native_misc.h included */
+#ifndef __TARGET_NATIVE_MISC__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_MISC_FORMAT_STRING<n>
+* Purpose : format a string (with a fixed number of) arguments
+* Input : buffer - buffer for string
+* bufferSize - size of buffer
+* format - format string (like printf)
+* args - optional arguments (GNU CPP only!)
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : - this is a "safe" macro to format string; buffer-
+* overflows will be avoided. Direct usage of e. g.
+* snprintf() is not permitted because it is not ANSI C
+* (not portable!)
+* - do not use this routine in a function without
+* variable number of arguments (ellipses), because
+* va_list/va_start/va_end is used!
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING0
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING0(buffer,bufferSize,format) \
+ do { \
+ snprintf(buffer,bufferSize, "%s", format); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING1
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING1(buffer,bufferSize,format,arg1) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING2
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING2(buffer,bufferSize,format,arg1,arg2) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING3
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING3(buffer,bufferSize,format,arg1,arg2,arg3) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING4
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING4(buffer,bufferSize,format,arg1,arg2,arg3,arg4) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING5
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING5(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING6
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING6(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING7
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING7(buffer,bufferSize,format,arg1,arg2,arg3,arg14,arg5,arg6,arg7) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING8
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING8(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); \
+ } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING9
+ #include <stdarg.h>
+ #define TARGET_NATIVE_MISC_FORMAT_STRING9(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \
+ do { \
+ snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_FORMAT_STRING_ELLIPSE
+* Purpose : format a string with arguments
+* Input : buffer - buffer for string
+* bufferSize - size of buffer
+* format - format string (like printf)
+* Output : -
+* Return : -
+* Side-effect: unknown
+* Notes : - this is a "safe" macro to format string; buffer-
+* overflows will be avoided. Direct usage of e. g.
+* snprintf() is not permitted because it is not ANSI C
+* (not portable!)
+* - do not use this routine in a function without
+* variable number of arguments (ellipses), because
+* va_list/va_start/va_end is used!
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING_ELLIPSE
+ #include <stdarg.h>
+ #define TARGET_NATIVE_FORMAT_STRING_ELLIPSE(buffer,bufferSize,format) \
+ do { \
+ va_list __arguments; \
+ \
+ va_start(__arguments,format); \
+ vsnprintf(buffer,bufferSize,format,__arguments); \
+ va_end(__arguments); \
+ } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MISC__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h Thu Nov 8 16:56:19 2007
@@ -0,0 +1,1289 @@
+/* target_generic_network.h - Native methods for network operations.
+ Copyright (C) 1998, 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of network functions
+Systems : all
+*/
+
+#ifndef __TARGET_GENERIC_NETWORK__
+#define __TARGET_GENERIC_NETWORK__
+
+/* check if target_native_network.h included */
+#ifndef __TARGET_NATIVE_NETWORK__
+ #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT
+* Purpose : convert IP adddress (4 parts) into integer (host-format
+* 32bit)
+* Input : n0,n1,n2,n3 - IP address parts
+* Output : i - integer with IP address in host-format
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT
+ #define TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT(n0,n1,n2,n3,i) \
+ do { \
+ i=(((unsigned char)n0) << 24) | \
+ (((unsigned char)n1) << 16) | \
+ (((unsigned char)n2) << 8) | \
+ (((unsigned char)n3) << 0); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES
+* Purpose : convert IP adddress (4 parts) into integer (host-format
+* 32bit)
+* Input : n0,n1,n2,n3 - IP address parts
+* Output : i - integer with IP address in host-format
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES
+ #define TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES(i,n0,n1,n2,n3) \
+ do { \
+ n0=(i & 0xFF000000) >> 24; \
+ n1=(i & 0x00FF0000) >> 16; \
+ n2=(i & 0x0000FF00) >> 8; \
+ n3=(i & 0x000000FF) >> 0; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME
+* Purpose : get hostname
+* Input : maxNameLen - max. length of name
+* Output : name - name (NUL terminated)
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME
+ #include <unistd.h>
+ #define TARGET_NATIVE_NETWORK_GET_HOSTNAME(name,maxNameLen,result) \
+ do { \
+ result=(gethostname(name,maxNameLen-1)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ name[maxNameLen-1]='\0'; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS
+* Purpose : get hostname by address
+* Input : address - IP address (32bit, NOT network byte order!)
+* maxNameLen - max. length of name
+* Output : name - name (NUL terminated)
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX NYI??? reentrant? */
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS
+ #include <netdb.h>
+ #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS(address,name,maxNameLen,result) \
+ do { \
+ int __networkAddress; \
+ struct hostent *__hostEntry; \
+ \
+ __networkAddress=htonl(address); \
+ __hostEntry = gethostbyaddr((char*)&__networkAddress,sizeof(__networkAddress),AF_INET); \
+ if (__hostEntry!=NULL) \
+ { \
+ strncpy(name,__hostEntry->h_name,maxNameLen-1); \
+ name[maxNameLen]='\0'; \
+ result=TARGET_NATIVE_OK; \
+ } \
+ else \
+ { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME
+* Purpose : get hostname by name
+* Input : name - hostname
+* maxAddressSize - max. size of address array
+* Output : addresses - host adddresses (array, NOT in network
+* byte order!)
+* addressCount - number of entries in address array
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX NYI??? reentrant? */
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME
+ #include <netdb.h>
+ #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME(name,addresses,maxAddressSize,addressCount,result) \
+ do { \
+ struct hostent *__hostEntry; \
+ \
+ addressCount=0; \
+ \
+ __hostEntry = gethostbyname(name); \
+ if (__hostEntry!=NULL) \
+ { \
+ while ((addressCount<maxAddressSize) && (__hostEntry->h_addr_list[addressCount]!=NULL)) \
+ { \
+ addresses[addressCount]=ntohl(*(int*)(__hostEntry->h_addr_list[addressCount])); \
+ addressCount++; \
+ } \
+ result=TARGET_NATIVE_OK; \
+ } \
+ else \
+ { \
+ result=TARGET_NATIVE_ERROR; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM
+* Purpose : open stream socket
+* Input : -
+* Output : socketDescriptor - socket descriptor
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <fcntl.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM(socketDescriptor,result) \
+ do { \
+ socketDescriptor=socket(AF_INET,SOCK_STREAM,0); \
+ fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \
+ result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM
+* Purpose : open datagram socket
+* Input : -
+* Output : socketDescriptor - socket descriptor
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <fcntl.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM(socketDescriptor,result) \
+ do { \
+ socketDescriptor=socket(AF_INET,SOCK_DGRAM,0); \
+ fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \
+ result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_CLOSE
+* Purpose : close socket
+* Input : socketDescriptor - socket descriptor
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_CLOSE
+ #include <unistd.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_CLOSE(socketDescriptor,result) \
+ do { \
+ result=(close(socketDescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_CONNECT
+* Purpose : connect socket
+* Input : socketDescriptor - socket descriptor
+* address - address (network format???)
+* port - port number (NOT in network byte order!)
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_CONNECT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_CONNECT(socketDescriptor,address,port,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddress.sin_family = AF_INET; \
+ __socketAddress.sin_addr.s_addr = htonl(address); \
+ __socketAddress.sin_port = htons(((short)port)); \
+ \
+ result=(connect(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_BIND
+* Purpose : bind socket
+* Input : socketDescriptor - socket descriptor
+* address - address (NOT ??? in network byte order!)
+* port - port (NOT in network byte order!)
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_BIND
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_BIND(socketDescriptor,address,port,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddress.sin_family = AF_INET; \
+ __socketAddress.sin_addr.s_addr = htonl(address); \
+ __socketAddress.sin_port = htons(((short)port)); \
+ \
+ result=(bind(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_LISTEN
+* Purpose : listen socket
+* Input : socketDescriptor - socket descriptor
+* maxQueueLength - max. number of pending connections
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_LISTEN
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_LISTEN(socketDescriptor,maxQueueLength,result) \
+ do { \
+ result=(listen(socketDescriptor,maxQueueLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_ACCEPT
+* Purpose : accept socket
+* Input : socketDescriptor - socket descriptor
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_ACCEPT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_ACCEPT(socketDescriptor,newSocketDescriptor,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddressLength=sizeof(__socketAddress); \
+ newSocketDescriptor=accept(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \
+ result=(newSocketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO
+* Purpose : get local socket data info
+* Input : socketDescriptor - socket descriptor
+* Output : localAddress - local address (NOT in network byte order!)
+* localPort - local port number (NOT in network byte order!)
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO(socketDescriptor,localAddress,localPort,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ localAddress=0; \
+ localPort =0; \
+ \
+ __socketAddressLength=sizeof(__socketAddress); \
+ result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ localAddress=ntohl(__socketAddress.sin_addr.s_addr); \
+ localPort =ntohs(__socketAddress.sin_port); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO
+* Purpose : get remote socket data info
+* Input : socketDescriptor - socket descriptor
+* Output : remoteAddress - remote address (NOT in network byte order!)
+* remotePort - remote port number (NOT in network byte order!)
+* : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO(socketDescriptor,remoteAddress,remotePort,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ remoteAddress=0; \
+ remotePort =0; \
+ \
+ __socketAddressLength=sizeof(__socketAddress); \
+ result=(getpeername(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ remoteAddress=ntohl(__socketAddress.sin_addr.s_addr); \
+ remotePort =ntohs(__socketAddress.sin_port); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE
+* Purpose : get number of available bytes for receive
+* Input : socketDescriptor - socket descriptor
+* Output : bytesAvailable - available bytes for receive
+* : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE
+ #include <sys/ioctl.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE(socketDescriptor,bytesAvailable,result) \
+ do { \
+ int __value; \
+ \
+ bytesAvailable=0; \
+ \
+ result=(ioctl(socketDescriptor,FIONREAD,&__value)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ bytesAvailable=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE
+* Purpose : receive data from socket
+* Input : socketDescriptor - socket descriptor
+* maxLength - max. size of bfufer
+* Output : buffer - received data
+* bytesReceive - length of received data
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE(socketDescriptor,buffer,maxLength,bytesReceived) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddressLength=sizeof(__socketAddress); \
+ bytesReceived=recv(socketDescriptor,buffer,maxLength,0); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT
+* Purpose : receive data from socket
+* Input : socketDescriptor - socket descriptor
+* maxLength - max. size of bfufer
+* Output : buffer - received data
+* address - from address (NOT in network byte order!)
+* port - from port (NOT in network byte order!)
+* bytesReceive - length of received data
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT(socketDescriptor,buffer,maxLength,address,port,bytesReceived) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ port=0; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddressLength=sizeof(__socketAddress); \
+ bytesReceived=recvfrom(socketDescriptor,buffer,maxLength,0,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \
+ if (__socketAddressLength==sizeof(__socketAddress)) \
+ { \
+ address=ntohl(__socketAddress.sin_addr.s_addr); \
+ port =ntohs(__socketAddress.sin_port); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SEND
+* Purpose : send data to socket
+* Input : socketDescriptor - socket descriptor
+* : buffer - data to send
+* length - length of data to send
+* Output : bytesSent - number of bytes sent, -1 otherwise
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SEND(socketDescriptor,buffer,length,bytesSent) \
+ do { \
+ bytesSent=send(socketDescriptor,buffer,length,0); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT
+* Purpose : send data to socket
+* Input : socketDescriptor - socket descriptor
+* : buffer - data to send
+* length - length of data to send
+* Address - to address (NOT in network byte order!)
+* Port - to port (NOT in network byte order!)
+* Output : bytesSent - number of bytes sent, -1 otherwise
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT(socketDescriptor,buffer,length,address,port,bytesSent) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddress.sin_family = AF_INET; \
+ __socketAddress.sin_addr.s_addr = htonl(address); \
+ __socketAddress.sin_port = htons((short)port); \
+ bytesSent=sendto(socketDescriptor,buffer,length,0,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress)); \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY
+* Purpose : set socket option TCP_NODELAY
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/tcp.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ \
+ __value=flag; \
+ result=(setsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER
+* Purpose : set socket option SO_LINGER
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* value - linger value
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \
+ do { \
+ struct linger __linger; \
+ \
+ memset(&__linger,0,sizeof(__linger)); \
+ if (flag) \
+ { \
+ __linger.l_onoff=0; \
+ } \
+ else \
+ { \
+ __linger.l_linger=value; \
+ __linger.l_onoff =1; \
+ } \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,sizeof(__linger))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT
+* Purpose : set socket option SO_TIMEOUT
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \
+ do { \
+ struct timeval __value; \
+ \
+ __value.tv_sec = flag / 1000; \
+ __value.tv_usec = (flag % 1000) * 1000; \
+ result = ( (setsockopt(socketDescriptor, SOL_SOCKET, SO_SNDTIMEO, &__value, sizeof(__value)) | \
+ setsockopt(socketDescriptor, SOL_SOCKET, SO_RCVTIMEO, &__value, sizeof(__value))) == 0) ? TARGET_NATIVE_OK : TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF
+* Purpose : set socket option SO_SNDBUF
+* Input : socketDescriptor - socket descriptor
+* size - size of send buffer
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \
+ do { \
+ int __value; \
+ \
+ __value=size; \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF
+* Purpose : set socket option SO_RCDBUF
+* Input : socketDescriptor - socket descriptor
+* size - size of receive buffer
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \
+ do { \
+ int __value; \
+ \
+ __value=size; \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL
+* Purpose : set socket option IP_TTL
+* Input : socketDescriptor - socket descriptor
+* value - value
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL(socketDescriptor,value,result) \
+ do { \
+ int __value; \
+ \
+ __value=value; \
+ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF
+* Purpose : set socket option IP_MULTICAST_IF
+* Input : socketDescriptor - socket descriptor
+* address - integer with IP address in host-format
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddress.sin_family = AF_INET; \
+ __socketAddress.sin_addr.s_addr = htonl(address); \
+ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS
+* Purpose : set socket option REUSE_ADDRESS
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ \
+ __value=flag; \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP
+* Purpose : set socket option IP_ADD_MEMBERSHIP
+* Input : socketDescriptor - socket descriptor
+* address - network address (host-format)
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP(socketDescriptor,address,result) \
+ do { \
+ struct ip_mreq __request; \
+ \
+ memset(&__request,0,sizeof(__request)); \
+ __request.imr_multiaddr.s_addr=htonl(address); \
+ __request.imr_interface.s_addr=INADDR_ANY; \
+ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_ADD_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP
+* Purpose : set socket option IP_DROP_MEMBERSHIP
+* Input : socketDescriptor - socket descriptor
+* address - network address (host-format)
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP(socketDescriptor,address,result) \
+ do { \
+ struct ip_mreq __request; \
+ \
+ memset(&__request,0,sizeof(__request)); \
+ __request.imr_multiaddr.s_addr=htonl(address); \
+ __request.imr_interface.s_addr=INADDR_ANY; \
+ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_DROP_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE
+* Purpose : set socket option KEEP_ALIVE
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ \
+ __value=flag; \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST
+* Purpose : set socket option SO_BROADCAST
+* Input : socketDescriptor - socket descriptor
+* flag - 1 or 0
+* Output : result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/tcp.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ \
+ __value=flag; \
+ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ } while (0)
+#endif
+
+/*---------------------------------------------------------------------*/
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY
+* Purpose : get socket option TCP_NODELAY
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/tcp.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER
+* Purpose : get socket option SO_LINGER
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* value - linger value
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \
+ do { \
+ struct linger __linger; \
+ socklen_t __len; \
+ \
+ flag =0; \
+ value=0; \
+ \
+ __len=sizeof(__linger); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag =__linger.l_onoff; \
+ value=__linger.l_linger; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT
+* Purpose : get socket option SO_TIMEOUT
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \
+ do { \
+ struct timeval __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_TIMEOUT,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag = (__value.tv_sec * 1000LL) + (__value.tv_usec / 1000LL); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF
+* Purpose : get socket option SO_SNDBUF
+* Input : socketDescriptor - socket descriptor
+* Output : size - size of send buffer
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ size=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ size=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF
+* Purpose : get socket option SO_RCDBUF
+* Input : socketDescriptor - socket descriptor
+* Output : size - size of receive buffer
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ size=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ size=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL
+* Purpose : get socket option IP_TTL
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF
+* Purpose : get socket option IP_MULTICAST_IF
+* Input : socketDescriptor - socket descriptor
+* Output : address - integer with IP address in host-format
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ address=0;\
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddress.sin_family = AF_INET; \
+ __socketAddress.sin_addr.s_addr = htonl(address); \
+ __socketAddressLength=sizeof(__socketAddress); \
+ result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ address=ntohl(__socketAddress.sin_addr.s_addr); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS
+* Purpose : get socket option SOCKOPT_SO_BINDADDR
+* Input : socketDescriptor - socket descriptor
+* Output : address - integer with IP address in host-format
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS(socketDescriptor,address,result) \
+ do { \
+ struct sockaddr_in __socketAddress; \
+ socklen_t __socketAddressLength; \
+ \
+ address=0;\
+ \
+ memset(&__socketAddress,0,sizeof(__socketAddress)); \
+ __socketAddressLength=sizeof(__socketAddress); \
+ result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ address=ntohl(__socketAddress.sin_addr.s_addr); \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS
+* Purpose : get socket option REUSE_ADDRESS
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE
+* Purpose : get socket option KEEP_ALIVE
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag=__value; \
+ } \
+ } while (0)
+#endif
+
+/***********************************************************************\
+* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST
+* Purpose : get socket option SO_BROADCAST
+* Input : socketDescriptor - socket descriptor
+* Output : flag - 1 or 0
+* result - TARGET_NATIVE_OK if no error occurred,
+* TARGET_NATIVE_ERROR otherwise
+* Return : -
+* Side-effect: unknown
+* Notes : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/tcp.h>
+ #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST(socketDescriptor,flag,result) \
+ do { \
+ int __value; \
+ socklen_t __len; \
+ \
+ flag=0; \
+ \
+ __len=sizeof(__value); \
+ result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+ if (result==TARGET_NATIVE_OK) \
+ { \
+ flag=__value; \
+ } \
+ } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_NETWORK__ */
+
+/* end of file */
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt Thu Nov 8 16:56:19 2007
@@ -0,0 +1,149 @@
+The GNU classpath native layer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To enable GNU classpath to run on a diverse array of different hardware
+platforms, a new native software layer has been added. This layer hide all
+machine and hardware dependent issues except common available definitions,
+which are ANSI C functions. For each targets system where the GNU classpath
+library is to be used, a specific set of native layer functions have to be
+provided. A generic set of functions is provided for Unix like systems
+(currently tested only with Linux). For a new target system, some or
+all native layer functions have to be rewritten. The following scheme
+illustrate the native layer.
+
+ Java API
+ ----------------------
+ | Java classes |
+ | -------------------- |
+ | C native functions |
+ | -------------------- |
+ >> | C native layer | <<
+ | -------------------- |
+ | operating system |
+ | -------------------- |
+ | hardware |
+ ----------------------
+
+The C native layer is implemented as a set of C pre-processor native macros.
+These macros expand to the appropriated native code. Macros are used
+instead function calls to give optimal performance and small code size.
+Of course in special cases, a macro can also expand to a function call
+if this is needed. This approach provide a flexible and efficient
+implementation of the native layer.
+
+The naming pattern for native macros is like follows:
+
+ TARGET_NATIVE_<module name>_<macro name>
+
+where <module name> is a name of a module, e. g. FILE; <macro name> is
+the name of the specific native macro, e. g. OPEN_READ.
+
+The parameters for the macro use in general (with a few exceptions) the
+scheme
+
+ <parameter>,<parameter>,...,<result>
+
+where <parameter> is input/output parameter and <result> is the result
+code TARGET_NATIVE_OK or TARGET_NATIVE_ERROR. Specific error codes
+and error strings can be gotten with
+
+ TARGET_NATIVE_LAST_ERROR and
+ TARGET_NATIVE_LAST_ERROR_STRING
+
+(see also file target_generic.h).
+
+For a single target system there exists two sets of native macros in
+the files
+
+ a) <target name>/target_native_<module name>.h
+ b) generic/target_generic_<module name>.h
+
+The macros in "a" are target specific implementations of native
+functions, the macros in "b" are generic implementations (for Unix) of
+the same native functions. If a native macro is not defined in the file
+"a", then the definition in file "b" is used (there is a check to see if
+a native macros is already defined elsewhere). This technique enables
+"a" to 'overwrite' single generic native macros with specific native
+macros for a specific target. In the default case, where only the
+generic implementation of the native macros is used, the files in the
+directory '<target name>' are empty except for the mandatory include of the
+generic header file in the directory 'generic' at the end. Please
+look at the existing Linux target specific files.
+
+The directory and file structure is as follows.
+
+ native
+ ...
+ |
+ |--- target
+ | |
+ | |--- Linux
+ | | |--- target_native_<module name>.h
+ | | |--- ...
+ | | ...
+ | |--- ...
+ | |--- generic
+ | | |--- target_generic_<module name>.h
+ | | |--- ...
+ ... ... ...
+
+
+Include hierarchy is as follows.
+
+ native file <name>
+ --> include 'target_native_<module name>.h'
+ ...
+ <target specific definitions>
+ ...
+ --> include 'target_generic_<module name>.h'
+ ...
+ <generic definitions>
+ ...
+
+When writing native code, please take care with the following.
+
+ - Use _only_ ANSI C specific functions directly which are available
+ on all target systems with the same parameters, e. g. strdup() is
+ not an ANSI C function, thus is is not available on all systems; mkdir()
+ expect on some systems different parameters.
+
+ !!!Do NOT use this functions in your native code!!!
+
+ Instead
+
+ * if a function is not available, create a native macro in the file
+
+ <target name>/target_native_<module name>.h
+
+ * if it is a generic function, include a generic implementation in
+
+ generic/target_generic_<module name>.h
+
+ * Then use this macro in your native code.
+
+ - Avoid _all_ OS specific data types and constants, e. g. structures or error
+ numbers. Instead, wrap them in a native macro and convert the values to
+ basic scalar types like char, int, double or long.
+
+ - Take care with 64 bit values; the are machine dependent. Not all
+ target system support 64 bit operations. The macros in
+ target_generic_math_int.h give a set of macros implementing 64 bit
+ operations and constants.
+
+ - Avoid - if possible - non-reentrant functions. Non-reentrant functions
+ cause strange problems on some multitasking systems.
+
+ - Avoid - if possible - dynamic data types created by malloc() and similar
+ functions. Instead use (local) static variables to avoid stack usage.
+ On some target systems, dynamic memory management is either slow or even
+ dangerous. Moreover malloc()-calls can cause fragmentation of the system
+ memory, which could result in a system crash or an application failure.
+
+For some examples, please look in the current implementation for
+Linux in the directory 'target/Linux' and the generic implementation in
+the directory 'target/generic'.
+
+
+ aicas GmbH, February 2003
+
+
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,215 @@
+/* ChannelBinding.java -- a channel binding in the GSS-API.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.net.InetAddress;
+import java.util.Arrays;
+
+/**
+ * <p>The GSS-API accommodates the concept of caller-provided channel
+ * binding information. Channel bindings are used to strengthen the
+ * quality with which peer entity authentication is provided during
+ * context establishment. They enable the GSS-API callers to bind the
+ * establishment of the security context to relevant characteristics
+ * like addresses or to application specific data.</p>
+ *
+ * <p>The caller initiating the security context must determine the
+ * appropriate channel binding values to set in the {@link GSSContext}
+ * object. The acceptor must provide an identical binding in order to
+ * validate that received tokens possess correct channel-related
+ * characteristics.</p>
+ *
+ * <p>Use of channel bindings is optional in GSS-API. Since channel-binding
+ * information may be transmitted in context establishment tokens,
+ * applications should therefore not use confidential data as
+ * channel-binding components.</p>
+ */
+public class ChannelBinding
+{
+
+ // Fields.
+ // -------------------------------------------------------------------------
+
+ private final byte[] appData;
+ private final InetAddress initAddr;
+ private final InetAddress acceptAddr;
+
+ // Constructor.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a ChannelBinding object with user supplied address information
+ * and data. <code>null</code> values can be used for any fields which the
+ * application does not want to specify.
+ *
+ * @param initAddr The address of the context initiator. <code>null</code>
+ * value can be supplied to indicate that the application
+ * does not want to set this value.
+ * @param acceptAddr The address of the context acceptor. <code>null</code>
+ * value can be supplied to indicate that the application
+ * does not want to set this value.
+ * @param appData Application supplied data to be used as part of the
+ * channel bindings. <code>null</code> value can be
+ * supplied to indicate that the application does not
+ * want to set this value.
+ */
+ public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr,
+ byte[] appData)
+ {
+ this.appData = (appData != null) ? (byte[]) appData.clone() : null;
+ this.initAddr = initAddr;
+ this.acceptAddr = acceptAddr;
+ }
+
+ /**
+ * Creates a ChannelBinding object without any addressing information.
+ *
+ * @param appData Application supplied data to be used as part of the
+ * channel bindings.
+ */
+ public ChannelBinding(byte[] appData)
+ {
+ this(null, null, appData);
+ }
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Returns the initiator's address for this channel binding.
+ * <code>null</code> is returned if the address has not been set.
+ *
+ * @return The initiator's address, or <code>null</code>.
+ */
+ public InetAddress getInitiatorAddress()
+ {
+ return initAddr;
+ }
+
+ /**
+ * Returns the acceptor's address for this channel binding.
+ * <code>null</code> is returned if the address has not been set.
+ *
+ * @return The acceptor's address, or <code>null</code>.
+ */
+ public InetAddress getAcceptorAddress()
+ {
+ return acceptAddr;
+ }
+
+ /**
+ * Returns application data being used as part of the ChannelBinding.
+ * <code>null</code> is returned if no application data has been
+ * specified for the channel binding.
+ *
+ * @return The application data, or <code>null</code>.
+ */
+ public byte[] getApplicationData()
+ {
+ if (appData != null)
+ return (byte[]) appData.clone();
+ return null;
+ }
+
+ /**
+ * Returns <code>true</code> if two channel bindings match.
+ *
+ * @param obj Another channel binding to compare with.
+ * @return True if this channel binding equals the other.
+ */
+ public boolean equals(Object obj)
+ {
+ if (!(obj instanceof ChannelBinding))
+ return false;
+ ChannelBinding cb = (ChannelBinding) obj;
+ boolean b1 = Arrays.equals(appData, cb.appData);
+ boolean b2 = (initAddr == null && cb.initAddr == null)
+ || (cb.initAddr != null && initAddr.equals(cb.initAddr));
+ boolean b3 = (acceptAddr == null && cb.acceptAddr == null)
+ || (cb.acceptAddr != null && acceptAddr.equals(cb.acceptAddr));
+ return b1 && b2 && b3;
+ }
+
+ /**
+ * Returns the hash code for this channel binding.
+ *
+ * @return The hash code.
+ */
+ public int hashCode()
+ {
+ int code = 0;
+ if (appData != null)
+ for (int i = 0; i < appData.length; i++)
+ code ^= appData[i] << ((8 * i) & 31);
+ if (initAddr != null)
+ code ^= initAddr.hashCode();
+ if (acceptAddr != null)
+ code ^= acceptAddr.hashCode();
+ return code;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,924 @@
+/* GSSContext.java -- The GSS context interface.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.ietf.jgss;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * <p>This interface encapsulates the GSS-API security context and provides
+ * the security services ({@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)},
+ * {@link #unwrap(byte[],int,int,org.ietf.jgss.MessageProp)}, {@link
+ * #getMIC(byte[],int,int,org.ietf.jgss.MessageProp)}, {@link
+ * #verifyMIC(byte[],int,int,byte[],int,int,org.ietf.jgss.MessageProp)}) that
+ * are available over the context. Security contexts are established
+ * between peers using locally acquired credentials. Multiple contexts
+ * may exist simultaneously between a pair of peers, using the same or
+ * different set of credentials. GSS-API functions in a manner
+ * independent of the underlying transport protocol and depends on its
+ * calling application to transport its tokens between peers.</p>
+ *
+ * <p>Before the context establishment phase is initiated, the context
+ * initiator may request specific characteristics desired of the
+ * established context. These can be set using the set methods. After
+ * the context is established, the caller can check the actual
+ * characteristic and services offered by the context using the query
+ * methods.</p>
+ *
+ * <p>The context establishment phase begins with the first call to the
+ * init method by the context initiator. During this phase the
+ * {@link #initSecContext(byte[],int,int)} and {@link
+ * #acceptSecContext(byte[],int,int)} methods will produce GSS-API
+ * authentication tokens which the calling application needs to send to
+ * its peer. If an error occurs at any point, an exception will get
+ * thrown and the code will start executing in a catch block. If not,
+ * the normal flow of code continues and the application can make a call
+ * to the {@link #isEstablished()} method. If this method returns false it
+ * indicates that a token is needed from its peer in order to continue
+ * the context establishment phase. A return value of true signals that
+ * the local end of the context is established. This may still require
+ * that a token be sent to the peer, if one is produced by GSS-API.
+ * During the context establishment phase, the {@link #isProtReady()}
+ * method may be called to determine if the context can be used for the
+ * per-message operations. This allows applications to use per-message
+ * operations on contexts which aren't fully established.</p>
+ *
+ * <p>After the context has been established or the {@link #isProtReady()}
+ * method returns <code>true</code>, the query routines can be invoked to
+ * determine the actual characteristics and services of the established
+ * context. The application can also start using the per-message methods
+ * of {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)} and
+ * {@link #getMIC(byte[],int,int,org.ietf.jgss.MessageProp)} to obtain
+ * cryptographic operations on application supplied data.</p>
+ *
+ * <p>When the context is no longer needed, the application should call
+ * {@link dispose()} to release any system resources the context may be
+ * using.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// start by creating the name for a service entity
+GSSName targetName = mgr.createName("service at host",
+ GSSName.NT_HOSTBASED_SERVICE);
+
+// create a context using default credentials for the above entity
+// and the implementation specific default mechanism
+GSSContext context = mgr.createContext(targetName,
+ null, // default mechanism
+ null, // default credentials
+ GSSContext.INDEFINITE_LIFETIME);
+
+// set desired context options - all others are false by default
+context.requestConf(true);
+context.requestMutualAuth(true);
+context.requestReplayDet(true);
+context.requestSequenceDet(true);
+
+// establish a context between peers - using byte arrays
+byte []inTok = new byte[0];
+
+try
+ {
+ do
+ {
+ byte[] outTok = context.initSecContext(inTok, 0,
+ inTok.length);
+
+ // send the token if present
+ if (outTok != null)
+ sendToken(outTok);
+
+ // check if we should expect more tokens
+ if (context.isEstablished())
+ break;
+
+ // another token expected from peer
+ inTok = readToken();
+
+ }
+ while (true);
+ }
+catch (GSSException e)
+ {
+ print("GSSAPI error: " + e.getMessage());
+ }
+
+// display context information
+print("Remaining lifetime in seconds = " + context.getLifetime());
+print("Context mechanism = " + context.getMech().toString());
+print("Initiator = " + context.getSrcName().toString());
+print("Acceptor = " + context.getTargName().toString());
+
+if (context.getConfState())
+ print("Confidentiality security service available");
+
+if (context.getIntegState())
+ print("Integrity security service available");
+
+// perform wrap on an application supplied message, appMsg,
+// using QOP = 0, and requesting privacy service
+byte[] appMsg ...
+MessageProp mProp = new MessageProp(0, true);
+byte[] tok = context.wrap(appMsg, 0, appMsg.length, mProp);
+
+if (mProp.getPrivacy())
+ print("Message protected with privacy.");
+
+sendToken(tok);
+
+
+// release the local-end of the context
+context.dispose();
+ * </pre>
+ */
+public interface GSSContext
+{
+
+ // Constants.
+ // -------------------------------------------------------------------------
+
+ /**
+ * A lifetime constant representing the default context lifetime.
+ */
+ int DEFAULT_LIFETIME = 0;
+
+ /**
+ * A lifetime constant representing indefinite context lifetime.
+ */
+ int INDEFINITE_LIFETIME = Integer.MAX_VALUE;
+
+ // Methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * <p>Called by the context initiator to start the context creation
+ * process. This is equivalent to the stream based method except that
+ * the token buffers are handled as byte arrays instead of using stream
+ * objects. This method may return an output token which the
+ * application will need to send to the peer for processing by the
+ * accept call. Typically, the application would do so by calling the
+ * {@link OutputStream#flush()} method on an OutputStream that
+ * encapsulates the connection between the two peers. The application
+ * can call {@link #isEstablished()} to determine if the context
+ * establishment phase is complete for this peer. A return value of
+ * <code>false</code> from {@link #isEstablished()} indicates that more
+ * tokens are expected to be supplied to the initSecContext() method. Note
+ * that it is possible that the initSecContext() method return a token for
+ * the peer, and {@link #isEstablished()} to return <code>true</code> also.
+ * This indicates that the token needs to be sent to the peer, but the local
+ * end of the context is now fully established.</p>
+ *
+ * <p>Upon completion of the context establishment, the available context
+ * options may be queried through the get methods.</p>
+ *
+ * @param inputBuf Token generated by the peer. This parameter is ignored
+ * on the first call.
+ * @param offset The offset within the <i>inputBuf</i> where the token
+ * begins.
+ * @param len The length of the token within the <i>inputBuf</i>
+ * (starting at the offset).
+ * @return The output token, if any.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] initSecContext(byte[] inputBuf, int offset, int len)
+ throws GSSException;
+
+ /**
+ * <p>Called by the context initiator to start the context creation
+ * process. This is equivalent to the byte array based method. This
+ * method may write an output token to the <i>outStream</i>, which the
+ * application will need to send to the peer for processing by the
+ * accept call. Typically, the application would do so by calling the
+ * {@link OutputStream#flush()} method on an OutputStream that encapsulates
+ * the connection between the two peers. The application can call {@link
+ * #isEstablished()} to determine if the context establishment phase is
+ * complete for this peer. A return value of <code>false</code> from
+ * isEstablished indicates that more tokens are expected to be supplied
+ * to the initSecContext() method. Note that it is possible that the
+ * initSecContext() method return a token for the peer, and {@link
+ * #isEstablished() return <code>true</code> also. This indicates that
+ * the token needs to be sent to the peer, but the local end of the context
+ * is now fully established.</p>
+ *
+ * <p>The GSS-API authentication tokens contain a definitive start and end.
+ * This method will attempt to read one of these tokens per invocation,
+ * and may block on the stream if only part of the token is available.</p>
+ *
+ * <p>Upon completion of the context establishment, the available context
+ * options may be queried through the get methods.</p>
+ *
+ * @param inStream Contains the token generated by the peer. This
+ * parameter is ignored on the first call.
+ * @param outStream Output stream where the output token will be written.
+ * During the final stage of context establishment, there
+ * may be no bytes written.
+ * @return The number of bytes written to <i>outStream</i>, or 0 if no
+ * token is written.
+ * @throws GSSException If this operation fails.
+ */
+ int initSecContext(InputStream inStream, OutputStream outStream)
+ throws GSSException;
+
+ /**
+ * <p>Called by the context acceptor upon receiving a token from the peer.
+ * This call is equivalent to the stream based method except that the
+ * token buffers are handled as byte arrays instead of using stream
+ * objects.</p>
+ *
+ * <p>This method may return an output token which the application will
+ * need to send to the peer for further processing by the init call.</p>
+ *
+ * <p><code>null</code> return value indicates that no token needs to be
+ * sent to the peer. The application can call {@link #isEstablished()}
+ * to determine if the context establishment phase is complete for this
+ * peer. A return value of <code>false</code> from {@link #isEstablished()}
+ * indicates that more tokens are expected to be supplied to this
+ * method.</p>
+ *
+ * <p>Note that it is possible that acceptSecContext() return a token for
+ * the peer, and isEstablished() return <code>true</code> also. This
+ * indicates that the token needs to be sent to the peer, but the local
+ * end of the context is now fully established.</p>
+ *
+ * <p>Upon completion of the context establishment, the available context
+ * options may be queried through the get methods.</p>
+ *
+ * @param inTok Token generated by the peer.
+ * @param offset The offset within the <i>inTok</i> where the token begins.
+ * @param len The length of the token within the <i>inTok</i> (starting
+ * at the offset).
+ * @return The output token, if any.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] acceptSecContext(byte[] inTok, int offset, int len)
+ throws GSSException;
+
+ /**
+ * <p>Called by the context acceptor upon receiving a token from the peer.
+ * This call is equivalent to the byte array method. It may write an
+ * output token to the outStream, which the application will need to
+ * send to the peer for processing by its initSecContext method.
+ * Typically, the application would do so by calling the {@link
+ * OutputStream#flush()} method on an OutputStream that encapsulates the
+ * connection between the two peers. The application can call {@link
+ * #isEstablished()} to determine if the context establishment phase is
+ * complete for this peer. A return value of <code>false</code> from
+ * {@link #isEstablished()} indicates that more tokens are expected to be
+ * supplied to this method.</p>
+ *
+ * <p>Note that it is possible that acceptSecContext() return a token for
+ * the peer, and isEstablished() return <code>true</code> also. This
+ * indicates that the token needs to be sent to the peer, but the local
+ * end of the context is now fully established.</p>
+ *
+ * <p>The GSS-API authentication tokens contain a definitive start and end.
+ * This method will attempt to read one of these tokens per invocation,
+ * and may block on the stream if only part of the token is available.</p>
+ *
+ * <p>Upon completion of the context establishment, the available context
+ * options may be queried through the get methods.</p>
+ *
+ * @param inStream Contains the token generated by the peer.
+ * @param outStream Output stream where the output token will be written.
+ * During the final stage of context establishment, there
+ * may be no bytes written.
+ * @return The number of bytes written, or 0 if no token is written.
+ * @throws GSSException If this operation fails.
+ */
+ void acceptSecContext(InputStream inStream, OutputStream outStream)
+ throws GSSException;
+
+ /**
+ * Used during context establishment to determine the state of the
+ * context. Returns <code>true</code> if this is a fully established
+ * context on the caller's side and no more tokens are needed from the
+ * peer. Should be called after a call to {@link
+ * #initSecContext(byte[],int,int)} or {@link
+ * #acceptSecContext(byte[],int,int)} when no {@link GSSException}
+ * is thrown.
+ *
+ * @return True of this context is fully established on this side.
+ */
+ boolean isEstablished();
+
+ /**
+ * Releases any system resources and cryptographic information stored in
+ * the context object. This will invalidate the context.
+ *
+ * @throws GSSException If this operation fails.
+ */
+ void dispose() throws GSSException;
+
+ /**
+ * <p>Returns the maximum message size that, if presented to the
+ * {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)} method with
+ * the same <i>confReq</i> and <i>qop</i> parameters, will result in an
+ * output token containing no more than the <i>maxTokenSize</i> bytes.</p>
+ *
+ * <p>This call is intended for use by applications that communicate over
+ * protocols that impose a maximum message size. It enables the
+ * application to fragment messages prior to applying protection.</p>
+ *
+ * <p>GSS-API implementations are recommended but not required to detect
+ * invalid QOP values when getWrapSizeLimit is called. This routine
+ * guarantees only a maximum message size, not the availability of
+ * specific QOP values for message protection.</p>
+ *
+ * <p>Successful completion of this call does not guarantee that wrap will
+ * be able to protect a message of the computed length, since this
+ * ability may depend on the availability of system resources at the
+ * time that wrap is called. However, if the implementation itself
+ * imposes an upper limit on the length of messages that may be
+ * processed by wrap, the implementation should not return a value that
+ * is greater than this length.</p>
+ *
+ * @param qop Indicates the level of protection wrap will be asked
+ * to provide.
+ * @param confReq Indicates if wrap will be asked to provide privacy
+ * service.
+ * @param maxTokenSize The desired maximum size of the token emitted
+ * by {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)}.
+ * @return The maximum wrapped output size.
+ * @throws GSSException If this operation fails.
+ */
+ int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize)
+ throws GSSException;
+
+ /**
+ * <p>Applies per-message security services over the established security
+ * context. The method will return a token with a cryptographic MIC and
+ * may optionally encrypt the specified <i>inBuf</i>. This method is
+ * equivalent in functionality to its stream counterpart. The returned
+ * byte array will contain both the MIC and the message.</p>
+ *
+ * <p>The {@link MessageProp} object is instantiated by the application
+ * and used to specify a QOP value which selects cryptographic algorithms,
+ * and a privacy service to optionally encrypt the message. The underlying
+ * mechanism that is used in the call may not be able to provide the
+ * privacy service. It sets the actual privacy service that it does
+ * provide in this {@link MessageProp} object which the caller should then
+ * query upon return. If the mechanism is not able to provide the
+ * requested QOP, it throws a {@link GSSException} with the {@link
+ * GSSException#BAD_QOP} code.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by wrap to provide "secure framing", implementations should support
+ * the wrapping of zero-length messages.</p>
+ *
+ * <p>The application will be responsible for sending the token to the
+ * peer.</p>
+ *
+ * @param inBuf Application data to be protected.
+ * @param offset The offset within the inBuf where the data begins.
+ * @param len The length of the data within the inBuf (starting at
+ * the offset).
+ * @param msgProp Instance of {@link MessageProp} that is used by the
+ * application to set the desired QOP and privacy state.
+ * Set the desired QOP to 0 to request the default QOP.
+ * Upon return from this method, this object will contain
+ * the the actual privacy state that was applied to the
+ * message by the underlying mechanism.
+ * @return The wrapped data.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Allows to apply per-message security services over the established
+ * security context. The method will produce a token with a
+ * cryptographic MIC and may optionally encrypt the message in inStream.
+ * The outStream will contain both the MIC and the message.</p>
+ *
+ * <p>The {@link MessageProp} object is instantiated by the application and
+ * used to specify a QOP value which selects cryptographic algorithms, and
+ * a privacy service to optionally encrypt the message. The underlying
+ * mechanism that is used in the call may not be able to provide the
+ * privacy service. It sets the actual privacy service that it does
+ * provide in this MessageProp object which the caller should then query
+ * upon return. If the mechanism is not able to provide the requested
+ * QOP, it throws a {@link GSSException} with the {@link
+ * GSSException#BAD_QOP} code.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by wrap to provide "secure framing", implementations should support
+ * the wrapping of zero-length messages.</p>
+ *
+ * <p>The application will be responsible for sending the token to the
+ * peer.</p>
+ *
+ * @param inStream Input stream containing the application data to be
+ * protected.
+ * @param outStream The output stream to write the protected message to.
+ * The application is responsible for sending this to the
+ * other peer for processing in its unwrap method.
+ * @param msgProp Instance of {@link MessageProp} that is used by the
+ * application to set the desired QOP and privacy state.
+ * Set the desired QOP to 0 to request the default QOP.
+ * Upon return from this method, this object will contain
+ * the the actual privacy state that was applied to the
+ * message by the underlying mechanism.
+ * @throws GSSException If this operation fails.
+ */
+ void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Used by the peer application to process tokens generated with the
+ * wrap call. This call is equal in functionality to its stream
+ * counterpart. The method will return the message supplied in the peer
+ * application to the wrap call, verifying the embedded MIC.</p>
+ *
+ * <p>The {@link MessageProp} object is instantiated by the application and
+ * is used by the underlying mechanism to return information to the caller
+ * such as the QOP, whether confidentiality was applied to the message, and
+ * other supplementary message state information.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by wrap to provide "secure framing", implementations should support
+ * the wrapping and unwrapping of zero-length messages.</p>
+ *
+ * @param inBuf GSS-API wrap token received from peer.
+ * @param offset The offset within the inBuf where the token begins.
+ * @param len The length of the token within the inBuf (starting at
+ * the offset).
+ * @param msgProp Upon return from the method, this object will contain
+ * the applied QOP, the privacy state of the message, and
+ * supplementary information stating whether the token was
+ * a duplicate, old, out of sequence or arriving after a gap.
+ * @return The unwrapped token.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Used by the peer application to process tokens generated with the
+ * wrap call. This call is equal in functionality to its byte array
+ * counterpart. It will produce the message supplied in the peer
+ * application to the wrap call, verifying the embedded MIC.</p>
+ *
+ * <p>The {@link MessageProp} object is instantiated by the application
+ * and is used by the underlying mechanism to return information to the
+ * caller such as the QOP, whether confidentiality was applied to the
+ * message, and other supplementary message state information.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by wrap to provide "secure framing", implementations should support
+ * the wrapping and unwrapping of zero-length messages.</p>
+ *
+ * @param inStream Input stream containing the GSS-API wrap token
+ * received from the peer.
+ * @param outStream The output stream to write the application message to.
+ * @param msgProp Upon return from the method, this object will contain
+ * the applied QOP, the privacy state of the message, and
+ * supplementary information stating whether the token was
+ * a duplicate, old, out of sequence or arriving after a gap.
+ * @throws GSSException If this operation fails.
+ */
+ void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Returns a token containing a cryptographic MIC for the supplied
+ * message, for transfer to the peer application. Unlike wrap, which
+ * encapsulates the user message in the returned token, only the message
+ * MIC is returned in the output token. This method is identical in
+ * functionality to its stream counterpart.</p>
+ *
+ * <p>Note that privacy can only be applied through the wrap call.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by getMIC to provide "secure framing", implementations should support
+ * derivation of MICs from zero-length messages.</p>
+ *
+ * @param inMsg Message to generate MIC over.
+ * @param offset The offset within the inMsg where the token begins.
+ * @param len The length of the token within the inMsg (starting at
+ * the offset).
+ * @param msgProp Instance of MessageProp that is used by the
+ * application to set the desired QOP. Set the desired
+ * QOP to 0 in msgProp to request the default QOP.
+ * Alternatively pass in <code>null</code> for msgProp to
+ * request default QOP.
+ * @return The MIC.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Produces a token containing a cryptographic MIC for the supplied
+ * message, for transfer to the peer application. Unlike wrap, which
+ * encapsulates the user message in the returned token, only the message
+ * MIC is produced in the output token. This method is identical in
+ * functionality to its byte array counterpart.</p>
+ *
+ * <p>Note that privacy can only be applied through the wrap call.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by getMIC to provide "secure framing", implementations should support
+ * derivation of MICs from zero-length messages.</p>
+ *
+ * @param inStream Input stream containing the message to generate
+ * the MIC over.
+ * @param outStream Output stream to write the GSS-API output token to.
+ * @param msgProp Instance of MessageProp that is used by the
+ * application to set the desired QOP. Set the desired
+ * QOP to 0 in msgProp to request the default QOP.
+ * Alternatively pass in <code>null</code> for msgProp
+ * to request default QOP.
+ * @throws GSSException If this operation fails.
+ */
+ void getMIC(InputStream inStream, OutputStream outStream, MessageProp mgProp)
+ throws GSSException;
+
+ /**
+ * <p>Verifies the cryptographic MIC, contained in the token parameter,
+ * over the supplied message. This method is equivalent in
+ * functionality to its stream counterpart.</p>
+ *
+ * <p>The MessageProp object is instantiated by the application and is used
+ * by the underlying mechanism to return information to the caller such
+ * as the QOP indicating the strength of protection that was applied to
+ * the message and other supplementary message state information.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by getMIC to provide "secure framing", implementations should support
+ * the calculation and verification of MICs over zero-length messages.</p>
+ *
+ * @param inTok Token generated by peer's getMIC method.
+ * @param tokOffset The offset within the inTok where the token begins.
+ * @param tokLen The length of the token within the inTok (starting at
+ * the offset).
+ * @param inMsg Application message to verify the cryptographic MIC
+ * over.
+ * @param msgOffset The offset within the inMsg where the message begins.
+ * @param msgLen The length of the message within the inMsg (starting
+ * at the offset).
+ * @param msgProp Upon return from the method, this object will contain
+ * the applied QOP and supplementary information
+ * stating whether the token was a duplicate, old, out
+ * of sequence or arriving after a gap. The
+ * confidentiality state will be set to <code>false</code>.
+ * @throws GSSException If this operation fails.
+ */
+ void verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg,
+ int msgOffset, int msgLen, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Verifies the cryptographic MIC, contained in the token parameter,
+ * over the supplied message. This method is equivalent in
+ * functionality to its byte array counterpart.</p>
+ *
+ * <p>The MessageProp object is instantiated by the application and is used
+ * by the underlying mechanism to return information to the caller such
+ * as the QOP indicating the strength of protection that was applied to
+ * the message and other supplementary message state information.</p>
+ *
+ * <p>Since some application-level protocols may wish to use tokens emitted
+ * by getMIC to provide "secure framing", implementations should support
+ * the calculation and verification of MICs over zero-length messages.</p>
+ *
+ * @param tokStream Input stream containing the token generated by peer's
+ * getMIC method.
+ * @param msgStream Input stream containing the application message to
+ * verify the cryptographic MIC over.
+ * @param msgProp Upon return from the method, this object will contain
+ * the applied QOP and supplementary information
+ * stating whether the token was a duplicate, old, out of
+ * sequence or arriving after a gap. The confidentiality
+ * state will be set to <code>false</code>.
+ * @throws GSSException If this operation fails.
+ */
+ void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp)
+ throws GSSException;
+
+ /**
+ * <p>Provided to support the sharing of work between multiple processes.
+ * This routine will typically be used by the context-acceptor, in an
+ * application where a single process receives incoming connection
+ * requests and accepts security contexts over them, then passes the
+ * established context to one or more other processes for message
+ * exchange.</p>
+ *
+ * <p>This method deactivates the security context and creates an
+ * interprocess token which, when passed to the byte array constructor
+ * of the GSSContext interface in another process, will re-activate the
+ * context in the second process. Only a single instantiation of a
+ * given context may be active at any one time; a subsequent attempt by
+ * a context exporter to access the exported security context will fail.</p>
+ *
+ * <p>The implementation may constrain the set of processes by which the
+ * interprocess token may be imported, either as a function of local
+ * security policy, or as a result of implementation decisions. For
+ * example, some implementations may constrain contexts to be passed
+ * only between processes that run under the same account, or which are
+ * part of the same process group.</p>
+ *
+ * <p>The interprocess token may contain security-sensitive information
+ * (for example cryptographic keys). While mechanisms are encouraged to
+ * either avoid placing such sensitive information within interprocess
+ * tokens, or to encrypt the token before returning it to the
+ * application, in a typical GSS-API implementation this may not be
+ * possible. Thus the application must take care to protect the
+ * interprocess token, and ensure that any process to which the token is
+ * transferred is trustworthy.</p>
+ *
+ * @return The exported context.
+ * @throws GSSException If this operation fails.
+ */
+ byte[] export() throws GSSException;
+
+ /**
+ * <p>Sets the request state of the mutual authentication flag for the
+ * context. This method is only valid before the context creation
+ * process begins and only for the initiator.</p>
+ *
+ * @param state Boolean representing if mutual authentication should
+ * be requested during context establishment.
+ * @throws GSSException If this operation fails.
+ */
+ void requestMutualAuth(boolean state) throws GSSException;
+
+ /**
+ * <p>Sets the request state of the replay detection service for the
+ * context. This method is only valid before the context creation
+ * process begins and only for the initiator.</p>
+ *
+ * @param state Boolean representing if replay detection is desired
+ * over the established context.
+ * @throws GSSException If this operation fails.
+ */
+ void requestReplayDet(boolean state) throws GSSException;
+
+ /**
+ * <p>Sets the request state for the sequence checking service of the
+ * context. This method is only valid before the context creation
+ * process begins and only for the initiator.</p>
+ *
+ * @param state Boolean representing if sequence detection is desired
+ * over the established context.
+ * @throws GSSException If this operation fails.
+ */
+ void requestSequenceDet(boolean state) throws GSSException;
+
+ /**
+ * <p>Sets the request state for the credential delegation flag for the
+ * context. This method is only valid before the context creation
+ * process begins and only for the initiator.</p>
+ *
+ * @param state Boolean representing if credential delegation is
+ * desired.
+ * @throws GSSException If this operation fails.
+ */
+ void requestCredDeleg(boolean state) throws GSSException;
+
+ /**
+ * <p>Requests anonymous support over the context. This method is only
+ * valid before the context creation process begins and only for the
+ * initiator.</p>
+ *
+ * @param state Boolean representing if anonymity support is requested.
+ * @throws GSSException If this operation fails.
+ */
+ void requestAnonymity(boolean state) throws GSSException;
+
+ /**
+ * <p>Requests that confidentiality service be available over the context.
+ * This method is only valid before the context creation process begins
+ * and only for the initiator.</p>
+ *
+ * @param state Boolean indicating if confidentiality services are to
+ * be requested for the context.
+ * @throws GSSException If this operation fails.
+ */
+ void requestConf(boolean state) throws GSSException;
+
+ /**
+ * <p>Requests that integrity services be available over the context. This
+ * method is only valid before the context creation process begins and
+ * only for the initiator.</p>
+ *
+ * @param state Boolean indicating if integrity services are to be
+ * requested for the context.
+ * @throws GSSException If this operation fails.
+ */
+ void requestInteg(boolean state) throws GSSException;
+
+ /**
+ * <p>Sets the desired lifetime for the context in seconds. This method is
+ * only valid before the context creation process begins and only for
+ * the initiator. Use {@link #INDEFINITE_LIFETIME} and {@link
+ * #DEFAULT_LIFETIME} to request indefinite or default context lifetime.</p>
+ *
+ * @param lifetime The desired context lifetime in seconds.
+ * @throws GSSException If this operation fails.
+ */
+ void requestLifetime(int lifetime) throws GSSException;
+
+ /**
+ * <p>Sets the channel bindings to be used during context establishment.
+ * This method is only valid before the context creation process begins.</p>
+ *
+ * @param cb Channel bindings to be used.
+ * @throws GSSException If this operation fails.
+ */
+ void setChannelBinding(ChannelBinding cb) throws GSSException;
+
+ /**
+ * <p>Returns the state of the delegated credentials for the context.
+ * When issued before context establishment is completed or when the
+ * isProtReady method returns "false", it returns the desired state,
+ * otherwise it will indicate the actual state over the established
+ * context.</p>
+ *
+ * @return The state of the delegated credentials for the context.
+ */
+ boolean getCredDelegState();
+
+ /**
+ * <p>Returns the state of the mutual authentication option for the
+ * context. When issued before context establishment completes or when
+ * the isProtReady method returns "false", it returns the desired state,
+ * otherwise it will indicate the actual state over the established
+ * context.</p>
+ *
+ * @return The state of the mutual authentication option.
+ */
+ boolean getMutualAuthState();
+
+ /**
+ * <p>Returns the state of the replay detection option for the context.
+ * When issued before context establishment completes or when the
+ * isProtReady method returns "false", it returns the desired state,
+ * otherwise it will indicate the actual state over the established
+ * context.</p>
+ *
+ * @return The state of the replay detection option.
+ */
+ boolean getReplayDetState();
+
+ /**
+ * <p>Returns the state of the sequence detection option for the context.
+ * When issued before context establishment completes or when the
+ * isProtReady method returns "false", it returns the desired state,
+ * otherwise it will indicate the actual state over the established
+ * context.</p>
+ *
+ * @return The state of the sequence detection option.
+ */
+ boolean getSequenceDetState();
+
+ /**
+ * <p>Returns "true" if this is an anonymous context. When issued before
+ * context establishment completes or when the isProtReady method
+ * returns "false", it returns the desired state, otherwise it will
+ * indicate the actual state over the established context.</p>
+ *
+ * @return True if this is an anonymous context.
+ */
+ boolean getAnonymityState();
+
+ /**
+ * <p>Returns "true" if the context is transferable to other processes
+ * through the use of the {@link #export()} method. This call is only
+ * valid on fully established contexts.</p>
+ *
+ * @return True if the context is transferable.
+ * @throws GSSException If this operation fails.
+ */
+ boolean isTransferable() throws GSSException;
+
+ /**
+ * <p>Returns "true" if the per message operations can be applied over
+ * the context. Some mechanisms may allow the usage of per-message
+ * operations before the context is fully established. This will also
+ * indicate that the get methods will return actual context state
+ * characteristics instead of the desired ones.</p>
+ *
+ * @return True if the per message operations can be applied over
+ * the context.
+ */
+ boolean isProtReady();
+
+ /**
+ * <p>Returns the confidentiality service state over the context. When
+ * issued before context establishment completes or when the isProtReady
+ * method returns "false", it returns the desired state, otherwise it
+ * will indicate the actual state over the established context.</p>
+ *
+ * @return True the confidentiality service state.
+ */
+ boolean getConfState();
+
+ /**
+ * <p>Returns the integrity service state over the context. When issued
+ * before context establishment completes or when the isProtReady method
+ * returns "false", it returns the desired state, otherwise it will
+ * indicate the actual state over the established context.</p>
+ *
+ * @return The integrity service state.
+ */
+ boolean getIntegState();
+
+ /**
+ * <p>Returns the context lifetime in seconds. When issued before context
+ * establishment completes or when the isProtReady method returns
+ * "false", it returns the desired lifetime, otherwise it will indicate
+ * the remaining lifetime for the context.</p>
+ *
+ * @return The lifetime.
+ */
+ int getLifetime();
+
+ /**
+ * <p>Returns the name of the context initiator. This call is valid only
+ * after the context is fully established or the isProtReady method
+ * returns "true". It is guaranteed to return an MN.</p>
+ *
+ * @return The name of the context initiator.
+ * @throws GSSException If this operation fails.
+ */
+ GSSName getSrcName() throws GSSException;
+
+ /**
+ * <p>Returns the name of the context target (acceptor). This call is
+ * valid only after the context is fully established or the isProtReady
+ * method returns "true". It is guaranteed to return an MN.</p>
+ *
+ * @return The name of the context target.
+ * @throws GSSException If this operation fails.
+ */
+ GSSName getTargName() throws GSSException;
+
+ /**
+ * <p>Returns the mechanism oid for this context. This method may be called
+ * before the context is fully established, but the mechanism returned
+ * may change on successive calls in negotiated mechanism case.</p>
+ *
+ * @return The mechanism OID.
+ * @throws GSSException If this operation fails.
+ */
+ Oid getMech() throws GSSException;
+
+ /**
+ * <p>Returns the delegated credential object on the acceptor's side.
+ * To check for availability of delegated credentials call
+ * {@link #getDelegCredState()}. This call is only valid on fully
+ * established contexts.</p>
+ *
+ * @return The delegated credential object.
+ * @throws GSSException If this operation fails.
+ */
+ GSSCredential getDelegCred() throws GSSException;
+
+ /**
+ * <p>Returns "true" if this is the initiator of the context. This call is
+ * only valid after the context creation process has started.</p>
+ *
+ * @return True if this is the initiator.
+ * @throws GSSException If this operation fails.
+ */
+ boolean isInitiator() throws GSSException;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,344 @@
+/* GSSCredential.java -- GSS credential interface.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This interface encapsulates the GSS-API credentials for an entity.
+ * A credential contains all the necessary cryptographic information to
+ * enable the creation of a context on behalf of the entity that it
+ * represents. It may contain multiple, distinct, mechanism specific
+ * credential elements, each containing information for a specific
+ * security mechanism, but all referring to the same entity.</p>
+ *
+ * <p>A credential may be used to perform context initiation, acceptance,
+ * or both.</p>
+ *
+ * <p>GSS-API implementations must impose a local access-control policy on
+ * callers to prevent unauthorized callers from acquiring credentials to
+ * which they are not entitled. GSS-API credential creation is not
+ * intended to provide a "login to the network" function, as such a
+ * function would involve the creation of new credentials rather than
+ * merely acquiring a handle to existing credentials. Such functions,
+ * if required, should be defined in implementation-specific extensions
+ * to the API.</p>
+ *
+ * <p>If credential acquisition is time-consuming for a mechanism, the
+ * mechanism may choose to delay the actual acquisition until the
+ * credential is required (e.g. by {@link GSSContext}). Such mechanism-
+ * specific implementation decisions should be invisible to the calling
+ * application; thus the query methods immediately following the
+ * creation of a credential object must return valid credential data,
+ * and may therefore incur the overhead of a deferred credential
+ * acquisition.</p>
+ *
+ * <p>Applications will create a credential object passing the desired
+ * parameters. The application can then use the query methods to obtain
+ * specific information about the instantiated credential object
+ * (equivalent to the gss_inquire routines). When the credential is no
+ * longer needed, the application should call the dispose (equivalent to
+ * gss_release_cred) method to release any resources held by the
+ * credential object and to destroy any cryptographically sensitive
+ * information.</p>
+ *
+ * <p>Classes implementing this interface also implement the {@link Cloneable}
+ * interface. This indicates the the class will support the {@link
+ * Cloneable#clone()} method that will allow the creation of duplicate
+ * credentials. This is useful when called just before the {@link
+ * #add(org.ietf.jgss.GSSName,int,int,org.ietf.jgss.Oid,int)} call to retain
+ * a copy of the original credential.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// start by creating a name object for the entity
+GSSName name = mgr.createName("userName", GSSName.NT_USER_NAME);
+
+// now acquire credentials for the entity
+GSSCredential cred = mgr.createCredential(name,
+ GSSCredential.ACCEPT_ONLY);
+
+// display credential information - name, remaining lifetime,
+// and the mechanisms it has been acquired over
+print(cred.getName().toString());
+print(cred.getRemainingLifetime());
+
+Oid [] mechs = cred.getMechs();
+if (mechs != null)
+ {
+ for (int i = 0; i < mechs.length; i++)
+ print(mechs[i].toString());
+ }
+
+// release system resources held by the credential
+cred.dispose();
+ * </pre>
+ */
+public interface GSSCredential extends Cloneable
+{
+
+ // Constants.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Credential usage flag requesting that it be able to be used for both
+ * context initiation and acceptance.
+ */
+ int INITIATE_AND_ACCEPT = 0;
+
+ /**
+ * Credential usage flag requesting that it be able to be used for
+ * context initiation only.
+ */
+ int INITIATE_ONLY = 1;
+
+ /**
+ * Credential usage flag requesting that it be able to be used for
+ * context acceptance only.
+ */
+ int ACCEPT_ONLY = 2;
+
+ /**
+ * A lifetime constant representing the default credential lifetime.
+ */
+ int DEFAULT_LIFETIME = 0;
+
+ /**
+ * A lifetime constant representing indefinite credential lifetime.
+ */
+ int INDEFINITE_LIFETIME = Integer.MAX_VALUE;
+
+ // Methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Releases any sensitive information that the GSSCredential object may
+ * be containing. Applications should call this method as soon as the
+ * credential is no longer needed to minimize the time any sensitive
+ * information is maintained.
+ *
+ * @throws GSSException If this operation fails.
+ */
+ void dispose() throws GSSException;
+
+ /**
+ * Retrieves the name of the entity that the credential asserts.
+ *
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ GSSName getName() throws GSSException;
+
+ /**
+ * Retrieves a mechanism name of the entity that the credential asserts.
+ * Equivalent to calling {@link GSSName#canonicalize(org.ietf.jgss.Oid)}
+ * on the name returned by {@link #getName()}.
+ *
+ * @param mechOID The mechanism for which information should be returned.
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ GSSName getName(Oid mechOID) throws GSSException;
+
+ /**
+ * Returns the remaining lifetime in seconds for a credential. The
+ * remaining lifetime is the minimum lifetime for any of the underlying
+ * credential mechanisms. A return value of {@link
+ * GSSCredential#INDEFINITE_LIFETIME} indicates that the credential does
+ * not expire. A return value of 0 indicates that the credential is
+ * already expired.
+ *
+ * @return The remaining lifetime.
+ * @throws GSSException If this operation fails.
+ */
+ int getRemainingLifetime() throws GSSException;
+
+ /**
+ * Returns the remaining lifetime is seconds for the credential to
+ * remain capable of initiating security contexts under the specified
+ * mechanism. A return value of {@link GSSCredential#INDEFINITE_LIFETIME}
+ * indicates that the credential does not expire for context initiation.
+ * A return value of 0 indicates that the credential is already expired.
+ *
+ * @param mech The mechanism for which information should be returned.
+ * @return The remaining lifetime.
+ * @throws GSSException If this operation fails.
+ */
+ int getRemainingInitLifetime(Oid mech) throws GSSException;
+
+ /**
+ * Returns the remaining lifetime is seconds for the credential to
+ * remain capable of accepting security contexts under the specified
+ * mechanism. A return value of {@link GSSCredential#INDEFINITE_LIFETIME}
+ * indicates that the credential does not expire for context acceptance.
+ * A return value of 0 indicates that the credential is already expired.
+ *
+ * @param mech The mechanism for which information should be returned.
+ * @return The remaining lifetime.
+ * @throws GSSException If this operation fails.
+ */
+ int getRemainingAcceptLifetime(Oid mech) throws GSSException;
+
+ /**
+ * Returns the credential usage flag. The return value will be one of
+ * {@link GSSCredential#INITIATE_ONLY}, {@link GSSCredential#ACCEPT_ONLY},
+ * or {@link GSSCredential#INITIATE_AND_ACCEPT}.
+ *
+ * @return The credential usage flag.
+ * @throws GSSException If this operation fails.
+ */
+ int getUsage() throws GSSException;
+
+ /**
+ * Returns the credential usage flag for the specified credential
+ * mechanism. The return value will be one of
+ * {@link GSSCredential#INITIATE_ONLY}, {@link GSSCredential#ACCEPT_ONLY},
+ * or {@link GSSCredential#INITIATE_AND_ACCEPT}.
+ *
+ * @param mechOID The mechanism for which information should be returned.
+ * @return The credential usage flag.
+ * @throws GSSException If this operation fails.
+ */
+ int getUsage(Oid mechOID) throws GSSException;
+
+ /**
+ * Returns an array of mechanisms supported by this credential.
+ *
+ * @return The supported mechanism.
+ * @throws GSSException If this operation fails.
+ */
+ Oid[] getMechs() throws GSSException;
+
+ /**
+ * <p>Adds a mechanism specific credential-element to an existing
+ * credential. This method allows the construction of credentials one
+ * mechanism at a time.</p>
+ *
+ * <p>This routine is envisioned to be used mainly by context acceptors
+ * during the creation of acceptance credentials which are to be used
+ * with a variety of clients using different security mechanisms.</p>
+ *
+ * <p>This routine adds the new credential element "in-place". To add the
+ * element in a new credential, first call {@link Cloneable#clone()} to
+ * obtain a copy of this credential, then call its <code>add()</code>
+ * method.</p>
+ *
+ * @param aName Name of the principal for whom this credential
+ * is to be acquired. Use <code>null</code> to
+ * specify the default principal.
+ * @param initLifetime The number of seconds that credentials should
+ * remain valid for initiating of security contexts.
+ * Use {@link #INDEFINITE_LIFETIME} to request that
+ * the credentials have the maximum permitted lifetime.
+ * Use {@link GSSCredential#DEFAULT_LIFETIME} to
+ * request the default credential lifetime.
+ * @param acceptLifetime The number of seconds that credentials should
+ * remain valid for accepting of security contexts.
+ * Use {@link GSSCredential#INDEFINITE_LIFETIME} to
+ * request that the credentials have the maximum
+ * permitted lifetime. Use {@link
+ * GSSCredential#DEFAULT_LIFETIME} to request
+ * the default credential lifetime.
+ * @param mech The mechanisms over which the credential is to be
+ * acquired.
+ * @param usage The intended usage for this credential object. The
+ * value of this parameter must be one of:
+ * {@link GSSCredential#ACCEPT_AND_INITIATE},
+ * {@link GSSCredential#ACCEPT_ONLY},
+ * {@link GSSCredential#INITIATE_ONLY}.
+ * @throws GSSException If this operation fails.
+ */
+ void add(GSSName aName, int initLifetime, int acceptLifetime,
+ Oid mech, int usage) throws GSSException;
+
+ /**
+ * Tests if this GSSCredential refers to the same entity as the supplied
+ * object. The two credentials must be acquired over the same
+ * mechanisms and must refer to the same principal. Returns <code>true</code>
+ * if the two GSSCredentials refer to the same entity; <code>false</code>
+ * otherwise. (Note that the Java language specification requires that two
+ * objects that are equal according to the {@link
+ * Object#equals(java.lang.Object)} method must return the same integer
+ * result when the {@link Object#hashCode()} method is called on them.)
+ *
+ * @param another Another GSSCredential object for comparison.
+ * @return True if this object equals the other.
+ */
+ boolean equals(Object another);
+
+ /**
+ * Return the hash code of this credential. When overriding {@link #equals},
+ * it is necessary to override hashCode() as well.
+ *
+ * @return the hash code that must be the same for two credentials if
+ * {@link #equals} returns true.
+ */
+ int hashCode();
+
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,448 @@
+/* GSSException.java -- a general exception in GSS.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.util.PropertyResourceBundle;
+import java.util.ResourceBundle;
+
+/**
+ * This exception is thrown whenever a fatal GSS-API error occurs
+ * including mechanism specific errors. It may contain both, the major
+ * and minor, GSS-API status codes. The mechanism implementers are
+ * responsible for setting appropriate minor status codes when throwing
+ * this exception. Aside from delivering the numeric error code(s) to
+ * the caller, this class performs the mapping from their numeric values
+ * to textual representations. All Java GSS-API methods are declared
+ * throwing this exception.
+ *
+ * @specnote Some of the constant values defined in this class were
+ * chosen to be compatible with J2SE 1.4, and not with RFC 2853.
+ */
+public class GSSException extends Exception
+{
+ /**
+ * For compatability with Sun's JDK 1.4.2 rev. 5
+ */
+ private static final long serialVersionUID = -2706218945227726672L;
+
+ // Constants and fields.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Channel bindings mismatch error.
+ * @specnote Should be 4 according to RFC 2853.
+ */
+ public static final int BAD_BINDINGS = 1;
+
+ /**
+ * Unsupported mechanism requested error.
+ * @specnote Should be 1 according to RFC 2853.
+ */
+ public static final int BAD_MECH = 2;
+
+ /**
+ * Invalid name provided error.
+ * @specnote Should be 2 according to RFC 2853.
+ */
+ public static final int BAD_NAME = 3;
+
+ /**
+ * Name of unsupported type provided error.
+ * @specnote Should be 3 according to RFC 2853.
+ */
+ public static final int BAD_NAMETYPE = 4;
+
+ /**
+ * Invalid status code error - this is the default status value.
+ */
+ public static final int BAD_STATUS = 5;
+
+ /**
+ * Token had invalid integrity check error.
+ */
+ public static final int BAD_MIC = 6;
+
+ /**
+ * Specified security context expired error.
+ * @specnote Should be 12 according to RFC 2853.
+ */
+ public static final int CONTEXT_EXPIRED = 7;
+
+ /**
+ * Expired credentials detected error.
+ * @specnote Should be 11 according to RFC 2853.
+ */
+ public static final int CREDENTIALS_EXPIRED = 8;
+
+ /**
+ * Defective credential error.
+ * @specnote Should be 10 according to RFC 2853.
+ */
+ public static final int DEFECTIVE_CREDENTIAL = 9;
+
+ /**
+ * Defective token error.
+ * @specnote Should be 9 according to RFC 2853.
+ */
+ public static final int DEFECTIVE_TOKEN = 10;
+
+ /**
+ * General failure, unspecified at GSS-API level.
+ * @specnote Should be 13 according to RFC 2853.
+ */
+ public static final int FAILURE = 11;
+
+ /**
+ * Invalid security context error.
+ * @specnote Should be 8 according to RFC 2853.
+ */
+ public static final int NO_CONTEXT = 12;
+
+ /**
+ * Invalid credentials error.
+ * @specnote Should be 7 according to RFC 2853.
+ */
+ public static final int NO_CRED = 13;
+
+ /**
+ * Unsupported QOP value error.
+ */
+ public static final int BAD_QOP = 14;
+
+ /**
+ * Operation unauthorized error.
+ */
+ public static final int UNAUTHORIZED = 15;
+
+ /**
+ * Operation unavailable error.
+ */
+ public static final int UNAVAILABLE = 16;
+
+ /**
+ * Duplicate credential element requested error.
+ */
+ public static final int DUPLICATE_ELEMENT = 17;
+
+ /**
+ * Name contains multi-mechanism elements error.
+ */
+ public static final int NAME_NOT_MN = 18;
+
+ /**
+ * The token was a duplicate of an earlier token. This is a fatal error
+ * code that may occur during context establishment. It is not used to
+ * indicate supplementary status values. The MessageProp object is used
+ * for that purpose.
+ * @specnote Should be 20 according to RFC 2853.
+ */
+ public static final int DUPLICATE_TOKEN = 19;
+
+ /**
+ * The token's validity period has expired. This is a fatal error code
+ * that may occur during context establishment. It is not used to
+ * indicate supplementary status values. The MessageProp object is used
+ * for that purpose.
+ * @specnote Should be 19 according to RFC 2853.
+ */
+ public static final int OLD_TOKEN = 20;
+
+ /**
+ * A later token has already been processed. This is a fatal error code
+ * that may occur during context establishment. It is not used to
+ * indicate supplementary status values. The MessageProp object is used
+ * for that purpose.
+ */
+ public static final int UNSEQ_TOKEN = 21;
+
+ /**
+ * An expected per-message token was not received. This is a fatal
+ * error code that may occur during context establishment. It is not
+ * used to indicate supplementary status values. The MessageProp object
+ * is used for that purpose.
+ */
+ public static final int GAP_TOKEN = 22;
+
+ private final int major;
+ private int minor;
+ private String minorString;
+
+ private ResourceBundle messages;
+
+ // Constructors.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a new GSS exception with the given major code.
+ *
+ * @param major The major GSS error code.
+ */
+ public GSSException(int major)
+ {
+ this(major, 0, null);
+ }
+
+ /**
+ * Create a new GSS exception with the given major and minor codes, and a
+ * minor explanation string.
+ *
+ * @param major The major GSS error code.
+ * @param minor The minor application-specific error code.
+ * @param minorString An explanation of the minor error code.
+ */
+ public GSSException(int major, int minor, String minorString)
+ {
+ this.major = major;
+ this.minor = minor;
+ this.minorString = minorString;
+ try
+ {
+ messages = PropertyResourceBundle.getBundle("org/ietf/jgss/MessagesBundle");
+ }
+ catch (Exception e)
+ {
+ messages = null;
+ }
+ }
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Returns the major code representing the GSS error code that caused
+ * this exception to be thrown.
+ *
+ * @return The major error code.
+ */
+ public int getMajor()
+ {
+ return major;
+ }
+
+ /**
+ * Returns the mechanism error code that caused this exception. The
+ * minor code is set by the underlying mechanism. Value of 0 indicates
+ * that mechanism error code is not set.
+ *
+ * @return The minor error code, or 0 if not set.
+ */
+ public int getMinor()
+ {
+ return minor;
+ }
+
+ /**
+ * Returns a string explaining the GSS major error code causing this
+ * exception to be thrown.
+ *
+ * @return The major error string.
+ */
+ public String getMajorString()
+ {
+ switch (major)
+ {
+ case BAD_MECH:
+ return getMsg("GSSException.BAD_MECH",
+ "An unsupported mechanism was requested.");
+ case BAD_NAME:
+ return getMsg("GSSException.BAD_NAME",
+ "An invalid name was supplied.");
+ case BAD_NAMETYPE:
+ return getMsg("GSSException.BAD_NAMETYPE",
+ "A supplied name was of an unsupported type.");
+ case BAD_BINDINGS:
+ return getMsg("GSSException.BAD_BINDINGS",
+ "Incorrect channel bindings were supplied.");
+ case BAD_STATUS:
+ return getMsg("GSSException.BAD_STATUS",
+ "An invalid status code was supplied.");
+ case BAD_MIC:
+ return getMsg("GSSException.BAD_MIC",
+ "A token had an invalid MIC.");
+ case NO_CRED:
+ return getMsg("GSSException.NO_CRED",
+ "No credentials were supplied, or the credentials were "+
+ "unavailable or inaccessible.");
+ case NO_CONTEXT:
+ return getMsg("GSSException.NO_CONTEXT",
+ "Invalid context has been supplied.");
+ case DEFECTIVE_TOKEN:
+ return getMsg("GSSException.DEFECTIVE_TOKEN",
+ "A supplied token was invalid.");
+ case DEFECTIVE_CREDENTIAL:
+ return getMsg("GSSException.DEFECTIVE_CREDENTIAL",
+ "A supplied credential was invalid.");
+ case CREDENTIALS_EXPIRED:
+ return getMsg("GSSException.CREDENTIALS_EXPIRED",
+ "The referenced credentials have expired.");
+ case CONTEXT_EXPIRED:
+ return getMsg("GSSException.CONTEXT_EXPIRED",
+ "The context has expired.");
+ case FAILURE:
+ return getMsg("GSSException.FAILURE",
+ "Miscellaneous failure.");
+ case BAD_QOP:
+ return getMsg("GSSException.BAD_QOP",
+ "The quality-of-protection requested could not be provided.");
+ case UNAUTHORIZED:
+ return getMsg("GSSException.UNAUTHORIZED",
+ "The operation is forbidden by local security policy.");
+ case UNAVAILABLE:
+ return getMsg("GSSException.UNAVAILABLE",
+ "The operation or option is unavailable.");
+ case DUPLICATE_ELEMENT:
+ return getMsg("GSSException.DUPLICATE_ELEMENT",
+ "The requested credential element already exists.");
+ case NAME_NOT_MN:
+ return getMsg("GSSException.NAME_NOT_MN",
+ "The provided name was not a mechanism name.");
+ case OLD_TOKEN:
+ return getMsg("GSSException.OLD_TOKEN",
+ "The token's validity period has expired.");
+ case DUPLICATE_TOKEN:
+ return getMsg("GSSException.DUPLICATE_TOKEN",
+ "The token was a duplicate of an earlier version.");
+ case UNSEQ_TOKEN:
+ return getMsg("GSSException.UNSEQ_TOKEN",
+ "A later token has already been processed.");
+ case GAP_TOKEN:
+ return getMsg("GSSException.GAP_TOKEN",
+ "An expected per-message token was not received.");
+ default: return "Unknown or invalid error code.";
+ }
+ }
+
+ /**
+ * Returns a string explaining the mechanism specific error code.
+ * <code>null</code> will be returned when no mechanism error code has
+ * been set.
+ *
+ * @return The minor error string, or <code>null</code>.
+ */
+ public String getMinorString()
+ {
+ return minorString;
+ }
+
+ /**
+ * Used internally by the GSS-API implementation and the underlying
+ * mechanisms to set the minor code and its textual representation.
+ *
+ * @param minorCode The mechanism specific error code.
+ * @param message A textual explanation of the mechanism error code.
+ */
+ public void setMinor(int minorCode, String message)
+ {
+ this.minor = minorCode;
+ this.minorString = message;
+ }
+
+ /**
+ * Returns a textual representation of both the major and minor status
+ * codes.
+ *
+ * @return The textual representation.
+ */
+ public String toString()
+ {
+ return GSSException.class.getName() + ": " + getMessage();
+ }
+
+ /**
+ * Returns a detailed message of this exception. Overrides {@link
+ * Throwable#getMessage()}. It is customary in Java to use this method to
+ * obtain exception information.
+ *
+ * @return The detail message.
+ */
+ public String getMessage()
+ {
+ if (minor == 0)
+ return getMajorString();
+ else
+ return getMajorString() + " (" + minorString + ")";
+ }
+
+ // Own methods.
+ // -------------------------------------------------------------------------
+
+ private String getMsg(String key, String defaultText)
+ {
+ if (messages != null)
+ {
+ try
+ {
+ return messages.getString(key);
+ }
+ catch (Exception e)
+ {
+ }
+ }
+ return defaultText;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,501 @@
+/* GSSManager.java -- manager class for the GSS-API.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.security.Provider;
+import java.security.Security;
+
+/**
+ * <p>The GSSManager class is an abstract class that serves as a factory
+ * for three GSS interfaces: {@link GSSName}, {@link GSSCredential}, and
+ * {@link GSSContext}. It also provides methods for applications to determine
+ * what mechanisms are available from the GSS implementation and what
+ * nametypes these mechanisms support. An instance of the default GSSManager
+ * subclass may be obtained through the static method {@link #getInstance()},
+ * but applications are free to instantiate other subclasses of GSSManager.</p>
+ *
+ * <p>All but one method in this class are declared abstract. This means
+ * that subclasses have to provide the complete implementation for those
+ * methods. The only exception to this is the static method {@link
+ * #getInstance()} which will have platform specific code to return an
+ * instance of the default subclass.</p>
+ *
+ * <p>Platform providers of GSS are required not to add any constructors to
+ * this class, private, public, or protected. This will ensure that all
+ * subclasses invoke only the default constructor provided to the base
+ * class by the compiler.</p>
+ *
+ * <p>A subclass extending the GSSManager abstract class may be implemented
+ * as a modular provider based layer that utilizes some well known
+ * service provider specification. The GSSManager API provides the
+ * application with methods to set provider preferences on such an
+ * implementation. These methods also allow the implementation to throw
+ * a well-defined exception in case provider based configuration is not
+ * supported. Applications that expect to be portable should be aware of
+ * this and recover cleanly by catching the exception.</p>
+ *
+ * <p>It is envisioned that there will be three most common ways in which
+ * providers will be used:</p>
+ *
+ * <ol>
+ * <li>The application does not care about what provider is used (the
+ * default case).</li>
+ *
+ * <li>The application wants a particular provider to be used
+ * preferentially, either for a particular mechanism or all the
+ * time, irrespective of mechanism.</li>
+ *
+ * <li>The application wants to use the locally configured providers
+ * as far as possible but if support is missing for one or more
+ * mechanisms then it wants to fall back on its own provider.</li>
+ * </ol>
+ *
+ * <p>The GSSManager class has two methods that enable these modes of
+ * usage: {@link #addProviderAtFront(java.security.Provider,org.ietf.jgss.Oid)}
+ * and {@link #addProviderAtEnd(java.security.Provider,org.ietf.jgss.Oid)}.
+ * These methods have the effect of creating an ordered list of
+ * (<i>provider</i>, <i>oid</i>) pairs where each pair indicates a preference
+ * of provider for a given oid.</p>
+ *
+ * <p>The use of these methods does not require any knowledge of whatever
+ * service provider specification the GSSManager subclass follows. It is
+ * hoped that these methods will serve the needs of most applications.
+ * Additional methods may be added to an extended GSSManager that could
+ * be part of a service provider specification that is standardized
+ * later.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// What mechs are available to us?
+Oid[] supportedMechs = mgr.getMechs();
+
+// Set a preference for the provider to be used when support is needed
+// for the mechanisms "1.2.840.113554.1.2.2" and "1.3.6.1.5.5.1.1".
+
+Oid krb = new Oid("1.2.840.113554.1.2.2");
+Oid spkm1 = new Oid("1.3.6.1.5.5.1.1");
+
+Provider p = (Provider) (new com.foo.security.Provider());
+
+mgr.addProviderAtFront(p, krb);
+mgr.addProviderAtFront(p, spkm1);
+
+// What name types does this spkm implementation support?
+Oid[] nameTypes = mgr.getNamesForMech(spkm1);
+</pre>
+ */
+public abstract class GSSManager
+{
+
+ // Constructor.
+ // -------------------------------------------------------------------------
+
+ public GSSManager()
+ {
+ }
+
+ // Class method.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Returns the default GSSManager implementation.
+ *
+ * @return The default GSSManager implementation.
+ */
+ public static synchronized GSSManager getInstance()
+ {
+ String impl = Security.getProperty("org.ietf.jgss.GSSManager");
+ if (impl == null)
+ impl = "gnu.crypto.gssapi.GSSManagerImpl";
+ try
+ {
+ ClassLoader loader = GSSManager.class.getClassLoader();
+ if (loader == null)
+ loader = ClassLoader.getSystemClassLoader();
+ Class c = loader.loadClass(impl);
+ return (GSSManager) c.newInstance();
+ }
+ catch (Exception x)
+ {
+ throw new RuntimeException(x.toString());
+ }
+ }
+
+ // Abstract methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * <p>This method is used to indicate to the GSSManager that the
+ * application would like a particular provider to be used if no other
+ * provider can be found that supports the given mechanism. When a value
+ * of null is used instead of an Oid for the mechanism, the GSSManager
+ * must use the indicated provider for any mechanism.</p>
+ *
+ * <p>Calling this method repeatedly preserves the older settings but
+ * raises them above newer ones in preference thus forming an ordered
+ * list of providers and Oid pairs that grows at the bottom. Thus the
+ * older provider settings will be utilized first before this one is.</p>
+ *
+ * <p>If there are any previously existing preferences that conflict with
+ * the preference being set here, then the GSSManager should ignore this
+ * request.</p>
+ *
+ * <p>If the GSSManager implementation does not support an SPI with a
+ * pluggable provider architecture it should throw a GSSException with
+ * the status code {@link GSSException#UNAVAILABLE} to indicate that the
+ * operation is unavailable.</p>
+ *
+ * @param p The provider instance that should be used whenever
+ * support is needed for <i>mech</i>.
+ * @param mech The mechanism for which the provider is being set.
+ * @throws GSSException If this service is unavailable.
+ */
+ public abstract void addProviderAtEnd(Provider p, Oid mech)
+ throws GSSException;
+
+ /**
+ * <p>This method is used to indicate to the GSSManager that the
+ * application would like a particular provider to be used ahead of all
+ * others when support is desired for the given mechanism. When a value
+ * of null is used instead of an Oid for the mechanism, the GSSManager
+ * must use the indicated provider ahead of all others no matter what
+ * the mechanism is. Only when the indicated provider does not support
+ * the needed mechanism should the GSSManager move on to a different
+ * provider.</p>
+ *
+ * <p>Calling this method repeatedly preserves the older settings but
+ * lowers them in preference thus forming an ordered list of provider
+ * and Oid pairs that grows at the top.</p>
+ *
+ * <p>Calling addProviderAtFront with a null Oid will remove all previous
+ * preferences that were set for this provider in the GSSManager
+ * instance. Calling addProviderAtFront with a non-null Oid will remove
+ * any previous preference that was set using this mechanism and this
+ * provider together.</p>
+ *
+ * <p>If the GSSManager implementation does not support an SPI with a
+ * pluggable provider architecture it should throw a GSSException with
+ * the status code {@link GSSException#UNAVAILABLE} to indicate that the
+ * operation is unavailable.</p>
+ *
+ * @param p The provider instance that should be used whenever
+ * support is needed for <i>mech</i>.
+ * @param mech The mechanism for which the provider is being set.
+ * @throws GSSException If this service is unavailable.
+ */
+ public abstract void addProviderAtFront(Provider p, Oid mech)
+ throws GSSException;
+
+ /**
+ * Factory method for creating a previously exported context. The
+ * context properties will be determined from the input token and can't
+ * be modified through the set methods.
+ *
+ * @param interProcessToken The token previously emitted from the
+ * export method.
+ * @return The context.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSContext createContext(byte[] interProcessToken)
+ throws GSSException;
+
+ /**
+ * Factory method for creating a context on the acceptor' side. The
+ * context's properties will be determined from the input token supplied
+ * to the accept method.
+ *
+ * @param myCred Credentials for the acceptor. Use <code>null</code> to
+ * act as a default acceptor principal.
+ * @return The context.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSContext createContext(GSSCredential myCred)
+ throws GSSException;
+
+ /**
+ * Factory method for creating a context on the initiator's side.
+ * Context flags may be modified through the mutator methods prior to
+ * calling {@link
+ * GSSContext#initSecContext(java.io.InputStream,java.io.OutputStream)}.
+ *
+ * @param peer Name of the target peer.
+ * @param mech Oid of the desired mechanism. Use <code>null</code>
+ * to request default mechanism.
+ * @param myCred Credentials of the initiator. Use <code>null</code>
+ * default initiator principal.
+ * @param lifetime The request lifetime, in seconds, for the context.
+ * Use {@link GSSContext#INDEFINITE_LIFETIME} and
+ * {@link GSSContext#DEFAULT_LIFETIME} to request
+ * indefinite or default context lifetime.
+ * @return The context.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSContext createContext(GSSName peer, Oid mech,
+ GSSCredential myCred, int lifetime)
+ throws GSSException;
+
+ /**
+ * Factory method for acquiring default credentials. This will cause
+ * the GSS-API to use system specific defaults for the set of
+ * mechanisms, name, and a DEFAULT lifetime.
+ *
+ * @param usage The intended usage for this credential object. The
+ * value of this parameter must be one of:
+ * {@link GSSCredential#ACCEPT_AND_INITIATE},
+ * {@link GSSCredential#ACCEPT_ONLY},
+ * {@link GSSCredential#INITIATE_ONLY}.
+ * @return The credential.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSCredential createCredential(int usage) throws GSSException;
+
+ /**
+ * Factory method for acquiring a single mechanism credential.
+ *
+ * @param aName Name of the principal for whom this credential is to
+ * be acquired. Use <code>null</code> to specify the
+ * default principal.
+ * @param lifetime The number of seconds that credentials should remain
+ * valid. Use {@link GSSCredential#INDEFINITE_LIFETIME}
+ * to request that the credentials have the maximum
+ * permitted lifetime. Use {@link
+ * GSSCredential#DEFAULT_LIFETIME} to request default
+ * credential lifetime.
+ * @param mech The oid of the desired mechanism. Use <code>null</code>
+ * to request the default mechanism(s).
+ * @param usage The intended usage for this credential object. The
+ * value of this parameter must be one of:
+ * {@link GSSCredential#ACCEPT_AND_INITIATE},
+ * {@link GSSCredential#ACCEPT_ONLY},
+ * {@link GSSCredential#INITIATE_ONLY}.
+ * @return The credential.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSCredential createCredential(GSSName aName, int lifetime,
+ Oid mech, int usage)
+ throws GSSException;
+
+ /**
+ * Factory method for acquiring credentials over a set of mechanisms.
+ * Acquires credentials for each of the mechanisms specified in the
+ * array called mechs. To determine the list of mechanisms' for which
+ * the acquisition of credentials succeeded, the caller should use the
+ * {@link GSSCredential#getMechs()} method.
+ *
+ * @param aName Name of the principal for whom this credential is to
+ * be acquired. Use <code>null</code> to specify the
+ * default principal.
+ * @param lifetime The number of seconds that credentials should remain
+ * valid. Use {@link GSSCredential#INDEFINITE_LIFETIME}
+ * to request that the credentials have the maximum
+ * permitted lifetime. Use {@link
+ * GSSCredential#DEFAULT_LIFETIME} to request default
+ * credential lifetime.
+ * @param mechs The array of mechanisms over which the credential is
+ * to be acquired. Use <code>null</code> for requesting
+ * a system specific default set of mechanisms.
+ * @param usage The intended usage for this credential object. The
+ * value of this parameter must be one of:
+ * {@link GSSCredential#ACCEPT_AND_INITIATE},
+ * {@link GSSCredential#ACCEPT_ONLY},
+ * {@link GSSCredential#INITIATE_ONLY}.
+ * @return The credential.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSCredential createCredential(GSSName aName, int lifetime,
+ Oid[] mechs, int usage)
+ throws GSSException;
+
+ /**
+ * Factory method to convert a contiguous byte array containing a name
+ * from the specified namespace to a {@link GSSName} object. In general,
+ * the {@link GSSName} object created will not be an MN; two examples that
+ * are exceptions to this are when the namespace type parameter indicates
+ * {@link GSSName#NT_EXPORT_NAME} or when the GSS-API implementation is not
+ * multi-mechanism.
+ *
+ * @param name The byte array containing the name to create.
+ * @param nameType The Oid specifying the namespace of the name supplied
+ * in the byte array. Note that nameType serves to
+ * describe and qualify the interpretation of the input
+ * name byte array, it does not necessarily imply a type
+ * for the output GSSName implementation. "null" value
+ * can be used to specify that a mechanism specific
+ * default syntax should be assumed by each mechanism
+ * that examines the byte array.
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSName createName(byte[] name, Oid nameType)
+ throws GSSException;
+
+ /**
+ * Factory method to convert a contiguous byte array containing a name
+ * from the specified namespace to a GSSName object that is an MN. In
+ * other words, this method is a utility that does the equivalent of two
+ * steps: {@link #createName(byte[],org.ietf.jgss.Oid)} and then also
+ * {@link GSSName#canonicalize(org.ietf.jgss.Oid)}.
+ *
+ * @param name The byte array representing the name to create.
+ * @param nameType The Oid specifying the namespace of the name supplied
+ * in the byte array. Note that nameType serves to
+ * describe and qualify the interpretation of the input
+ * name byte array, it does not necessarily imply a type
+ * for the output GSSName implementation. "null" value
+ * can be used to specify that a mechanism specific
+ * default syntax should be assumed by each mechanism
+ * that examines the byte array.
+ * @param mech Oid specifying the mechanism for which this name
+ * should be created.
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSName createName(byte[] name, Oid nameType, Oid mech)
+ throws GSSException;
+
+ /**
+ * Factory method to convert a contiguous string name from the specified
+ * namespace to a {@link GSSName} object. In general, the {@link GSSName}
+ * object created will not be an MN; two examples that are exceptions to
+ * this are when the namespace type parameter indicates {@link
+ * GSSName#NT_EXPORT_NAME} or when the GSS-API implementation is not
+ * multi-mechanism.
+ *
+ * @param nameStr The string representing a printable form of the name
+ * to create.
+ * @param nameType The Oid specifying the namespace of the printable name
+ * supplied. Note that nameType serves to describe and
+ * qualify the interpretation of the input nameStr, it
+ * does not necessarily imply a type for the output
+ * GSSName implementation. "null" value can be used to
+ * specify that a mechanism specific default printable
+ * syntax should be assumed by each mechanism that
+ * examines nameStr.
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSName createName(String nameStr, Oid nameType)
+ throws GSSException;
+
+ /**
+ * Factory method to convert a contiguous string name from the specified
+ * namespace to an GSSName object that is a mechanism name (MN). In
+ * other words, this method is a utility that does the equivalent of two
+ * steps: the {@link #createName(java.lang.String,org.ietf.jgss.Oid)}
+ * and then also {@link GSSName#canonicalize(org.ietf.jgss.Oid)}.
+ *
+ * @param nameStr The string representing a printable form of the name
+ * to create.
+ * @param nameType The Oid specifying the namespace of the printable name
+ * supplied. Note that nameType serves to describe and
+ * qualify the interpretation of the input nameStr, it
+ * does not necessarily imply a type for the output
+ * GSSName implementation. "null" value can be used to
+ * specify that a mechanism specific default printable
+ * syntax should be assumed when the mechanism examines
+ * nameStr.
+ * @param mech Oid specifying the mechanism for which this name
+ * should be created.
+ * @return The name.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract GSSName createName(String nameStr, Oid nameType, Oid mech)
+ throws GSSException;
+
+ /**
+ * Returns an array of {@link Oid} objects indicating mechanisms available
+ * to GSS-API callers. A <code>null</code> value is returned when no
+ * mechanism are available (an example of this would be when mechanism are
+ * dynamically configured, and currently no mechanisms are installed).
+ *
+ * @return The array of available mechanisms, or <code>null</code>.
+ */
+ public abstract Oid[] getMechs();
+
+ /**
+ * Returns an array of {@link Oid} objects corresponding to the mechanisms
+ * that support the specific name type. <code>null</code> is returned when
+ * no mechanisms are found to support the specified name type.
+ *
+ * @param name The Oid object for the name type.
+ * @return The array of mechanisms, or <code>null</code>.
+ */
+ public abstract Oid[] getMechsForName(Oid name);
+
+ /**
+ * Returns name type Oid's supported by the specified mechanism.
+ *
+ * @param mechanism The Oid object for the mechanism to query.
+ * @return The name type Oid's supported by the mechanism.
+ * @throws GSSException If this operation fails.
+ */
+ public abstract Oid[] getNamesForMech(Oid mechanism) throws GSSException;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,278 @@
+/* GSSName.java -- a name interface for GSS.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This interface encapsulates a single GSS-API principal entity.
+ * Different name formats and their definitions are identified with
+ * universal Object Identifiers (Oids). The format of the names can be
+ * derived based on the unique oid of its namespace type.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// create a host based service name
+GSSName name = mgr.createName("service at host",
+ GSSName.NT_HOSTBASED_SERVICE);
+
+Oid krb5 = new Oid("1.2.840.113554.1.2.2");
+
+GSSName mechName = name.canonicalize(krb5);
+
+// the above two steps are equivalent to the following
+GSSName mechName = mgr.createName("service at host",
+ GSSName.NT_HOSTBASED_SERVICE, krb5);
+
+// perform name comparison
+if (name.equals(mechName))
+ print("Names are equal.");
+
+// obtain textual representation of name and its printable
+// name type
+print(mechName.toString() +
+ mechName.getStringNameType().toString());
+
+// export and re-import the name
+byte [] exportName = mechName.export();
+
+// create a new name object from the exported buffer
+GSSName newName = mgr.createName(exportName,
+ GSSName.NT_EXPORT_NAME);
+</pre>
+ */
+public interface GSSName
+{
+
+ // Constants.
+ // -------------------------------------------------------------------------
+
+ /**
+ * <p>Name type for representing an anonymous entity. It represents the
+ * following value: <code>{ 1(iso), 3(org), 6(dod), 1(internet), 5(security),
+ * 6(nametypes), 3(gss-anonymous-name) }</code>.</p>
+ */
+ Oid NT_ANONYMOUS = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 3 });
+
+ /**
+ * <p>Name type used to indicate an exported name produced by the export
+ * method. It represents the following value: <code>{ 1(iso), 3(org), 6(dod),
+ * 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name)
+ * }</code>.</p>
+ */
+ Oid NT_EXPORT_NAME = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 4 });
+
+ /**
+ * <p>Oid indicating a host-based service name form. It is used to
+ * represent services associated with host computers. This name form is
+ * constructed using two elements, "service" and "hostname", as follows:</p>
+ *
+ * <blockquote><code>service at hostname</code></blockquote>
+ *
+ * <p>Values for the "service" element are registered with the IANA. It
+ * represents the following value: <code>{ 1(iso), 3(org), 6(dod),
+ * 1(internet), 5(security), 6(nametypes), 2(gss-host-based-services)
+ * }</code>.</p>
+ */
+ Oid NT_HOSTBASED_SERVICE = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 2 });
+
+ /**
+ * <p>Name type to indicate a numeric user identifier corresponding to a
+ * user on a local system. (e.g. Uid). It represents the following
+ * value: <code>{ iso(1) member-body(2) United States(840) mit(113554)
+ * infosys(1) gssapi(2) generic(1) machine_uid_name(2) }</code>.</p>
+ */
+ Oid NT_MACHINE_UID_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 2 });
+
+ /**
+ * <p>Name type to indicate a string of digits representing the numeric
+ * user identifier of a user on a local system. It represents the
+ * following value: <code>{ iso(1) member-body(2) United States(840)
+ * mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3)
+ * }</code>.</p>
+ */
+ Oid NT_STRING_UID_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 3 });
+
+ /**
+ * <p>Name type to indicate a named user on a local system. It represents
+ * the following value: <code>{ iso(1) member-body(2) United States(840)
+ * mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }</code>.</p>
+ */
+ Oid NT_USER_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 1 });
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Compares two GSSName objects to determine whether they refer to the
+ * same entity. This method may throw a {@link GSSException} when the
+ * names cannot be compared. If either of the names represents an
+ * anonymous entity, the method will return <code>false</code>.
+ *
+ * @param another GSSName object to compare with.
+ * @return True if this name equals the other, and if neither name
+ * represents an anonymous entity.
+ * @throws GSSException If the names cannot be compared.
+ */
+ boolean equals(GSSName another) throws GSSException;
+
+ /**
+ * A variation of the {@link #equals(org.ietf.jgss.GSSName)} method that
+ * is provided to override the {@link Object#equals(java.lang.Object)}
+ * method that the implementing class will inherit. The behavior is
+ * exactly the same as that in the other equals method except that no
+ * {@link GSSException} is thrown; instead, <code>false</code> will be
+ * returned in the situation where an error occurs. (Note that the Java
+ * language specification requires that two objects that are equal
+ * according to the {@link Object#equals(java.lang.Object)} method must
+ * return the same integer when the {@link hashCode()} method is called
+ * on them.
+ *
+ * @param another GSSName object to compare with.
+ * @return True if this name equals the other, if neither name
+ * represents an anonymous entity, or if an error occurs.
+ */
+ boolean equals(Object another);
+
+ /**
+ * Return the hashcode of this GSSName. When overriding {@link #equals},
+ * it is normally necessary to override hashCode() as well.
+ *
+ * @return the hash code that must be the same for two names if {@link #equals}
+ * returns true.
+ */
+ int hashCode();
+
+ /**
+ * Creates a mechanism name (MN) from an arbitrary internal name. This
+ * is equivalent to using the factory methods {@link
+ * GSSManager#createName(java.lang.String,org.ietf.jgss.Oid,org.ietf.jgss.Oid)}
+ * or {@link
+ * GSSManager#createName(byte[],org.ietf.jgss.Oid,org.ietf.jgss.Oid)}.
+ *
+ * @param mech The oid for the mechanism for which the canonical form
+ * of the name is requested.
+ * @return The mechanism name.
+ * @throws GSSException If this operation fails.
+ */
+ GSSName canonicalize(Oid mech) throws GSSException;
+
+ /**
+ * Returns a canonical contiguous byte representation of a mechanism
+ * name (MN), suitable for direct, byte by byte comparison by
+ * authorization functions. If the name is not an MN, implementations
+ * may throw a {@link GSSException} with the {@link GSSException#NAME_NOT_MN}
+ * status code. If an implementation chooses not to throw an exception,
+ * it should use some system specific default mechanism to canonicalize
+ * the name and then export it. The format of the header of the output
+ * buffer is specified in <a
+ * href="http://www.ietf.org/rfc/rfc2743.txt">RFC 2743</a>.
+ *
+ * @return The exported name.
+ * @throws GSSException If the name is not an MN and the implementation
+ * throws an exception for this case.
+ */
+ byte[] export() throws GSSException;
+
+ /**
+ * Returns a textual representation of the GSSName object. To retrieve
+ * the printed name format, which determines the syntax of the returned
+ * string, the {@link #getStringNameType()} method can be used.
+ *
+ * @return The textual representation of the GSSName object.
+ */
+ String toString();
+
+ /**
+ * Returns the oid representing the type of name returned through the
+ * {@link #toString()} method. Using this oid, the syntax of the printable
+ * name can be determined.
+ *
+ * @return The name type.
+ * @throws GSSException If this operation fails.
+ */
+ Oid getStringNameType() throws GSSException;
+
+ /**
+ * Tests if this name object represents an anonymous entity. Returns
+ * <code>true</code> if this is an anonymous name.
+ *
+ * @return True if this name represents an anonymous entity.
+ */
+ boolean isAnonymous();
+
+ /**
+ * Tests if this name object contains only one mechanism element and is
+ * thus a mechanism name as defined by <a
+ * href="http://www.ietf.org/rfc/rfc2743.txt">RFC 2743</a>.
+ *
+ * @return True if this name is a mechanism name.
+ */
+ boolean isMN();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,273 @@
+/* MessageProp.java -- GSS-API message property.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This is a utility class used within the per-message {@link
+ * GSSContext} methods to convey per-message properties.</p>
+ *
+ * <p>When used with the GSSContext interface's {@link
+ * GSSContext#wrap(byte[],int,int,org.ietf.jgss.MessageProp)} and {@link
+ * GSSContext#getMIC(byte[],int,int,org.ietf.jgss.MessageProp)} methods, an
+ * instance of this class is used to indicate the desired QOP and to
+ * request if confidentiality services are to be applied to caller
+ * supplied data (wrap only). To request default QOP, the value of 0
+ * should be used for QOP.</p>
+ *
+ * <p>When used with the {@link
+ * GSSContext#unwrap(byte[],int,int,org.ietf.jgss.MessageProp)} and {@link
+ * GSSContext#verifyMIC(byte[],int,int,byte[],int,int,org.ietf.jgss.MessageProp)}
+ * methods of the GSSContext interface, an instance of this class will be
+ * used to indicate the applied QOP and confidentiality services over the
+ * supplied message. In the case of verifyMIC, the confidentiality state
+ * will always be "false". Upon return from these methods, this object will
+ * also contain any supplementary status values applicable to the processed
+ * token. The supplementary status values can indicate old tokens, out
+ * of sequence tokens, gap tokens or duplicate tokens.</p>
+ */
+public class MessageProp
+{
+
+ // Fields.
+ // -------------------------------------------------------------------------
+
+ private int qopVal;
+ private boolean privState;
+ private boolean duplicate;
+ private boolean old;
+ private boolean unseq;
+ private boolean gap;
+ private int minorStatus;
+ private String minorString;
+
+ // Constructors.
+ // -------------------------------------------------------------------------
+
+ /**
+ * <p>Constructor which sets QOP to 0 indicating that the default QOP is
+ * requested.</p>
+ *
+ * @param privState The desired privacy state. "true" for privacy and
+ * "false" for integrity only.
+ */
+ public MessageProp(boolean privState)
+ {
+ this(0, privState);
+ }
+
+ /**
+ * <p>Constructor which sets the values for the qop and privacy state.</p>
+ *
+ * @param qop The desired QOP. Use 0 to request a default QOP.
+ * @param privState The desired privacy state. "true" for privacy and
+ * "false" for integrity only.
+ */
+ public MessageProp(int qop, boolean privState)
+ {
+ this.qopVal = qop;
+ this.privState = privState;
+ }
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Retrieves the QOP value.
+ *
+ * @return The QOP value.
+ */
+ public int getQOP()
+ {
+ return qopVal;
+ }
+
+ /**
+ * Retrieves the privacy state.
+ *
+ * @return The privacy state.
+ */
+ public boolean getPrivacy()
+ {
+ return privState;
+ }
+
+ /**
+ * Retrieves the minor status that the underlying mechanism might have
+ * set.
+ *
+ * @return The minor status.
+ */
+ public int getMinorStatus()
+ {
+ return minorStatus;
+ }
+
+ /**
+ * Returns a string explaining the mechanism specific error code.
+ * <code>null</code> will be returned when no mechanism error code has
+ * been set.
+ *
+ * @return The minor status string.
+ */
+ public String getMinorString()
+ {
+ return minorString;
+ }
+
+ /**
+ * Sets the QOP value.
+ *
+ * @param qopVal The QOP value to be set. Use 0 to request a default
+ * QOP value.
+ */
+ public void setQOP(int qopVal)
+ {
+ this.qopVal = qopVal;
+ }
+
+ /**
+ * Sets the privacy state.
+ *
+ * @param privState The privacy state to set.
+ */
+ public void setPrivacy(boolean privState)
+ {
+ this.privState = privState;
+ }
+
+ /**
+ * Returns "true" if this is a duplicate of an earlier token.
+ *
+ * @return True if this is a duplicate of an earlier token.
+ */
+ public boolean isDuplicateToken()
+ {
+ return duplicate;
+ }
+
+ /**
+ * Returns "true" if the token's validity period has expired.
+ *
+ * @return True if the token's validity period has expired.
+ */
+ public boolean isOldToken()
+ {
+ return old;
+ }
+
+ /**
+ * Returns "true" if a later token has already been processed.
+ *
+ * @return True if a later token has already been processed.
+ */
+ public boolean isUnseqToken()
+ {
+ return unseq;
+ }
+
+ /**
+ * Returns "true" if an expected per-message token was not received.
+ *
+ * @return True if an expected per-message token was not received.
+ */
+ public boolean isGapToken()
+ {
+ return gap;
+ }
+
+ /**
+ * This method sets the state for the supplementary information flags
+ * and the minor status in MessageProp. It is not used by the
+ * application but by the GSS implementation to return this information
+ * to the caller of a per-message context method.
+ *
+ * @param duplicate True if the token was a duplicate of an earlier
+ * token, false otherwise.
+ * @param old True if the token's validity period has expired,
+ * false otherwise.
+ * @param unseq True if a later token has already been processed,
+ * false otherwise.
+ * @param gap True if one or more predecessor tokens have not yet
+ * been successfully processed, false otherwise.
+ * @param minorStatus The integer minor status code that the underlying
+ * mechanism wants to set.
+ * @param minorString The textual representation of the minorStatus
+ * value.
+ */
+ public void setSupplementaryStates(boolean duplicate, boolean old,
+ boolean unseq, boolean gap,
+ int minorStatus, String minorString)
+ {
+ this.duplicate = duplicate;
+ this.old = old;
+ this.unseq = unseq;
+ this.gap = gap;
+ this.minorStatus = minorStatus;
+ this.minorString = minorString;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,385 @@
+/* Oid.java -- Object identifier class.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version.
+
+ The documentation comments of this class are derived from the text
+ of RFC 2853: Generic Security Service API Version 2: Java Bindings.
+ That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import java.math.BigInteger;
+
+import java.util.Arrays;
+import java.util.StringTokenizer;
+
+/**
+ * <p>This class represents Universal Object Identifiers (Oids) and their
+ * associated operations.</p>
+ *
+ * <p>Oids are hierarchically globally-interpretable identifiers used
+ * within the GSS-API framework to identify mechanisms and name formats.</p>
+ *
+ * <p>The structure and encoding of Oids is defined in ISOIEC-8824 and
+ * ISOIEC-8825. For example the Oid representation of Kerberos V5
+ * mechanism is "1.2.840.113554.1.2.2".</p>
+ *
+ * <p>The {@link GSSName} name class contains <code>public static Oid</code>
+ * objects representing the standard name types defined in GSS-API.</p>
+ */
+public class Oid
+{
+
+ // Constants and fields.
+ // -------------------------------------------------------------------------
+
+ private static final int OBJECT_IDENTIFIER = 0x06;
+ private static final int RELATIVE_OID = 0x0d;
+
+ private final int[] components;
+ private byte[] derOid;
+ private String strOid;
+ private boolean relative;
+
+ // Constructors.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Creates an Oid object from a string representation of its integer
+ * components (e.g. "1.2.840.113554.1.2.2").
+ *
+ * @param strOid The string representation for the oid.
+ * @throws GSSException If the argument is badly formed.
+ */
+ public Oid(String strOid) throws GSSException
+ {
+ if (strOid == null)
+ throw new NullPointerException();
+ this.strOid = strOid;
+ try
+ {
+ StringTokenizer tok = new StringTokenizer(strOid, ".");
+ components = new int[tok.countTokens()];
+ int i = 0;
+ while (tok.hasMoreTokens() && i < components.length)
+ {
+ components[i++] = Integer.parseInt(tok.nextToken());
+ }
+ }
+ catch (Exception x)
+ {
+ throw new GSSException(GSSException.FAILURE);
+ }
+ relative = false;
+ }
+
+ /**
+ * Creates an Oid object from its DER encoding. This refers to the full
+ * encoding including tag and length. The structure and encoding of
+ * Oids is defined in ISOIEC-8824 and ISOIEC-8825. This method is
+ * identical in functionality to its byte array counterpart.
+ *
+ * @param derOid Stream containing the DER encoded oid.
+ * @throws GSSException If the DER stream is badly formed, or if the
+ * input stream throws an exception.
+ */
+ public Oid(InputStream derOid) throws GSSException
+ {
+ DataInputStream in = new DataInputStream(derOid);
+ try
+ {
+ int tag = in.read() & 0x1F;
+ if (tag != OBJECT_IDENTIFIER && tag != RELATIVE_OID)
+ throw new IOException();
+ int len = in.read();
+ if ((len & ~0x7F) != 0)
+ {
+ byte[] buf = new byte[len & 0x7F];
+ in.readFully(buf);
+ len = new BigInteger(1, buf).intValue();
+ }
+ if (len < 0)
+ throw new IOException();
+ byte[] enc = new byte[len];
+ in.readFully(enc);
+ int[] comp = new int[len + 1];
+ int count = 0;
+ int i = 0;
+ relative = tag == RELATIVE_OID;
+ if (!relative && i < len)
+ {
+ int j = (enc[i] & 0xFF);
+ comp[count++] = j / 40;
+ comp[count++] = j % 40;
+ i++;
+ }
+ while (i < len)
+ {
+ int j = 0;
+ do
+ {
+ j = enc[i++] & 0xFF;
+ comp[count] <<= 7;
+ comp[count] |= j & 0x7F;
+ if (i >= len && (j & 0x80) != 0)
+ throw new IOException();
+ }
+ while ((j & 0x80) != 0);
+ count++;
+ }
+ if (count == len)
+ this.components = comp;
+ else
+ {
+ this.components = new int[count];
+ System.arraycopy(comp, 0, components, 0, count);
+ }
+ }
+ catch (IOException ioe)
+ {
+ throw new GSSException(GSSException.FAILURE);
+ }
+ }
+
+ /**
+ * Creates an Oid object from its DER encoding. This refers to the full
+ * encoding including tag and length. The structure and encoding of
+ * Oids is defined in ISOIEC-8824 and ISOIEC-8825. This method is
+ * identical in functionality to its streaming counterpart.
+ *
+ * @param derOid Byte array storing a DER encoded oid.
+ * @throws GSSException If the DER bytes are badly formed.
+ */
+ public Oid(byte[] derOid) throws GSSException
+ {
+ this(new ByteArrayInputStream(derOid));
+ this.derOid = (byte[]) derOid.clone();
+ }
+
+ Oid(int[] components)
+ {
+ this.components = components;
+ relative = false;
+ }
+
+ // Instance methods.
+ // -------------------------------------------------------------------------
+
+ /**
+ * Returns a string representation of the oid's integer components in
+ * dot separated notation (e.g. "1.2.840.113554.1.2.2").
+ *
+ * @return The string representation of this oid.
+ */
+ public String toString()
+ {
+ if (strOid == null)
+ {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < components.length; i++)
+ {
+ buf.append(components[i]);
+ if (i < components.length - 1)
+ buf.append('.');
+ }
+ strOid = buf.toString();
+ }
+ return strOid;
+ }
+
+ /**
+ * Returns the full ASN.1 DER encoding for this oid object, which
+ * includes the tag and length.
+ *
+ * @return The ASN.1 DER encoding for this oid.
+ * @throws GSSException If encoding fails.
+ */
+ public byte[] getDER() throws GSSException
+ {
+ if (derOid == null)
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream(256);
+ try
+ {
+ int i = 0;
+ if (!relative)
+ {
+ int b = components[i++] * 40 + (components.length > 1
+ ? components[i++] : 0);
+ encodeSubId(out, b);
+ }
+ for ( ; i < components.length; i++)
+ encodeSubId(out, components[i]);
+ byte[] oid = out.toByteArray();
+ out.reset();
+ if (relative)
+ out.write(RELATIVE_OID);
+ else
+ out.write(OBJECT_IDENTIFIER);
+ if (oid.length < 128)
+ out.write(oid.length);
+ else if (oid.length < 256)
+ {
+ out.write(0x81);
+ out.write(oid.length);
+ }
+ else if (oid.length < 65536)
+ {
+ out.write(0x82);
+ out.write((oid.length >>> 8) & 0xFF);
+ out.write(oid.length & 0xFF);
+ }
+ else if (oid.length < 16777216)
+ {
+ out.write(0x83);
+ out.write((oid.length >>> 16) & 0xFF);
+ out.write((oid.length >>> 8) & 0xFF);
+ out.write(oid.length & 0xFF);
+ }
+ else
+ {
+ out.write(0x84);
+ out.write((oid.length >>> 24) & 0xFF);
+ out.write((oid.length >>> 16) & 0xFF);
+ out.write((oid.length >>> 8) & 0xFF);
+ out.write(oid.length & 0xFF);
+ }
+ out.write(oid);
+ }
+ catch (IOException ioe)
+ {
+ throw new GSSException(GSSException.FAILURE);
+ }
+ derOid = out.toByteArray();
+ }
+ return (byte[]) derOid.clone();
+ }
+
+ /**
+ * A utility method to test if an Oid object is contained within the
+ * supplied Oid object array.
+ *
+ * @param oids An array of oids to search.
+ * @return True if this oid is contained in the given array.
+ */
+ public boolean containedIn(Oid[] oids)
+ {
+ for (int i = 0; i < oids.length; i++)
+ {
+ if (equals(oids[i]))
+ return true;
+ }
+ return false;
+ }
+
+ public boolean equals(Object o)
+ {
+ if (!(o instanceof Oid))
+ return false;
+ Oid that = (Oid) o;
+ return Arrays.equals(components, that.components);
+ }
+
+ public int hashCode()
+ {
+ int code = 0;
+ for (int i = 0; i < components.length; i++)
+ code += components[i];
+ return code;
+ }
+
+ // Own methods.
+ // -------------------------------------------------------------------------
+
+ private static void encodeSubId(OutputStream out, int id) throws IOException
+ {
+ if (id < 128)
+ {
+ out.write(id);
+ }
+ else if (id < 16384)
+ {
+ out.write((id >>> 7) | 0x80);
+ out.write(id & 0x7F);
+ }
+ else if (id < 2097152)
+ {
+ out.write((id >>> 14) | 0x80);
+ out.write(((id >>> 7) | 0x80) & 0xFF);
+ out.write(id & 0x7F);
+ }
+ else if (id < 268435456)
+ {
+ out.write( (id >>> 21) | 0x80);
+ out.write(((id >>> 14) | 0x80) & 0xFF);
+ out.write(((id >>> 7) | 0x80) & 0xFF);
+ out.write(id & 0x7F);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,102 @@
+/* ACTIVITY_COMPLETED.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The ACTIVITY_COMPLETED indicates that the Activity context in which the
+ * method call was made has been completed due to a timeout of either the
+ * Activity itself or a transaction that encompasses the Activity. It also
+ * may mean that the Activity is completed in a manner other than that
+ * originally requested.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ACTIVITY_COMPLETED
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = 463786710302308798L;
+
+ /**
+ * Creates ACTIVITY_COMPLETED with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public ACTIVITY_COMPLETED(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates ACTIVITY_COMPLETED with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public ACTIVITY_COMPLETED()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a ACTIVITY_COMPLETED exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public ACTIVITY_COMPLETED(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created ACTIVITY_COMPLETED exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public ACTIVITY_COMPLETED(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,100 @@
+/* ACTIVITY_REQUIRED.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The ACTIVITY_REQUIRED system exception indicates that an Activity context was
+ * necessary to perform the invoked operation, but one was not found
+ * associated with the calling thread.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ACTIVITY_REQUIRED
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = -5684213471781455027L;
+
+ /**
+ * Creates ACTIVITY_REQUIRED with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public ACTIVITY_REQUIRED(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates ACTIVITY_REQUIRED with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public ACTIVITY_REQUIRED()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a ACTIVITY_REQUIRED exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public ACTIVITY_REQUIRED(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created ACTIVITY_REQUIRED exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public ACTIVITY_REQUIRED(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* ARG_IN.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark the parameter as an "input parameter".
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see NamedValue
+ */
+public interface ARG_IN
+{
+ /**
+ * The flag, specifying that the parameter is used to pass and not to
+ * return the data.
+ */
+ int value = 1;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* ARG_IN.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark that the the parameter is used both to pass and to
+ * return some value. It is a similar conception like passing a
+ * parameter "by reference" in C or Pascal.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see NamedValue
+ */
+public interface ARG_INOUT
+{
+ /**
+ * The constant, specifying that the parameter is used both
+ * to pass and to return the data.
+ */
+ int value = 3;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* ARG_IN.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark the parameter as an "output parameter".
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see NamedValue
+ */
+public interface ARG_OUT
+{
+ /**
+ * The flag, indicating that the parameter is used to return, and
+ * not to pass the data.
+ */
+ int value = 2;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,460 @@
+/* Any.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * A container that can store a value of either user defined or
+ * primitive IDL type.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Any
+ implements Serializable, IDLEntity
+{
+ /**
+ * Using v 1.4 serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 1217179597823814463L;
+
+ /**
+ * Creates an input stream from that this Any object's value can be
+ * read (unmarshalled).
+ */
+ public abstract org.omg.CORBA.portable.InputStream create_input_stream();
+
+ /**
+ * Creates an output stream into which this <code>Any</code> object's
+ * value can be written (marshalled).
+ *
+ * @return the newly created output stream.
+ */
+ public abstract org.omg.CORBA.portable.OutputStream create_output_stream();
+
+ /**
+ * Compare this <code>Any</code> with another <code>Any</code>.
+ *
+ * @param other the other instance to compare with.
+ *
+ * @return true if both values and value typecodes are equal,
+ * false otherwise.
+ */
+ public abstract boolean equal(Any other);
+
+ /**
+ * Extract the CORBA <code>Object</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>Object</code> or the value has not been set.
+ */
+ public abstract org.omg.CORBA.Object extract_Object()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>Principal</code> from this <code>Any</code>
+ *
+ * @throws NO_IMPLEMENT, always.
+ *
+ * @deprecated by CORBA 2.2.
+ */
+ public Principal extract_Principal()
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Extract an arbitrary {@link org.omg.CORBA.portable.Streamable } from
+ * this <code>Any</code>.
+ *
+ * @throws BAD_INV_ORDER if the caller has invoked operations in the
+ * wrong order.
+ *
+ * @throws NO_IMPLEMENT, always (override to get functionality).
+ */
+ public org.omg.CORBA.portable.Streamable extract_Streamable()
+ throws org.omg.CORBA.BAD_INV_ORDER
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Extract the TypeCode from this <code>Any</code> value field.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>TypeCode</code> or the value has not been set.
+ */
+ public abstract TypeCode extract_TypeCode()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>Value</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>Value</code> or the value has not been set.
+ */
+ public abstract java.io.Serializable extract_Value()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract another <code>Any</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>any</code> or the value has not been set.
+ */
+ public abstract Any extract_any()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>boolean</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>boolean</code> or the value has not been set.
+ */
+ public abstract boolean extract_boolean()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>char</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>char</code> or the value has not been set.
+ */
+ public abstract char extract_char()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>double</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>double</code> or the value has not been set.
+ */
+ public abstract double extract_double()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>fixed</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>fixed</code> or the value has not been set.
+ *
+ * @throws NO_IMPLEMENT, always (override to get functionality).
+ */
+ public java.math.BigDecimal extract_fixed()
+ throws BAD_OPERATION
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Extract the CORBA <code>float</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>float</code> or the value has not been set.
+ */
+ public abstract float extract_float()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>long</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>long</code> or the value has not been set.
+ */
+ public abstract int extract_long()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>long long</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>longlong</code> or the value has not been set.
+ */
+ public abstract long extract_longlong()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>octet</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>octet</code> or the value has not been set.
+ */
+ public abstract byte extract_octet()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>short</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>short</code> or the value has not been set.
+ */
+ public abstract short extract_short()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>string</code> from this <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>string</code> or the value has not been set.
+ */
+ public abstract String extract_string()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA unsigned <code>long</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than unsigned <code>long</code> or the value has not been set.
+ */
+ public abstract int extract_ulong()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA unsigned <code>long long</code> from this
+ * <code>Any</code>.
+ *
+ * @throws BAD_OPERATION if this instance contains value other
+ * than unsigned <code>long long</code> or the value has not been set.
+ */
+ public abstract long extract_ulonglong()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA unsigned <code>short</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than unsigned <code>short</code> or the value has not been set.
+ */
+ public abstract short extract_ushort()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>wchar</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>wchar</code> or the value has not been set.
+ */
+ public abstract char extract_wchar()
+ throws BAD_OPERATION;
+
+ /**
+ * Extract the CORBA <code>wstring</code> from this <code>Any</code>
+ * @throws BAD_OPERATION if this instance contains value other
+ * than <code>wstring</code> or the value has not been set.
+ */
+ public abstract String extract_wstring()
+ throws BAD_OPERATION;
+
+ /**
+ * Insert the CORBA <code>Object</code> into this <code>Any</code>
+ */
+ public abstract void insert_Object(org.omg.CORBA.Object x, TypeCode typecode);
+
+ /**
+ * Insert the CORBA <code>Object</code> into this <code>Any</code>
+ */
+ public abstract void insert_Object(org.omg.CORBA.Object x);
+
+ /**
+ * Insert the CORBA <code>Principal</code> into this <code>Any</code>.
+ * @deprecated by CORBA 2.2.
+ */
+ public void insert_Principal(Principal x)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Insert the CORBA <code>Streamable</code> into this <code>Any</code>
+ */
+ public void insert_Streamable(org.omg.CORBA.portable.Streamable x)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Insert the CORBA <code>TypeCode</code> into this <code>Any</code>
+ * value field.
+ */
+ public abstract void insert_TypeCode(TypeCode typecode);
+
+ /**
+ * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+ *
+ * The type of the Any should be set (by {@link #type(TypeCode)})
+ * before inserting the value.
+ */
+ public abstract void insert_Value(Serializable x, TypeCode typecode);
+
+ /**
+ * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+ *
+ * The type of the Any should be set (by {@link #type(TypeCode)})
+ * before inserting the value.
+ */
+ public abstract void insert_Value(Serializable x);
+
+ /**
+ * Insert the CORBA <code>any</code> into this <code>Any</code>
+ */
+ public abstract void insert_any(Any x);
+
+ /**
+ * Insert the CORBA <code>boolean</code> into this <code>Any</code>
+ */
+ public abstract void insert_boolean(boolean x);
+
+ /**
+ * Insert the CORBA <code>char</code> into this <code>Any</code>
+ */
+ public abstract void insert_char(char x);
+
+ /**
+ * Insert the CORBA <code>double</code> into this <code>Any</code>
+ */
+ public abstract void insert_double(double x);
+
+ /**
+ * Insert the CORBA <code>fixed</code> into this <code>Any</code>
+ */
+ public void insert_fixed(java.math.BigDecimal x, TypeCode typecode)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Insert the CORBA <code>fixed</code> into this <code>Any</code>
+ */
+ public void insert_fixed(java.math.BigDecimal x)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Insert the CORBA <code>float</code> into this <code>Any</code>
+ */
+ public abstract void insert_float(float x);
+
+ /**
+ * Insert the CORBA <code>long</code> into this <code>Any</code>
+ */
+ public abstract void insert_long(int x);
+
+ /**
+ * Insert the CORBA <code>longlong</code> into this <code>Any</code>
+ */
+ public abstract void insert_longlong(long x);
+
+ /**
+ * Insert the CORBA <code>octet</code> into this <code>Any</code>
+ */
+ public abstract void insert_octet(byte x);
+
+ /**
+ * Insert the CORBA <code>short</code> into this <code>Any</code>
+ */
+ public abstract void insert_short(short x);
+
+ /**
+ * Insert the CORBA <code>string</code> into this <code>Any</code>
+ */
+ public abstract void insert_string(String x);
+
+ /**
+ * Insert the CORBA <code>ulong</code> into this <code>Any</code>
+ */
+ public abstract void insert_ulong(int x);
+
+ /**
+ * Insert the CORBA <code>ulonglong</code> into this <code>Any</code>
+ */
+ public abstract void insert_ulonglong(long x);
+
+ /**
+ * Insert the CORBA <code>ushort</code> into this <code>Any</code>
+ */
+ public abstract void insert_ushort(short x);
+
+ /**
+ * Insert the CORBA <code>wchar</code> into this <code>Any</code>
+ */
+ public abstract void insert_wchar(char x);
+
+ /**
+ * Insert the CORBA <code>wstring</code> into this <code>Any</code>
+ */
+ public abstract void insert_wstring(String x);
+
+ /**
+ * Read the value into this <code>Any</code> from the given input stream.
+ *
+ * @param input a CORBA stream to read from.
+ * @param type a TypeCode of the object being read.
+ *
+ * @throws org.omg.CORBA.MARSHAL if the given TypeCode does not match
+ * the TypeCode of the object, found in the stream.
+ */
+ public abstract void read_value(org.omg.CORBA.portable.InputStream input,
+ TypeCode type
+ )
+ throws MARSHAL;
+
+ /**
+ * Set the type of the object, stored in this <code>Any</code>, to the
+ * given TypeCode. Clear the value.
+ *
+ * @param valueTypeCode the type of the object that is expected to be stored
+ * in this <code>any</code>.
+ */
+ public abstract void type(TypeCode valueTypeCode);
+
+ /**
+ * Returns the TypeCode of the object, stored in this <code>Any</code>
+ * @return the TypeCode
+ */
+ public abstract TypeCode type();
+
+ /**
+ * Writes out the value (without the typecode of the value), stored in
+ * this <code>Any</code>.
+ *
+ * @param output the CORBA stream to write into.
+ *
+ * @throws NullPointerException if the value of this <code>Any</code>
+ * has not been set.
+ */
+ public abstract void write_value(org.omg.CORBA.portable.OutputStream output);
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,119 @@
+/* AnyHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for storing an instance of {@link Any}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class AnyHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_any = new PrimitiveTypeCode(TCKind.tk_any);
+
+ /**
+ * The instance of {@link Any} (not the "any value"), held by this holder.
+ */
+ public Any value;
+
+ /**
+ * Constructs an instance of AnyHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public AnyHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of AnyHolder,
+ * initializing {@link #value} to the passed parameter.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public AnyHolder(Any initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For {@link Any}, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_any}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_any();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_any;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For {@link Any} the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_any(Any) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_any(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,151 @@
+/* AnySeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * the array of the type {@link Any} (not with the "any array").
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class AnySeqHelper
+{
+ /**
+ * Extract the array of {@link Any}'s from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link AnySeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link AnySeqHolder}.
+ */
+ public static Any[] extract(Any a)
+ {
+ AnySeqHolder h = (AnySeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given {@link Any}[] into the
+ * given {@link Any}. This implementation first creates
+ * a {@link AnySeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, Any[] that)
+ {
+ AnySeqHolder holder = new AnySeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the {@link Any}[] from the CORBA input stream.
+ * This implementation first creates an instance of
+ * {@link AnySeqHolder} and then delegates functionality
+ * to its <code>_read()</code> method.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static Any[] read(InputStream input)
+ {
+ Any[] value = new Any[ input.read_long() ];
+ for (int i = 0; i < value.length; i++)
+ {
+ value [ i ] = input.read_any();
+ }
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the array of {@link Any}'s.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_any);
+ }
+
+ /**
+ * Writes the array of {@link Any}'s into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, Any[] value)
+ {
+ output.write_long(value.length);
+
+ for (int i = 0; i < value.length; i++)
+ {
+ output.write_any(value [ i ]);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* AnySeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>AnySeq</code> that is mapped into
+ * java <code>Any[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class AnySeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>Any[]</code> (CORBA <code>AnySeq</code>) value,
+ * held by this AnySeqHolder.
+ */
+ public Any[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_any);
+
+ /**
+ * Constructs an instance of AnySeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public AnySeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of AnySeqHolder,
+ * initializing {@link #value} to the given array
+ */
+ public AnySeqHolder(Any [] a_value)
+ {
+ value = a_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>and then all Any's.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new Any[ input.read_long() ];
+ for (int i = 0; i < value.length; i++)
+ {
+ value [ i ] = input.read_any();
+ }
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code> and then all Any's.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+
+ for (int i = 0; i < value.length; i++)
+ {
+ output.write_any(value [ i ]);
+ }
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* BAD_CONTEXT.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the operation is invoked by a client but the passed
+ * context has no values required by this operation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_CONTEXT
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -5025677944847478264L;
+
+ /**
+ * Creates a BAD_CONTEXT with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public BAD_CONTEXT(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates BAD_CONTEXT with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public BAD_CONTEXT()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a BAD_CONTEXT exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_CONTEXT(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_CONTEXT exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_CONTEXT(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* BAD_INV_ORDER.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the caller has invoked operations in the wrong order.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_INV_ORDER
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 7273325995832240406L;
+
+ /**
+ * Creates a BAD_INV_ORDER with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public BAD_INV_ORDER(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates BAD_INV_ORDER with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public BAD_INV_ORDER()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a BAD_INV_ORDER exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_INV_ORDER(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_INV_ORDER exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_INV_ORDER(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,169 @@
+/* BAD_OPERATION.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the object exists but does not support the operation that was
+ * invoked on it.
+ *
+ * In GNU Classpath, this exception may have the following Minor codes:
+ *
+ * <table border="1">
+ * <tr>
+ * <th>Hex</th>
+ * <th>Dec</th>
+ * <th>Minor</th>
+ * <th>Name</th>
+ * <th>Case</th>
+ * </tr>
+ * <tr>
+ * <td>47430000</td>
+ * <td>1195573248 </td>
+ * <td>0</td>
+ * <td>Method</td>
+ * <td> The remote side requested to invoke the method that is not available on
+ * that target (client and server probably disagree in the object definition).
+ * This code is set when the problem arises in the Classpath core; the idlj and
+ * rmic may generate the user code that sets 0x0 or other value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430009</td>
+ * <td>1195573257</td>
+ * <td>9</td>
+ * <td>Any</td>
+ * <td> Attempt to extract from the Any value of the different type that was
+ * stored into that Any. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000a</td>
+ * <td>1195573258</td>
+ * <td>10</td>
+ * <td>Activation</td>
+ * <td>Failed to activate the inactive object due any reason.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000b</td>
+ * <td>1195573259</td>
+ * <td>11</td>
+ * <td>Policy</td>
+ * <td> The policies, applying to ORB or POA prevent the requested operation.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>4743000c</td>
+ * <td>1195573260</td>
+ * <td>12</td>
+ * <td>Socket</td>
+ * <td> Socket related errors like failure to open socket on the expected port.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000e</td>
+ * <td>1195573262</td>
+ * <td>14</td>
+ * <td>Enumeration</td>
+ * <td> The passed value for enumeration is outside the valid range for that
+ * enumeration. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000f</td>
+ * <td>1195573263</td>
+ * <td>15</td>
+ * <td>PolicyType</td>
+ * <td> The passed policy code is outside the valid range of the possible
+ * policies for the given policy type. </td>
+ * </tr>
+ * </table>
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_OPERATION
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 1654621651720499682L;
+
+ /**
+ * Creates a BAD_OPERATION with the default minor code of 0, completion state
+ * COMPLETED_NO and the given explaining message.
+ *
+ * @param message the explaining message.
+ */
+ public BAD_OPERATION(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates BAD_OPERATION with the default minor code of 0 and a completion
+ * state COMPLETED_NO.
+ */
+ public BAD_OPERATION()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates a BAD_OPERATION exception with the specified minor code and
+ * completion status.
+ *
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_OPERATION(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_OPERATION exception, providing full information.
+ *
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_OPERATION(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Propchange: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java
------------------------------------------------------------------------------
svn:executable = *
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* BAD_PARAM.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The exception thrown when a parameter passed to a call is considered
+ * illegal.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_PARAM
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Creates BAD_PARAM with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public BAD_PARAM(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 1917109334939470379L;
+
+ /**
+ * Creates BAD_PARAM with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public BAD_PARAM()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a BAD_PARAM exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_PARAM(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_PARAM exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_PARAM(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} is not valid. One of the PolicyErrorCodes,
+ * others being {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE},
+ * {@link BAD_POLICY_TYPE}, {@link BAD_POLICY_VALUE}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY
+{
+ /**
+ * States that the requested {@link Policy} is not valid.
+ */
+ short value = 0;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY_TYPE.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} type is not valid. One of the
+ * PolicyErrorCodes, others being {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}, {@link BAD_POLICY},
+ * {@link BAD_POLICY_VALUE}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY_TYPE
+{
+ /**
+ * States that the requested {@link Policy} type is not valid.
+ */
+ short value = 2;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY_VALUE.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} value is not valid. One of the
+ * PolicyErrorCodes, others being {@link UNSUPPORTED_POLICY},
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY_VALUE
+{
+ /**
+ * States that the requested {@link Policy} value is not valid.
+ */
+ short value = 3;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* BAD_QOS.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The BAD_QOS is raised when the object cannot support the quality of
+ * service required by an invocation parameter.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_QOS
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = 4746597571263117454L;
+
+ /**
+ * Creates BAD_QOS with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public BAD_QOS(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates BAD_QOS with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public BAD_QOS()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a BAD_QOS exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_QOS(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_QOS exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_QOS(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* BAD_TYPECODE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the some TypeCode has been realized to be invalid
+ * (for example, has an invalid TCKind value).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_TYPECODE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 6193364410915696901L;
+
+ /**
+ * Creates a BAD_TYPECODE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public BAD_TYPECODE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates BAD_TYPECODE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public BAD_TYPECODE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a BAD_TYPECODE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public BAD_TYPECODE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created BAD_TYPECODE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public BAD_TYPECODE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* BooleanHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>boolean</code> that is mapped into
+ * java <code>boolean</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BooleanHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_boolean =
+ new PrimitiveTypeCode(TCKind.tk_boolean);
+
+ /**
+ * The <code>boolean</code> (CORBA <code>boolean</code>) value,
+ * held by this BooleanHolder.
+ */
+ public boolean value;
+
+ /**
+ * Constructs an instance of BooleanHolder,
+ * initializing {@link #value} to <code>false</code>.
+ */
+ public BooleanHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of BooleanHolder,
+ * initializing {@link #value} to the given <code>boolean</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public BooleanHolder(boolean initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>boolean</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_boolean}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_boolean();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_boolean;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>boolean</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_boolean(boolean) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_boolean(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* BooleanSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>boolean</code>
+ * (<code>BooleanSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class BooleanSeqHelper
+{
+ /**
+ * Extract the <code>boolean[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link BooleanSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link BooleanSeqHolder}.
+ */
+ public static boolean[] extract(Any a)
+ {
+ BooleanSeqHolder h = (BooleanSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>boolean[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link BooleanSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, boolean[] that)
+ {
+ BooleanSeqHolder holder = new BooleanSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>boolean[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static boolean[] read(InputStream input)
+ {
+ boolean [] value = new boolean[ input.read_long() ];
+ input.read_boolean_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>BooleanSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_boolean);
+ }
+
+ /**
+ * Writes the <code>boolean[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, boolean[] value)
+ {
+ output.write_long(value.length);
+ output.write_boolean_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* BooleanSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>BooleanSeq</code> that is mapped into
+ * java <code>boolean[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BooleanSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>boolean[]</code> (CORBA <code>BooleanSeq</code>) value,
+ * held by this BooleanSeqHolder.
+ */
+ public boolean[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_boolean);
+
+ /**
+ * Constructs an instance of BooleanSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public BooleanSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of BooleanSeqHolder,
+ * initializing {@link #value} to the given <code>boolean[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public BooleanSeqHolder(boolean[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_boolean_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new boolean[ input.read_long() ];
+ input.read_boolean_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_boolean_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_boolean_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,71 @@
+/* Bounds.java -- Exception thrown due to out-of-bounds parameter
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Thrown when a parameter is outside the bounds for a particular
+ * object a method is trying to access.
+ *
+ * @author Andrew John Hughes (gnu_andrew at member.fsf.org)
+ */
+public final class Bounds
+ extends UserException
+{
+
+ /**
+ * Constructs a default <code>Bounds</code> exception, with
+ * no detail message.
+ */
+ public Bounds()
+ {
+ super();
+ }
+
+ /**
+ * Constructs a <code>Bounds</code> exception using the specified
+ * message as the reason for throwing it.
+ *
+ * @param reason the reason the exception was thrown.
+ */
+ public Bounds(String reason)
+ {
+ super(reason);
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* ByteHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>octet</code> that is mapped into
+ * java <code>byte</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ByteHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_octet =
+ new PrimitiveTypeCode(TCKind.tk_octet);
+
+ /**
+ * The <code>byte</code> (CORBA <code>octet</code>) value,
+ * held by this ByteHolder.
+ */
+ public byte value;
+
+ /**
+ * Constructs an instance of ByteHolder,
+ * initializing {@link #value} to <code>0x0 </code>.
+ */
+ public ByteHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of ByteHolder,
+ * initializing {@link #value} to the given <code>byte</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public ByteHolder(byte initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>octet</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_octet}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_octet();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_octet;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>octet</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_octet(byte) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_octet(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* CODESET_INCOMPATIBLE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised when client and server are unable to reach any consensus on which
+ * code set should be used to represent the characters. This happens when
+ * neither server nor client can convert from the native code set of the
+ * corresponding side, there is no shared codeset from that both sides could
+ * convert and additionally the client and server native code sets are too
+ * different to communicate anyway without massive data loss.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class CODESET_INCOMPATIBLE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = -8784048396454171789L;
+
+ /**
+ * Creates CODESET_INCOMPATIBLE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public CODESET_INCOMPATIBLE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates CODESET_INCOMPATIBLE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public CODESET_INCOMPATIBLE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a CODESET_INCOMPATIBLE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public CODESET_INCOMPATIBLE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created CODESET_INCOMPATIBLE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public CODESET_INCOMPATIBLE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* COMM_FAILURE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the communication has been lost while an operation
+ * was in progress
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class COMM_FAILURE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 294856734784364267L;
+
+ /**
+ * Creates a COMM_FAILURE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public COMM_FAILURE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates COMM_FAILURE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public COMM_FAILURE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a COMM_FAILURE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public COMM_FAILURE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created COMM_FAILURE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public COMM_FAILURE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,54 @@
+/* CTX_RESTRICT_SCOPE.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to restrict the property search in the {@link Context} by
+ * the current context.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface CTX_RESTRICT_SCOPE
+{
+ /**
+ * The flag, specifying that the search
+ * is limited to the current context.
+ */
+ int value = 15;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* CharHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>char</code> that is mapped into
+ * java <code>char</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CharHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_char = new PrimitiveTypeCode(TCKind.tk_char);
+
+ /**
+ * The <code>char</code> (CORBA <code>char</code>) value,
+ * held by this CharHolder.
+ */
+ public char value;
+
+ /**
+ * Constructs an instance of CharHolder,
+ * initializing {@link #value} to <code>0 </code>.
+ */
+ public CharHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of CharHolder,
+ * initializing {@link #value} to the given <code>char</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public CharHolder(char initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>char</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_char}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_char();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_char;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>char</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_char(char) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_char(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* CharSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>char</code>
+ * (<code>CharSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class CharSeqHelper
+{
+ /**
+ * Extract the <code>char[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link CharSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link CharSeqHolder}.
+ */
+ public static char[] extract(Any a)
+ {
+ CharSeqHolder h = (CharSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>char[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link CharSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, char[] that)
+ {
+ CharSeqHolder holder = new CharSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>char[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static char[] read(InputStream input)
+ {
+ char [] value = new char[ input.read_long() ];
+ input.read_char_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>CharSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_char);
+ }
+
+ /**
+ * Writes the <code>char[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, char[] value)
+ {
+ output.write_long(value.length);
+ output.write_char_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* CharSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>CharSeq</code> that is mapped into
+ * java <code>char[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CharSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>char[]</code> (CORBA <code>CharSeq</code>) value,
+ * held by this CharSeqHolder.
+ */
+ public char[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_char);
+
+ /**
+ * Constructs an instance of CharSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public CharSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of CharSeqHolder,
+ * initializing {@link #value} to the given <code>char[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public CharSeqHolder(char[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_char_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new char[ input.read_long() ];
+ input.read_char_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_char_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_char_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,164 @@
+/* CompletionStatus.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * Defines the method completion status, usually for the time moment,
+ * when the exception has been thrown.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CompletionStatus
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ * Using the version 1.4 UID.
+ */
+ private static final long serialVersionUID = -9047319660881406859L;
+
+ /**
+ * The method was completed when the exception was thrown.
+ */
+ public static final int _COMPLETED_YES = 0;
+
+ /**
+ * The method was running when the exception was thrown.
+ */
+ public static final int _COMPLETED_NO = 1;
+
+ /**
+ * The method was either running or complete (no exact information availabe)
+ * when the exception was thrown.
+ */
+ public static final int _COMPLETED_MAYBE = 2;
+
+ /**
+ * An instance of CompletionStatus, initialized to {@link #COMPLETED_YES }
+ */
+ public static final CompletionStatus COMPLETED_YES =
+ new CompletionStatus(_COMPLETED_YES);
+
+ /**
+ * An instance of CompletionStatus, initialized to {@link #COMPLETED_NO }
+ */
+ public static final CompletionStatus COMPLETED_NO =
+ new CompletionStatus(_COMPLETED_NO);
+
+ /**
+ * An instance of CompletionStatus, initialized to {@link #COMPLETED_MAYBE }
+ */
+ public static final CompletionStatus COMPLETED_MAYBE =
+ new CompletionStatus(_COMPLETED_MAYBE);
+
+ /**
+ * The private array of all states. As long as the states form the uniform
+ * sequence, from_int can find the needed value directly indexing this array.
+ */
+ private static final CompletionStatus[] states =
+ new CompletionStatus[] { COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE };
+ private final int _value;
+
+ /**
+ * No other instances can be created.
+ */
+ private CompletionStatus(int a_value)
+ {
+ _value = a_value;
+ }
+
+ /**
+ * Returns the CompletionStatus, matching the given integer constant
+ *
+ * @param completion one of COMPLETED_YES, COMPLETED_NO or COMPLEED_MAYBE.
+ * @return one of COMPLETED_YES, COMPLETED_NO or COMPLEED_MAYBE.
+ * @throws BAD_PARAM if the parameter is not one of these three valid values.
+ */
+ public static CompletionStatus from_int(int completion)
+ {
+ try
+ {
+ return states[completion];
+ }
+ catch (ArrayIndexOutOfBoundsException ex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("Invalid completion status "
+ + completion);
+ bad.minor = Minor.Enumeration;
+ throw bad;
+ }
+ }
+
+ /**
+ * Returns a short string representation.
+ * @return a string, defining the completion status.
+ */
+ public String toString()
+ {
+ switch (value())
+ {
+ case _COMPLETED_YES :
+ return "completed";
+
+ case _COMPLETED_NO :
+ return "not completed";
+
+ case _COMPLETED_MAYBE :
+ return "maybe completed";
+
+ default :
+ return "invalid completion status instance";
+ }
+ }
+
+ /**
+ * Returns the value, representing the completion
+ * status of this object.
+ * @return one of COMPLETED_MAYBE, COMPLETED_YES or COMPLETED_NO
+ */
+ public int value()
+ {
+ return _value;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,131 @@
+/* CompletionStatusHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * {@link CompletionStatus}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class CompletionStatusHelper
+{
+ /**
+ * Extract the {@link CompletionStatus} from the
+ * given {@link Any}. This implementation expects
+ * the integer (Corba long) value, stating the completion
+ * status.
+ *
+ * @param a an Any to extract the completion status from.
+ *
+ * @return completion status
+ */
+ public static CompletionStatus extract(Any a)
+ {
+ return CompletionStatus.from_int(a.extract_long());
+ }
+
+ /**
+ * Returns the agreed Id.
+ * @return <code>IDL:omg.org/CORBA/CompletionStatus:1.0</code>, always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/CompletionStatus:1.0";
+ }
+
+ /**
+ * Insert into the given {@link CompletionStatus} into the
+ * given {@link Any}. This implementation inserts it as an
+ * integer (CORBA long).
+ *
+ * @param into the target Any.
+ * @param that the {@link CompletionStatus} to insert.
+ */
+ public static void insert(Any into, CompletionStatus that)
+ {
+ into.insert_long(that.value());
+ }
+
+ /**
+ * Reads the {@link CompletionStatus} from the CORBA input stream.
+ * This implementation reads an an integer (CORBA long).
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static CompletionStatus read(InputStream input)
+ {
+ return CompletionStatus.from_int(input.read_long());
+ }
+
+ /**
+ * Writes the {@link CompletionStatus} into the given stream.
+ * This implementation writes an int (CORBA long), corresponding
+ * the status of completion.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param status the value that must be written.
+ */
+ public static void write(OutputStream output, CompletionStatus status)
+ {
+ output.write_long(status.value());
+ }
+
+ /**
+ * Get the parameter mode typecode (enumeration, named "CompletionStatus").
+ * The typecode states that the enumeration can obtain one of
+ * the following values: COMPLETED_YES ,COMPLETED_NO or COMPLETED_MAYBE .
+ */
+ public static TypeCode type()
+ {
+ String[] members =
+ new String[] { "COMPLETED_YES", "COMPLETED_NO", "COMPLETED_MAYBE" };
+
+ return
+ OrbRestricted.Singleton.create_enum_tc(id(), "CompletionStatus",
+ members
+ );
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,122 @@
+/* Context.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ *
+ * This class holds the list of the named properties. It is normally
+ * used to represent information about various circumstances of the
+ * invocation. A Context if first created by
+ * {@link org.omg.CORBA.ORB#get_default_context() } and then invoking
+ * {@link create_child(String)} of the default context.
+ *
+ * The contexts are named.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ */
+public abstract class Context
+{
+ public Context()
+ {
+ }
+
+ /**
+ * Get the context name.
+ * @return the name of this context.
+ */
+ public abstract String context_name();
+
+ /**
+ * Create a child of this Context, giving it a name.
+ * @param name a name of the child context.
+ *
+ * @return the newly created context.
+ */
+ public abstract Context create_child(String child);
+
+ /**
+ * Delete one or several (identically named) given properties.
+ *
+ * @param property the name of the property to delete, may
+ * end by wildchar character '*'. The search scope is always
+ * limited to the current context.
+ */
+ public abstract void delete_values(String property);
+
+ /**
+ * Search the values.
+ *
+ * @param start_scope the context at which to initiate the search.
+ * @param flags the search operation flags.
+ * The flag {@link CTX_RESTRICT_SCOPE} means
+ * that search is restricted to the start_scope.
+ * @param pattern the property being searched, can be
+ * either name or name with the optional trailing wildchar character
+ * '*'.
+ * @return the list of the found properties.
+ */
+ public abstract NVList get_values(String start_scope, int flags,
+ String pattern
+ );
+
+ /**
+ * Get the parent of this context.
+ * @return the parent of this context.
+ */
+ public abstract Context parent();
+
+ /**
+ * Set a property.
+ * @param name the property name.
+ * @param value the property value (the {@link Any} must hold string).
+ */
+ public abstract void set_one_value(String name, Any value);
+
+ /**
+ * Set multiple properties.
+ *
+ * @param values a list of properties, the {@link Any}'s
+ * in the list components must hold strings.
+ */
+ public abstract void set_values(NVList values);
+
+
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,85 @@
+/* ContextList.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Stores a modifiable list of String objects representing the property names.
+ * The property values are normally stored in the {@link Context }.
+ *
+ * The context list is created by invoking {@link ORB#create_context_list()}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class ContextList
+{
+ /**
+ * Add a name object
+ * @param name a name to add.
+ */
+ public abstract void add(String name);
+
+ /**
+ * Return the number of stored names
+ *
+ * @return a number of names.
+ */
+ public abstract int count();
+
+ /**
+ * Return the name at the given index.
+ *
+ * @param at the index
+ * @return the name at the given index
+ *
+ * @throws Bounds if the index is out of bounds.
+ */
+ public abstract String item(int at)
+ throws Bounds;
+
+ /**
+ * Remove the name at the given index.
+ *
+ * @param at the index
+ *
+ * @throws Bounds if the index is out of bounds.
+ */
+ public abstract void remove(int at)
+ throws Bounds;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* Current.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * <p>
+ * The interfaces, derived from this class, define the objects, providing
+ * information, associated with a particular thread of execution. The examples
+ * of such data could be the security information, transaction identifiers
+ * and so on.
+ * </p><p>
+ * The various aspects of this information are provided by subinterfaces,
+ * derived from the Current. There are no operations defined for
+ * the "general" Current itself.
+ * </p>
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface Current
+ extends org.omg.CORBA.Object, IDLEntity, CurrentOperations
+{
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,176 @@
+/* CurrentHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the CORBA object {@link Current}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class CurrentHelper
+{
+ /**
+ * The Current stub (proxy), used on the client side.
+ * The {@link Current} methods should contain the code for remote
+ * invocaton. As there are no methods defined, this class is only
+ * used for the formal support of the
+ * {@link #narrow(org.omg.CORBA.Object)}.
+ */
+ private static class _CurrentStub
+ extends ObjectImpl
+ implements Current
+ {
+ /**
+ * Create the naming context stub with the given delegate.
+ */
+ public _CurrentStub(Delegate delegate)
+ {
+ _set_delegate(delegate);
+ }
+
+ /**
+ * Return the array of repository ids for this object.
+ */
+ public String[] _ids()
+ {
+ return new String[] { id() };
+ }
+ }
+
+ /**
+ * Get the type code of the {@link Current}.
+ */
+ public static TypeCode type()
+ {
+ return
+ OrbRestricted.Singleton.create_interface_tc(id(), "Current");
+ }
+
+ /**
+ * Insert the Current into the given Any.
+ *
+ * @param any the Any to insert into.
+ * @param that the Current to insert.
+ */
+ public static void insert(Any any, Current that)
+ {
+ any.insert_Object(that);
+ }
+
+ /**
+ * Extract the Current from given Any.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain Current.
+ */
+ public static Current extract(Any any)
+ {
+ return narrow(any.extract_Object());
+ }
+
+ /**
+ * Get the Current repository id.
+ *
+ * @return "IDL:omg.org/CORBA/Current:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/Current:1.0";
+ }
+
+ /**
+ * Cast the passed object into the Current. If the
+ * object has a different java type, create an instance
+ * of the _CurrentStub, using the same delegate, as for
+ * the passed parameter. Hence, unlike java type cast,
+ * this method may return a different object, than has been passed.
+ *
+ * @param obj the object to narrow.
+ * @return narrowed instance.
+ *
+ * @throws BAD_PARAM if the passed object is not a Current.
+ */
+ public static Current narrow(org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof Current)
+ return (Current) obj;
+ else if (!obj._is_a(id()))
+ throw new BAD_PARAM("Not a Current");
+ else
+ {
+ Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+ return new _CurrentStub(delegate);
+ }
+ }
+
+ /**
+ * Read the Current from the CDR intput stream (IOR profile expected).
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static Current read(InputStream input)
+ {
+ return narrow(input.read_Object());
+ }
+
+ /**
+ * Write the Current to the CDR output stream (as IOR profile).
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream output, Current value)
+ {
+ output.write_Object(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* CurrentHolder.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object {@link Current}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class CurrentHolder
+ implements Streamable
+{
+ /**
+ * The stored Current value.
+ */
+ public Current value;
+
+ /**
+ * Create the uninitialised instance, leaving the value field
+ * with default <code>null</code> value.
+ */
+ public CurrentHolder()
+ {
+ }
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue the value that will be assigned to
+ * the <code>value</code> field.
+ */
+ public CurrentHolder(Current initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link #value} by data from the CDR stream.
+ *
+ * @param input the org.omg.CORBA.portable stream to read.
+ */
+ public void _read(InputStream input)
+ {
+ value = CurrentHelper.read(input);
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ *
+ * @param output the org.omg.CORBA.portable stream to write.
+ */
+ public void _write(OutputStream output)
+ {
+ CurrentHelper.write(output, value);
+ }
+
+ /**
+ * Get the typecode of the Current.
+ */
+ public org.omg.CORBA.TypeCode _type()
+ {
+ return CurrentHelper.type();
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* CurrentOperations.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * <p>
+ * The interfaces, derived from this class, define operations that provide
+ * information, associated with a particular thread of execution.
+ * </p><p>
+ * There are no operations for the general "Current". Instead, the operations
+ * are defined for various subinterfaces that were derived from the
+ * Current.
+ * </p>
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ *
+ * @see Current
+ */
+public interface CurrentOperations
+{
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,68 @@
+/* CustomMarshal.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * This interface indicates that the object can provide its own methods
+ * for reading and writing its content. This interface is typically used
+ * by the CORBA implementation only. The user application should use the
+ * {@link CustomValue} that is a descendant of this interface.
+ *
+ * @see DataInputStream
+ * @see DataOutputStream
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface CustomMarshal
+{
+ /**
+ * Read (unmarshal) the content of this object from the given input stream.
+ *
+ * @param into_stream a stream to read from.
+ */
+ public void marshal(DataOutputStream into_stream);
+
+ /**
+ * Write (marshal) the content of this object to the given input stream.
+ *
+ * @param from_stream a stream to write into.
+ */
+ public void unmarshal(DataInputStream from_stream);
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,60 @@
+/* CustomValue.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * A Custom Value is a {@link ValueBase} implementing its own methods for
+ * reading and writing (unmarshaling and marshaling) the content. These methods
+ * are defined in superinterface {@link CustomMarshal}.
+ *
+ * Custom value types can never be safely truncated to the more general
+ * base type. They and always require an exact match for their RepositoryId
+ * in the receiving context.
+ *
+ * If the value base does not implement this interface, it normally implements
+ * {@link org.omg.CORBA.portable.StremableValue} instead.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface CustomValue
+ extends ValueBase, CustomMarshal
+{
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,117 @@
+/* DATA_CONVERSION.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the ORB cannot convert between the marshalled and
+ * native data representation.
+ *
+ * In GNU Classpath, this exception may have the following minor codes:
+ *
+ * <table border="1">
+ * <tr>
+ * <td>Hex</td>
+ * <td>Dec</td>
+ * <td>Minor</td>
+ * <td>Name</td>
+ * <td>Case</td>
+ * </tr>
+ * <td>47430016</td>
+ * <td>1195573270</td>
+ * <td>22</td>
+ * <td>Missing_IOR</td>
+ * <td>The object URL is such that the IOR string must be read from some
+ * local or remote resource (file or network), but this resource is not
+ * reacheable.</td>
+ * </tr>
+ * </table>
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DATA_CONVERSION
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 1874869932271600956L;
+
+ /**
+ * Creates a DATA_CONVERSION with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public DATA_CONVERSION(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates DATA_CONVERSION with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public DATA_CONVERSION()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a DATA_CONVERSION exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public DATA_CONVERSION(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created DATA_CONVERSION exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public DATA_CONVERSION(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,276 @@
+/* DataInputStream.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * An interface for reading the custom value types. A value type, providing
+ * its own mechanism for reading the content, must implement
+ * the {@link CustomValue} that uses this interface.
+ *
+ * @see CustomValue
+ * @see CustomMarshal
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DataInputStream
+ extends ValueBase
+{
+ /**
+ * Read {@link Any}.
+ * @return a value, extracted from the stream.
+ */
+ Any read_any();
+
+ /**
+ * Read boolean.
+ * @return a value, extracted from the stream.
+ */
+ boolean read_boolean();
+
+ /**
+ * Read narrow (usually 8 bit) char.
+ * @return a value, extracted from the stream.
+ */
+ char read_char();
+
+ /**
+ * Read wide (usually 16 bit) char.
+ * @return a value, extracted from the stream.
+ */
+ char read_wchar();
+
+ /**
+ * Read octet (byte).
+ * @return a value, extracted from the stream.
+ */
+ byte read_octet();
+
+ /**
+ * Read short (16 bit int).
+ * @return a value, extracted from the stream.
+ */
+ short read_short();
+
+ /**
+ * Read unsigned short.
+ * @return a value, extracted from the stream.
+ */
+ short read_ushort();
+
+ /**
+ * Read CORBA long (java int, 32 bits).
+ * @return a value, extracted from the stream.
+ */
+ int read_long();
+
+ /**
+ * Read CORBA unsigned long (java int).
+ * @return a value, extracted from the stream.
+ */
+ int read_ulong();
+
+ /**
+ * Read CORBA long long (java long, 64 bits).
+ * @return a value, extracted from the stream.
+ */
+ long read_longlong();
+
+ /**
+ * Read unsigned CORBA long long (java long, 64 bits).
+ * @return a value, extracted from the stream.
+ */
+ long read_ulonglong();
+
+ /**
+ * Read float.
+ * @return a value, extracted from the stream.
+ */
+ float read_float();
+
+ /**
+ * Read dobule.
+ * @return a value, extracted from the stream.
+ */
+ double read_double();
+
+ /**
+ * Read narrow string (usually 8 bits per character).
+ * @return a value, extracted from the stream.
+ */
+ String read_string();
+
+ /**
+ * Read wide string (usually 16 bits per character).
+ * @return a value, extracted from the stream.
+ */
+ String read_wstring();
+
+ /**
+ * Read CORBA object.
+ *
+ * @return a value, extracted from the stream. May be null
+ * if the null was previously written by {@link DataOutputStream#write_Object}.
+ */
+ org.omg.CORBA.Object read_Object();
+
+ /**
+ * Read abstract interface.
+ *
+ * @return a value, extracted from the stream. May be either CORBA Object or
+ * CORBA value type.
+ */
+ java.lang.Object read_Abstract();
+
+ /**
+ * Read the CORBA value type.
+ * @return a value, extracted from the stream.
+ */
+ java.io.Serializable read_Value();
+
+ /**
+ * Read typecode.
+ * @return a value, extracted from the stream.
+ */
+ TypeCode read_TypeCode();
+
+ /**
+ * Read array of Any's.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_any_array(AnySeqHolder seq, int offset, int length);
+
+ /**
+ * Read boolean array.
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_boolean_array(BooleanSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of narrow (usually 8 bit) chars.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_char_array(CharSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of wide (usually 16 bit) chars.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_wchar_array(WCharSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of bytes.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_octet_array(OctetSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of shorts (16 bit ints).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_short_array(ShortSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of unsigned shorts (16 bit ints).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_ushort_array(UShortSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of CORBA longs (java ints).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_long_array(LongSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of CORBA unsigned longs (java ints).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_ulong_array(ULongSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of CORBA unsigned long longs (java longs).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_ulonglong_array(ULongLongSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of CORBA long longs (java longs).
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_longlong_array(LongLongSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of floats.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_float_array(FloatSeqHolder seq, int offset, int length);
+
+ /**
+ * Read array of doubles.
+ *
+ * The value, extracted from the stream, is returned in the
+ * .value field of the passed holder.
+ */
+ void read_double_array(DoubleSeqHolder seq, int offset, int length);
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,281 @@
+/* DataOutputStream.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * An interface for writing the custom value types. A value type, providing
+ * its own mechanism for writing the content, must implement
+ * the {@link CustomValue} that uses this interface.
+ *
+ * @see CustomValue
+ * @see CustomMarshal
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DataOutputStream
+ extends ValueBase
+{
+ /**
+ * Write {@link Any} to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_any(Any value);
+
+ /**
+ * Write boolean to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_boolean(boolean value);
+
+ /**
+ * Write narrow (usually 8 bit) char to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_char(char value);
+
+ /**
+ * Write wide (usually 16 bit) char to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_wchar(char value);
+
+ /**
+ * Write octet (byte) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_octet(byte value);
+
+ /**
+ * Write short (16 bit signed integer) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_short(short value);
+
+ /**
+ * Write unsigned short to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ushort(short value);
+
+ /**
+ * Write CORBA long (32 bits, java int) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_long(int value);
+
+ /**
+ * Write unsigned CORBA long (32 bits, java int) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ulong(int value);
+
+ /**
+ * Write CORBA long long (64 bits, java long) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_longlong(long value);
+
+ /**
+ * Write unsigned CORBA long long (64 bits, java long) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ulonglong(long value);
+
+ /**
+ * Write float to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_float(float value);
+
+ /**
+ * Write double to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_double(double value);
+
+ /**
+ * Write narrow (usually 8 bits per character) string to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_string(String value);
+
+ /**
+ * Write wide (usually 16 bits per character) string to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_wstring(String value);
+
+ /**
+ * Write CORBA object reference to the output stream.
+ *
+ * @param value a value to write, null should be supported.
+ */
+ void write_Object(org.omg.CORBA.Object value);
+
+ /**
+ * Write abstract interface to the output stream.
+ *
+ * @param value a value to write, can be either CORBA object or
+ * CORBA value type.
+ */
+ void write_Abstract(java.lang.Object value);
+
+ /**
+ * Write value type to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_Value(java.io.Serializable value);
+
+ /**
+ * Write typecode to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_TypeCode(TypeCode value);
+
+ /**
+ * Write array of Any's to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_any_array(Any[] seq, int offset, int length);
+
+ /**
+ * Write array of boolean's to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_boolean_array(boolean[] seq, int offset, int length);
+
+ /**
+ * Write array of narrow chars to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_char_array(char[] seq, int offset, int length);
+
+ /**
+ * Write array of wide chars to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_wchar_array(char[] seq, int offset, int length);
+
+ /**
+ * Write array of octets (bytes) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_octet_array(byte[] seq, int offset, int length);
+
+ /**
+ * Write array of shorts (16 bit integers) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_short_array(short[] seq, int offset, int length);
+
+ /**
+ * Write array of unsigned shorts (16 bit integers) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ushort_array(short[] seq, int offset, int length);
+
+ /**
+ * Write array of CORBA longs (java ints) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_long_array(int[] seq, int offset, int length);
+
+ /**
+ * Write array of unsigned CORBA longs (java ints) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ulong_array(int[] seq, int offset, int length);
+
+ /**
+ * Write array of unsigned CORBA long longs (java longs)
+ * to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_ulonglong_array(long[] seq, int offset, int length);
+
+ /**
+ * Write arrayo fo CORBA long longs (java ints) to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_longlong_array(long[] seq, int offset, int length);
+
+ /**
+ * Write array of floats to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_float_array(float[] seq, int offset, int length);
+
+ /**
+ * Write array of doubles to the output stream.
+ *
+ * @param value a value to write.
+ */
+ void write_double_array(double[] seq, int offset, int length);
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,425 @@
+/* DefinitionKind.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * This class indicates the kind of the definition, stored in the interface
+ * repository.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class DefinitionKind
+ implements IDLEntity, Serializable
+{
+ /**
+ * Use v1.4 serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -8601167576704143376L;
+
+ /**
+ * Indicates that the current definition defines has no definition kind.
+ */
+ public static final int _dk_none = 0;
+
+ /**
+ * This is a "wildcard '*'", used in cases where any definition kind
+ * is appropriate .
+ */
+ public static final int _dk_all = 1;
+
+ /**
+ * Indicates that the current definition defines an attribute.
+ */
+ public static final int _dk_Attribute = 2;
+
+ /**
+ * Indicates that the current definition defines a constant.
+ */
+ public static final int _dk_Constant = 3;
+
+ /**
+ * Indicates that the current definition defines an exception.
+ */
+ public static final int _dk_Exception = 4;
+
+ /**
+ * Indicates that the current definition defines an interface.
+ * The interface definition can contain constants, types,
+ * exceptions, operations, and attributes.
+ */
+ public static final int _dk_Interface = 5;
+
+ /**
+ * Indicates that the current definition defines a Module.
+ * The Module can contain constants, typedefs, exceptions and also
+ * interface, component, home, value or event type definitions.
+ * The module can also enclose other (nested) modules.
+ */
+ public static final int _dk_Module = 6;
+
+ /**
+ * Indicates that the current definition defines an operation, including
+ * the lists of parameters and exceptions raised by this operation.
+ */
+ public static final int _dk_Operation = 7;
+
+ /**
+ * Indicates that the current definition defines a named type that is not
+ * an interface nor a value definition. Generally, it also cannot be
+ * a definition of component, home and event, but these three kinds are
+ * not listed in this class.
+ */
+ public static final int _dk_Typedef = 8;
+
+ /**
+ * Indicates that the current definition defines an alias.
+ */
+ public static final int _dk_Alias = 9;
+
+ /**
+ * Indicates that the current definition defines a structure.
+ */
+ public static final int _dk_Struct = 10;
+
+ /**
+ * Indicates that the current definition defines a union.
+ */
+ public static final int _dk_Union = 11;
+
+ /**
+ * Indicates that the current definition defines an enumeration.
+ */
+ public static final int _dk_Enum = 12;
+
+ /**
+ * Indicates that the current definition defines a primitive type.
+ */
+ public static final int _dk_Primitive = 13;
+
+ /**
+ * Indicates that the current definition defines a string.
+ */
+ public static final int _dk_String = 14;
+
+ /**
+ * Indicates that the current definition defines a sequence.
+ */
+ public static final int _dk_Sequence = 15;
+
+ /**
+ * Indicates that the current definition defines an array.
+ */
+ public static final int _dk_Array = 16;
+
+ /**
+ * Indicates that the current definition defines an another interface
+ * repository.
+ */
+ public static final int _dk_Repository = 17;
+
+ /**
+ * Indicates that the current definition defines a wide (usually 16-bit
+ * per character) string.
+ */
+ public static final int _dk_Wstring = 18;
+
+ /**
+ * Indicates that the current definition defines a CORBA <code>fixed</code>.
+ */
+ public static final int _dk_Fixed = 19;
+
+ /**
+ * Indicates that the current definition defines a value.
+ */
+ public static final int _dk_Value = 20;
+
+ /**
+ * Indicates that the current definition defines a value box.
+ */
+ public static final int _dk_ValueBox = 21;
+
+ /**
+ * Indicates that the current definition defines value member.
+ */
+ public static final int _dk_ValueMember = 22;
+
+ /**
+ * Indicates that the current definition defines a Native.
+ */
+ public static final int _dk_Native = 23;
+
+ /**
+ * Indicates that the current definition defines an abstract interface.
+ */
+ public static final int _dk_AbstractInterface = 24;
+
+ /**
+ * Indicates that the current definition defines has no definition kind.
+ */
+ public static final DefinitionKind dk_none = new DefinitionKind(_dk_none);
+
+ /**
+ * This is a "wildcard '*'", used in cases where any definition kind
+ * is appropriate .
+ */
+ public static final DefinitionKind dk_all = new DefinitionKind(_dk_all);
+
+ /**
+ * Indicates that the current definition defines an attribute.
+ */
+ public static final DefinitionKind dk_Attribute = new DefinitionKind(_dk_Attribute);
+
+ /**
+ * Indicates that the current definition defines a constant.
+ */
+ public static final DefinitionKind dk_Constant = new DefinitionKind(_dk_Constant);
+
+ /**
+ * Indicates that the current definition defines an exception.
+ */
+ public static final DefinitionKind dk_Exception = new DefinitionKind(_dk_Exception);
+
+ /**
+ * Indicates that the current definition defines an interface.
+ * The interface definition can contain constants, types,
+ * exceptions, operations, and attributes.
+ */
+ public static final DefinitionKind dk_Interface = new DefinitionKind(_dk_Interface);
+
+ /**
+ * Indicates that the current definition defines a Module.
+ * The Module can contain constants, typedefs, exceptions and also
+ * interface, component, home, value or event type definitions.
+ * The module can also enclose other (nested) modules.
+ */
+ public static final DefinitionKind dk_Module = new DefinitionKind(_dk_Module);
+
+ /**
+ * Indicates that the current definition defines an operation, including
+ * the lists of parameters and exceptions raised by this operation.
+ */
+ public static final DefinitionKind dk_Operation = new DefinitionKind(_dk_Operation);
+
+ /**
+ * Indicates that the current definition defines a named type that is not
+ * an interface nor a value definition. Generally, it also cannot be
+ * a definition of component, home and event, but these three kinds are
+ * not listed in this class.
+ */
+ public static final DefinitionKind dk_Typedef = new DefinitionKind(_dk_Typedef);
+
+ /**
+ * Indicates that the current definition defines an alias.
+ */
+ public static final DefinitionKind dk_Alias = new DefinitionKind(_dk_Alias);
+
+ /**
+ * Indicates that the current definition defines a structure.
+ */
+ public static final DefinitionKind dk_Struct = new DefinitionKind(_dk_Struct);
+
+ /**
+ * Indicates that the current definition defines a union.
+ */
+ public static final DefinitionKind dk_Union = new DefinitionKind(_dk_Union);
+
+ /**
+ * Indicates that the current definition defines an enumeration.
+ */
+ public static final DefinitionKind dk_Enum = new DefinitionKind(_dk_Enum);
+
+ /**
+ * Indicates that the current definition defines a primitive type.
+ */
+ public static final DefinitionKind dk_Primitive = new DefinitionKind(_dk_Primitive);
+
+ /**
+ * Indicates that the current definition defines a string.
+ */
+ public static final DefinitionKind dk_String = new DefinitionKind(_dk_String);
+
+ /**
+ * Indicates that the current definition defines a sequence.
+ */
+ public static final DefinitionKind dk_Sequence = new DefinitionKind(_dk_Sequence);
+
+ /**
+ * Indicates that the current definition defines an array.
+ */
+ public static final DefinitionKind dk_Array = new DefinitionKind(_dk_Array);
+
+ /**
+ * Indicates that the current definition defines an another interface
+ * repository.
+ */
+ public static final DefinitionKind dk_Repository =
+ new DefinitionKind(_dk_Repository);
+
+ /**
+ * Indicates that the current definition defines a wide (usually 16-bit
+ * per character) string.
+ */
+ public static final DefinitionKind dk_Wstring = new DefinitionKind(_dk_Wstring);
+
+ /**
+ * Indicates that the current definition defines a CORBA <code>fixed</code>.
+ */
+ public static final DefinitionKind dk_Fixed = new DefinitionKind(_dk_Fixed);
+
+ /**
+ * Indicates that the current definition defines a value.
+ */
+ public static final DefinitionKind dk_Value = new DefinitionKind(_dk_Value);
+
+ /**
+ * Indicates that the current definition defines a value box.
+ */
+ public static final DefinitionKind dk_ValueBox = new DefinitionKind(_dk_ValueBox);
+
+ /**
+ * Indicates that the current definition defines value member.
+ */
+ public static final DefinitionKind dk_ValueMember =
+ new DefinitionKind(_dk_ValueMember);
+
+ /**
+ * Indicates that the current definition defines a Native.
+ */
+ public static final DefinitionKind dk_Native = new DefinitionKind(_dk_Native);
+
+ /**
+ * Indicates that the current definition defines .
+ */
+ public static final DefinitionKind dk_AbstractInterface =
+ new DefinitionKind(_dk_AbstractInterface);
+
+ /**
+ * The defintion code of the current instance of the definition kind.
+ */
+ private final int kind;
+
+ /**
+ * The table of the definition kinds
+ */
+ private static DefinitionKind[] table;
+
+ /**
+ * Creates a definition kind with the given integer definition kind code.
+ *
+ * @param a_kind a definition kind code, one of the _dk_.. constants,
+ * defined in this class.
+ */
+ protected DefinitionKind(int a_kind)
+ {
+ kind = a_kind;
+ }
+
+ /**
+ * Get the definition code of the current instance of the definition kind.
+ *
+ * @return one of the _dk_... constants, defined in this class.
+ */
+ public int value()
+ {
+ return kind;
+ }
+
+ /**
+ * Get the definition kind, corresponding the given integer code.
+ *
+ * @param a_kind the definition kind code, one of the _dk_... constants,
+ * defined in this class.
+ *
+ * @return the corresponding definition kind, one of the dk_... constants,
+ * defined in this class.
+ *
+ * @throws BAD_PARAM if the given integer does not match any definition
+ * kind.
+ */
+ public static DefinitionKind from_int(int a_kind)
+ {
+ if (table == null)
+ fill_table();
+ try
+ {
+ return table [ a_kind ];
+ }
+ catch (ArrayIndexOutOfBoundsException ex)
+ {
+ throw new BAD_PARAM("No def. kind " + a_kind);
+ }
+ }
+
+ /**
+ * Fill the conversion table on demand.
+ */
+ private static void fill_table()
+ {
+ table = new DefinitionKind[ 25 ];
+ table [ _dk_none ] = dk_none;
+ table [ _dk_all ] = dk_all;
+ table [ _dk_Attribute ] = dk_Attribute;
+ table [ _dk_Constant ] = dk_Constant;
+ table [ _dk_Exception ] = dk_Exception;
+ table [ _dk_Interface ] = dk_Interface;
+ table [ _dk_Module ] = dk_Module;
+ table [ _dk_Operation ] = dk_Operation;
+ table [ _dk_Typedef ] = dk_Typedef;
+ table [ _dk_Alias ] = dk_Alias;
+ table [ _dk_Struct ] = dk_Struct;
+ table [ _dk_Union ] = dk_Union;
+ table [ _dk_Enum ] = dk_Enum;
+ table [ _dk_Primitive ] = dk_Primitive;
+ table [ _dk_String ] = dk_String;
+ table [ _dk_Sequence ] = dk_Sequence;
+ table [ _dk_Array ] = dk_Array;
+ table [ _dk_Repository ] = dk_Repository;
+ table [ _dk_Wstring ] = dk_Wstring;
+ table [ _dk_Fixed ] = dk_Fixed;
+ table [ _dk_Value ] = dk_Value;
+ table [ _dk_ValueBox ] = dk_ValueBox;
+ table [ _dk_ValueMember ] = dk_ValueMember;
+ table [ _dk_Native ] = dk_Native;
+ table [ _dk_AbstractInterface ] = dk_AbstractInterface;
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* DefinitionKindHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.DefinitionKindHolder;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.gnuAny;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the definition kind.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class DefinitionKindHelper
+{
+ /**
+ * Insert the definition kind into the given Any.
+ */
+ public static void insert(Any a, DefinitionKind that)
+ {
+ a.insert_Streamable(new DefinitionKindHolder(that));
+ }
+
+ /**
+ * Extract the definition kind from the given Any.
+ */
+ public static DefinitionKind extract(Any a)
+ {
+ return ((DefinitionKindHolder) a.extract_Streamable()).value;
+ }
+
+ /**
+ * Get the definition kind typecode (enumeration, named "DefinitionKind").
+ * The member names are listed as defined by java 1.4 specification.
+ * The names, defined in OMG specification only (like dk_Home or
+ * dk_Event) are not listed.
+ */
+ public static TypeCode type()
+ {
+ String[] members =
+ new String[]
+ {
+ "dk_none", "dk_all", "dk_Attribute", "dk_Constant", "dk_Exception",
+ "dk_Interface", "dk_Module", "dk_Operation", "dk_Typedef",
+ "dk_Alias", "dk_Struct", "dk_Union", "dk_Enum", "dk_Primitive",
+ "dk_String", "dk_Sequence", "dk_Array", "dk_Repository",
+ "dk_Wstring", "dk_Fixed", "dk_Value", "dk_ValueBox",
+ "dk_ValueMember", "dk_Native"
+ };
+
+ return
+ OrbRestricted.Singleton.create_enum_tc(id(), "DefinitionKind",
+ members
+ );
+ }
+
+ /**
+ * Get the definition kind repository id.
+ *
+ * @return "IDL:omg.org/CORBA/DefinitionKind:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/DefinitionKind:1.0";
+ }
+
+ /**
+ * Read the definitin kind (as int) from the CDR intput stream.
+ *
+ * @param istream a stream to read from.
+ */
+ public static DefinitionKind read(InputStream istream)
+ {
+ return DefinitionKind.from_int(istream.read_long());
+ }
+
+ /**
+ * Write the definition kind (as int) to the CDR output stream.
+ *
+ * @param ostream a stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream ostream, DefinitionKind value)
+ {
+ ostream.write_long(value.value());
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* DomainManager.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * Establishes and navigates relationships to superior and subordinate domains,
+ * and also creates and access policies.
+ *
+ * The DomainManager has associated with it the policy objects for a
+ * particular domain.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface DomainManager
+ extends IDLEntity, Object, Serializable, DomainManagerOperations
+{
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* DomainManagerOperations.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Provides the means to access the policies of the domain, with that
+ * the implementing {@link DomainManage} is associated.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface DomainManagerOperations
+{
+ /**
+ * Get the policy of the specified type for the objects, belonging
+ * to this domain. The policy types are domain specific.
+ *
+ * @param policy_type the policy type
+ *
+ * @return the policy
+ */
+ Policy get_domain_policy(int policy_type);
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* DoubleHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>double</code> that is mapped into
+ * java <code>double</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DoubleHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_double =
+ new PrimitiveTypeCode(TCKind.tk_double);
+
+ /**
+ * The <code>double</code> (CORBA <code>double</code>) value,
+ * held by this DoubleHolder.
+ */
+ public double value;
+
+ /**
+ * Constructs an instance of DoubleHolder,
+ * initializing {@link #value} to <code>0.0</code>.
+ */
+ public DoubleHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of DoubleHolder,
+ * initializing {@link #value} to the given <code>double</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public DoubleHolder(double initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>double</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_double}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_double();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_double;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>double</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_double(double) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_double(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* DoubleSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>double</code>
+ * (<code>DoubleSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class DoubleSeqHelper
+{
+ /**
+ * Extract the <code>double[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link DoubleSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link DoubleSeqHolder}.
+ */
+ public static double[] extract(Any a)
+ {
+ DoubleSeqHolder h = (DoubleSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>double[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link DoubleSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, double[] that)
+ {
+ DoubleSeqHolder holder = new DoubleSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>double[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static double[] read(InputStream input)
+ {
+ double[] value = new double[ input.read_long() ];
+ input.read_double_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>DoubleSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_double);
+ }
+
+ /**
+ * Writes the <code>double[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, double[] value)
+ {
+ output.write_long(value.length);
+ output.write_double_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* DoubleSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>DoubleSeq</code> that is mapped into
+ * java <code>double[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DoubleSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>double[]</code> (CORBA <code>DoubleSeq</code>) value,
+ * held by this DoubleSeqHolder.
+ */
+ public double[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_double);
+
+ /**
+ * Constructs an instance of DoubleSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public DoubleSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of DoubleSeqHolder,
+ * initializing {@link #value} to the given <code>double[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public DoubleSeqHolder(double[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_double_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new double[ input.read_long() ];
+ input.read_double_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_double_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_double_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,505 @@
+/* DynAny.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.Invalid;
+import org.omg.CORBA.DynAnyPackage.InvalidValue;
+import org.omg.CORBA.DynAnyPackage.TypeMismatch;
+
+import java.io.Serializable;
+
+/**
+ * The DynAny interface provides possibility to access the components of
+ * the CORBA object, stored inside the {@link Any}. The {@link Any} itself
+ * allows to read, write and pass as parameter the stored value without
+ * knowning its exact data type. The DynAny and derived classes additionally
+ * allows to access the members of the sequence, structure, union and get the
+ * data about enumeration, value type and CORBA <code>fixed</code> without
+ * knowing the exact type at the run time. The returned members are also
+ * wrapped into DynAny objects, allowing them to be the nested structures.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynAny
+ extends org.omg.CORBA.Object
+{
+ /**
+ * Copy one DynAny into another.
+ *
+ * @param from the DynAny to copy from.
+ * @throws Invalid if the source DynAny is invalid.
+ */
+ void assign(DynAny from)
+ throws Invalid;
+
+ /**
+ * Clones this DynAny.
+ */
+ DynAny copy();
+
+ /**
+ * Returns the focused component of this DynAny. The DynAny has the internal
+ * pointer (reference) that can point to one of its components. The returned
+ * DynAny can be used to get or set the value of the focused component.
+ * If the DynAny holds a primitive type with no components, this
+ * implementation returns <code>this</code>.
+ */
+ DynAny current_component();
+
+ /**
+ * Destroys this DynAny, freeing the used resources. In java, resources
+ * are freed by the garbage collectors, so this method typically returns
+ * without action.
+ */
+ void destroy();
+
+ /**
+ * Makes a DynAny from the {@link Any}. The passed {@link Any} becomes the
+ * enclosed instance of this DynAny, allowing to change/traverse the
+ * {@link Any} fields by the {@link DynAny} methods.
+ */
+ void from_any(Any an_any)
+ throws Invalid;
+
+ /**
+ * Retrieves the {@link Any}, stored inside this DynAny.
+ *
+ * @throws TypeMismatch if the typecode of the accessed Any
+ * is not the same as the typecode of this DynAny.
+ */
+ Any get_any()
+ throws TypeMismatch;
+
+ /**
+ * Extract the boolean value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ boolean get_boolean()
+ throws TypeMismatch;
+
+ /**
+ * Extract the char value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ char get_char()
+ throws TypeMismatch;
+
+ /**
+ * Extract the <code>double</code> value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ double get_double()
+ throws TypeMismatch;
+
+ /**
+ * Extract the <code>float</code> value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ float get_float()
+ throws TypeMismatch;
+
+ /**
+ * Extract the int (CORBA long) value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ int get_long()
+ throws TypeMismatch;
+
+ /**
+ * Extract the long (CORBA long long) value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ long get_longlong()
+ throws TypeMismatch;
+
+ /**
+ * Extract the byte (CORBA octet) value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ byte get_octet()
+ throws TypeMismatch;
+
+ /**
+ * Extract the CORBA object reference that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ Object get_reference()
+ throws TypeMismatch;
+
+ /**
+ * Extract the <code>short</code> value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ short get_short()
+ throws TypeMismatch;
+
+ /**
+ * Extract the string value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ String get_string()
+ throws TypeMismatch;
+
+ /**
+ * Extract the {@link TypeCode} value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ TypeCode get_typecode()
+ throws TypeMismatch;
+
+ /**
+ * Extract the unsigned int (CORBA ulong) value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ int get_ulong()
+ throws TypeMismatch;
+
+ /**
+ * Extract the unsingel long (CORBA unsigned long long )value that
+ * is expected to be stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ long get_ulonglong()
+ throws TypeMismatch;
+
+ /**
+ * Extract the unsigned short value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ short get_ushort()
+ throws TypeMismatch;
+
+ /**
+ * Extract the value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ Serializable get_val()
+ throws TypeMismatch;
+
+ /**
+ * Extract the wide (usually UTF-16) character value that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ char get_wchar()
+ throws TypeMismatch;
+
+ /**
+ * Extract the wide (usually UFT-16) string that is expected to be
+ * stored in this DynAny.
+ *
+ * @throws TypeMismatch if this DynAny holds the value of the
+ * different type.
+ */
+ String get_wstring()
+ throws TypeMismatch;
+
+ /**
+ * Insert the {@link Any} value into the enclosed
+ * {@link Any} inside this DynAny.
+ *
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_any(Any an_any)
+ throws InvalidValue;
+
+ /**
+ * Insert the boolean value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_boolean(boolean a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the char value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_char(char a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the double value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_double(double a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the float value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_float(float a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the int (CORBA long) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_long(int a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the long (CORBA long long) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_longlong(long a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the byte (CORBA octet) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_octet(byte a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the object reference into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_reference(Object a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the <code>short</code> value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_short(short a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the string value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_string(String a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the {@link TypeCode} value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_typecode(TypeCode a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the int (CORBA unsinged long) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_ulong(int a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the long (CORBA unsigned long long) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_ulonglong(long a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the short (CORBA unsigned short) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_ushort(short a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_val(Serializable a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the wide char (usually UTF-16) value into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_wchar(char a_x)
+ throws InvalidValue;
+
+ /**
+ * Insert the wide string (usually UTF-16) into the enclosed
+ * {@link Any} inside this DynAny
+ * @param a_x the value being inserted.
+ * @throws InvalidValue if the value type does not match the
+ * typecode of the enclosed {@link Any}.
+ */
+ void insert_wstring(String a_x)
+ throws InvalidValue;
+
+ /**
+ * Advances the internal pointer, described in the {@link current_component},
+ * one position forward.
+ *
+ * @return true if the pointer now points to the new component,
+ * false if there are no more components of this DynAny holds
+ * a basic type that is not divided into components.
+ */
+ boolean next();
+
+ /**
+ * Moves the internal pointer, described in the {@link current_component},
+ * to the first component.
+ */
+ void rewind();
+
+ /**
+ * Moves the internal pointer, described in the {@link current_component},
+ * to the given position.
+ *
+ * @param p the number of the internal component on that the internal
+ * pointer must be focused.
+ *
+ * @return true on success or false if there is no component with the
+ * given number. If the DynAny holds the basic type, this method returs
+ * false p values other than 0.
+ */
+ boolean seek(int p);
+
+ /**
+ * Returns the enclosed {@link Any}.
+ *
+ * @return the enclosed {@link Any}.
+ */
+ Any to_any()
+ throws Invalid;
+
+ /**
+ * Returns the typecode of the object, inserted into this
+ * DynAny.
+ *
+ * @return the typecode of the inserted {@link Any} or null typecode
+ * if no {@link Any has been yet inserted}.
+ */
+ TypeCode type();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* Invalid.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by dynamic any operations when a bad DynAny or Any is passed as a parameter.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class Invalid
+ extends UserException
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use 1.4 version serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -8258194490767575588L;
+
+ /**
+ * Creates Invalid without explaining message.
+ */
+ public Invalid()
+ {
+ super();
+ }
+
+ /**
+ * Created Invalid exception, providing the explaining message.
+ *
+ * @param reason the reason of throwing the exception.
+ */
+ public Invalid(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* InvalidSeq.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by by dynamic any operations when a bad <code>sequence</code> is passed as a parameter.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidSeq
+ extends UserException
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use 1.4 version serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -5678460771857763522L;
+
+ /**
+ * Creates InvalidSeq without explaining message.
+ */
+ public InvalidSeq()
+ {
+ super();
+ }
+
+ /**
+ * Created InvalidSeq exception, providing the explaining message.
+ *
+ * @param reason the reason of throwing the exception.
+ */
+ public InvalidSeq(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* InvalidValue.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This expception in response to insert the inapproriate value into dynamic Any, usually by the DynAny.insert_*(value) method group.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidValue
+ extends UserException
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use 1.4 version serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -4741963043279146697L;
+
+ /**
+ * Creates InvalidValue without explaining message.
+ */
+ public InvalidValue()
+ {
+ super();
+ }
+
+ /**
+ * Created InvalidValue exception, providing the explaining message.
+ *
+ * @param reason the reason of throwing the exception.
+ */
+ public InvalidValue(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* TypeMismatch.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by dynamic any accessor methods when type of the actual contents do not match what is trying to be accessed.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class TypeMismatch
+ extends UserException
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use 1.4 version serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 2763424591181102501L;
+
+ /**
+ * Creates TypeMismatch without explaining message.
+ */
+ public TypeMismatch()
+ {
+ super();
+ }
+
+ /**
+ * Created TypeMismatch exception, providing the explaining message.
+ *
+ * @param reason the reason of throwing the exception.
+ */
+ public TypeMismatch(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html Thu Nov 8 16:56:19 2007
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.sql package.
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA.TypeCodePackage</title></head>
+
+<body>
+<p>Provides a couple of exceptions, thrown by methods in the <code>TypeCode</code> class.</p>
+
+</body>
+</html>
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,65 @@
+/* DynArray.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+
+/**
+ * Represents the {@link DynAny}, holding an array.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynArray
+ extends DynAny
+{
+ /**
+ * Get the elements of the enclosed array.
+ */
+ Any[] get_elements();
+
+ /**
+ * Set the elements from of the enclosed array of Anys.
+ *
+ * @throws InvalidSeq if the passed array contains the
+ * elements of the different type of if the array size mismatch.
+ */
+ void set_elements(Any[] an_array)
+ throws InvalidSeq;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,84 @@
+/* DynEnum.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Represents the dynamic enumeration, allowing to get/set the value by
+ * name or by position in the enumeration list. The CORBA enumeration
+ * can obtain one of the named values from the specified enumeration list.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynEnum
+ extends DynAny
+{
+ /**
+ * Get the value of this object.
+ * @return the currently set value, one of the allowed values
+ * for this enumeration.
+ */
+ String value_as_string();
+
+ /**
+ * Set the value of this object.
+ *
+ * @param member the value to set, must be one of the allowed values for
+ * this enumeration. Otherwise the {@link SystemException} may be thrown.
+ */
+ void value_as_string(String member);
+
+ /**
+ * Set the value of this object as the position inside the list of this
+ * enumeration.
+ *
+ * @param member the position of the enumeration value inside
+ * the enumeration list. Otherwise the {@link SystemException} may be thrown.
+ */
+ void value_as_ulong(int member);
+
+ /**
+ * Get the value of this object as the position inside the list of this
+ * enumeration.
+ *
+ * @return member the position of the currently set enumeration value inside
+ * the enumeration list.
+ */
+ int value_as_ulong();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* DynFixed.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidValue;
+
+/**
+ * Represents a CORBA <code>fixed</code>, allowing to get and set its value
+ * in the form of the binary representation.
+ *
+ * The format, described in CORBA specification, requires to store
+ * data in hexadecimal format, two digits per byte (oceted), most
+ * significant digit first. The last half-byte in the representation
+ * stores the sign, being 0xD for negative numbers and 0xC for
+ * zero and positive numbers. To have the even number of half bytes,
+ * 0x0 is appended to the beginning, if required. The position of the
+ * decimal point is not stored.
+ *
+ * @see gnu.CORBA.BigDecimalHelper
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynFixed
+ extends DynAny
+{
+ /**
+ * Get the value of this DynFixed in the binary form.
+ *
+ * @return the binary representation, defined in the header comment.
+ */
+ byte[] get_value();
+
+ /**
+ * Sets the value of this DynFixed from the binary representation.
+ *
+ * @param a_value the byte array, representing a CORBA <code>fixed</code>,
+ * as defined in the header comment.
+ */
+ void set_value(byte[] a_value)
+ throws InvalidValue;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* DynSequence.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA sequence
+ * (an array with the flexible length).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynSequence
+ extends DynAny
+{
+ /**
+ * Get the elements of the enclosed sequence.
+ */
+ Any[] get_elements();
+
+ /**
+ * Returns the number of elements, stored in the sequence.
+ * @return
+ */
+ int length();
+
+ /**
+ * Sets the length of this sequence to the given value.
+ *
+ * @param l the new length of the sequence.
+ */
+ void length(int l);
+
+ /**
+ * Set the elements from of the enclosed array of Anys.
+ *
+ * @throws InvalidSeq if the passed array contains the
+ * elements of the different type.
+ */
+ void set_elements(Any[] an_array)
+ throws InvalidSeq;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,89 @@
+/* DynStruct.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA structure (record
+ * with the named fields). The internal reference, described in
+ * {@link DynAny#current_component()}, iterates over the fields of the
+ * structure.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynStruct
+ extends DynAny
+{
+/**
+ * Get the kind of the structure field that would be returned by
+ * {@link DynAny#current_component()}.
+ *
+ * @return the kind of the structure field.
+ */
+ TCKind current_member_kind();
+
+ /**
+ * Get the name of the structure field that would be returned by
+ * {@link DynAny#current_component()}.
+ *
+ * @return the name of the structure field.
+ */
+ String current_member_name();
+
+ /**
+ * Get all fields of the structure in the array of the named values,
+ * holding name, repository id and value of the associated field.
+ *
+ * @return members the array of the named values,
+ * representing the structure fields.
+ */
+ NameValuePair[] get_members();
+
+ /**
+ * Set all fields of this structure by name.
+ *
+ * @param members the array of the named values,
+ * representing the structure fields.
+ *
+ * @throws InvalidSeq if the passed argument is invalid.
+ */
+ void set_members(NameValuePair[] members)
+ throws InvalidSeq;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* DynUnion.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA structure (variant record
+ * with the named fields). The internal reference, described in
+ * {@link DynAny#current_component()}, iterates over the fields of the
+ * member, stored in the union. The union always holds only one member;
+ * which one, depends from the value of the discriminator.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynUnion
+ extends DynAny
+{
+ /**
+ * Returns the discriminator, defining, which set of fields is stored.
+ * @return the discriminator.
+ */
+ DynAny discriminator();
+
+ /**
+ * Returns the discriminator kind.
+ */
+ TCKind discriminator_kind();
+
+ /**
+ * Returns the member, stored in this union.
+ */
+ DynAny member();
+
+ /**
+ * Returns the kind of the member, stored in this union.
+ */
+ TCKind member_kind();
+
+ /**
+ * Returns the name of the currently focused member.
+ */
+ String member_name();
+
+ /**
+ * Renames the currently focused member.
+ *
+ * @param new_name the new name of the currently focused member.
+ */
+ void member_name(String new_name);
+
+ /**
+ * Checks if the discriminator of this union has been assigned a valid
+ * default value.
+ */
+ boolean set_as_default();
+
+ /**
+ * Determines if the discriminator of this union gets assigned a valid
+ * default value.
+ * @param assign_default
+ */
+ void set_as_default(boolean assign_default);
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,88 @@
+/* DynValue.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding a value type.
+ *
+ * A value type is something between CORBA structure and CORBA object.
+ * Like CORBA object, it can have methods, supporting some IDL-defined
+ * interface. However, like structures, they are always local and passed by
+ * value, not by IOR reference.
+ *
+ * The value types can have both public and private members. They support
+ * inheritance. Value types can also be abstract.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynValue
+ extends DynAny, org.omg.CORBA.Object
+{
+ /**
+ * Get the kind of the member, pointed by the internal pointer.
+ *
+ * @return the kind of the member.
+ */
+ TCKind current_member_kind();
+
+ /**
+ * Get the name of the member, pointed by the internal pointer.
+ *
+ * @return the name of the member.
+ */
+ String current_member_name();
+
+ /**
+ * Get all members of the enclosed value type object.
+ * @return
+ */
+ NameValuePair[] get_members();
+
+ /**
+ * Set all members for the enclosed value type object.
+ *
+ * @param value an array of members to set.
+ *
+ * @throws InvalidSeq if the passed sequence is not valid.
+ */
+ void set_members(NameValuePair[] value)
+ throws InvalidSeq;
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,178 @@
+/* DynamicImplementation.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Unexpected;
+import gnu.CORBA.gnuAny;
+import gnu.CORBA.gnuNVList;
+
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * This class was probably originally thinked as a base of all CORBA
+ * object implementations. However the code, generated by IDL to
+ * java compilers almost never use it, preferring to derive the
+ * object implementation bases directly from the {@link ObjectImpl}.
+ * The class has become deprecated since the 1.4 release.
+ *
+ * @deprecated since 1.4.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class DynamicImplementation
+ extends ObjectImpl
+{
+ /**
+ * Invoke the method of the CORBA object. After converting the parameters,
+ * this method delegates call to the {@link ObjectImpl#invoke}.
+ *
+ * @deprecated since 1.4.
+ *
+ * @param request the container for both passing and returing the parameters,
+ * also contains the method name and thrown exceptions.
+ */
+ public void invoke(ServerRequest request)
+ {
+ Request r = _request(request.operation());
+
+ // Copy the parameters.
+ NVList args = new gnuNVList();
+ request.arguments(args);
+ NamedValue v;
+ int i = 0;
+
+ try
+ {
+ // Set the arguments.
+ for (i = 0; i < args.count(); i++)
+ {
+ v = args.item(i);
+ Any n;
+ OutputStream out;
+
+ switch (v.flags())
+ {
+ case ARG_IN.value:
+ out = v.value().create_output_stream();
+ v.value().write_value(out);
+ n = r.add_named_in_arg(v.name());
+ n.read_value(out.create_input_stream(), v.value().type());
+ break;
+ case ARG_INOUT.value:
+ out = v.value().create_output_stream();
+ v.value().write_value(out);
+ n = r.add_named_inout_arg(v.name());
+ n.read_value(out.create_input_stream(), v.value().type());
+ break;
+ case ARG_OUT.value:
+ r.add_named_out_arg(v.name());
+ break;
+
+ default:
+ throw new InternalError("Invalid flags " + v.flags());
+ }
+ }
+ }
+ catch (Bounds b)
+ {
+ throw new Unexpected(args.count() + "[" + i + "]", b);
+ }
+
+ // Set context.
+ r.ctx(request.ctx());
+
+ // Set the return type (expects that the ServerRequest will initialise
+ // the passed Any.
+
+ gnuAny g = new gnuAny();
+ request.result(g);
+ r.set_return_type(g.type());
+
+ // Invoke the method.
+ r.invoke();
+
+ // Transfer the returned values.
+ NVList r_args = r.arguments();
+
+ try
+ {
+ // API states that the ServerRequest.arguments must be called only
+ // once. Hence we assume we can just modify the previously returned
+ // value <code>args</code>, and the ServerRequest will preserve the
+ // reference.
+ for (i = 0; i < args.count(); i++)
+ {
+ v = args.item(i);
+
+ if (v.flags() == ARG_OUT.value || v.flags() == ARG_INOUT.value)
+ {
+ OutputStream out = r_args.item(i).value().create_output_stream();
+ r_args.item(i).value().write_value(out);
+ v.value().read_value(out.create_input_stream(),
+ v.value().type());
+ }
+ }
+ }
+ catch (Bounds b)
+ {
+ throw new Unexpected(args.count() + "[" + i + "]", b);
+ }
+
+ // Set the returned result (if any).
+ NamedValue returns = r.result();
+ if (returns != null)
+ request.set_result(returns.value());
+ }
+
+ /**
+ * Returns the array of the repository ids, supported by this object.
+ * In this implementation, the method must be overrridden to return
+ * a sendible object-specific information. The default method returns
+ * an empty array.
+ *
+ * @deprecated since 1.4.
+ *
+ * @return the empty array, always.
+ */
+ public String[] _ids()
+ {
+ return new String[ 0 ];
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,70 @@
+/* Environment.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * A container for an exception, that has been thrown by the method
+ * of the CORBA object.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Environment
+{
+ /**
+ * Removes the exception object from this container.
+ */
+ public abstract void clear();
+
+ /**
+ * Returns an exception, enclosed in this container.
+ *
+ * @return the enclosed exception or null if no any
+ * exception has been thrown or {@link #clear()}
+ * has been previously called.
+ */
+ public abstract Exception exception();
+
+ /**
+ * Inserts the given exception into this container.
+ *
+ * @param except the exception to insert.
+ */
+ public abstract void exception(Exception except);
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,73 @@
+/* ExceptionList.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Stores exceptions that can be thrown when invoking a method of an
+ * CORBA {@link org.omg.CORBA.Object}.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org).
+ */
+public abstract class ExceptionList
+{
+ /**
+ * Add the typecode of the given exception to the list.
+ */
+ public abstract void add(TypeCode an_exception);
+
+ /**
+ * Get the number of the stored exceptions.
+ */
+ public abstract int count();
+
+ /**
+ * Get the item at the given position.
+ * @param at the index
+ * @throws Bounds if the index is out of range.
+ */
+ public abstract TypeCode item(int at)
+ throws Bounds;
+
+ /**
+ * Remove the item at the given position.
+ * @param at the index
+ * @throws Bounds if the index is out of range.
+ */
+ public abstract void remove(int at)
+ throws Bounds;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* FREE_MEM.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means errors, related to freeing the allocated memory.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FREE_MEM
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -1333559476995791982L;
+
+ /**
+ * Creates a FREE_MEM with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public FREE_MEM(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates FREE_MEM with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public FREE_MEM()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a FREE_MEM exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public FREE_MEM(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created FREE_MEM exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public FREE_MEM(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* FieldNameHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA FieldName that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class FieldNameHelper
+{
+ /**
+ * Insert the FieldName into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the FieldName from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "FieldName".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = OrbRestricted.Singleton;
+ return orb.create_alias_tc(id(), "FieldName", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the FieldName repository id.
+ * @return "IDL:omg.org/CORBA/FieldName:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/FieldName:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (FieldName) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* FixedHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.FixedTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import java.math.BigDecimal;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>fixed</code> that is mapped into
+ * java <code>BigDecimal</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FixedHolder
+ implements Streamable
+{
+ /**
+ * The <code>BigDecimal</code> (CORBA <code>fixed</code>) value,
+ * held by this FixedHolder.
+ */
+ public BigDecimal value;
+
+ /**
+ * Constructs an instance of FixedHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public FixedHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of FixedHolder,
+ * initializing {@link #value} to the given <code>BigDecimal</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public FixedHolder(BigDecimal initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>fixed</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_fixed}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_fixed();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder. The scale and digits are set corresponding
+ * the scale and used digits of the value that is currently stored
+ * or left with default value 0 if the value is not set.
+ */
+ public TypeCode _type()
+ {
+ return new FixedTypeCode(value);
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>fixed</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_fixed(BigDecimal) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_fixed(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* FloatHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>float</code> that is mapped into
+ * java <code>float</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FloatHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_float =
+ new PrimitiveTypeCode(TCKind.tk_float);
+
+ /**
+ * The <code>float</code> (CORBA <code>float</code>) value,
+ * held by this FloatHolder.
+ */
+ public float value;
+
+ /**
+ * Constructs an instance of FloatHolder,
+ * initializing {@link #value} to <code>0.0</code>.
+ */
+ public FloatHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of FloatHolder,
+ * initializing {@link #value} to the given <code>float</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public FloatHolder(float initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>float</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_float}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_float();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_float;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>float</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_float(float) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_float(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* FloatSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>float</code>
+ * (<code>FloatSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class FloatSeqHelper
+{
+ /**
+ * Extract the <code>float[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link FloatSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link FloatSeqHolder}.
+ */
+ public static float[] extract(Any a)
+ {
+ FloatSeqHolder h = (FloatSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>float[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link FloatSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, float[] that)
+ {
+ FloatSeqHolder holder = new FloatSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>float[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static float[] read(InputStream input)
+ {
+ float[] value = new float[ input.read_long() ];
+ input.read_float_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>FloatSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_float);
+ }
+
+ /**
+ * Writes the <code>float[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, float[] value)
+ {
+ output.write_long(value.length);
+ output.write_float_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* FloatSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>FloatSeq</code> that is mapped into
+ * java <code>float[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FloatSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>float[]</code> (CORBA <code>FloatSeq</code>) value,
+ * held by this FloatSeqHolder.
+ */
+ public float[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_float);
+
+ /**
+ * Constructs an instance of FloatSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public FloatSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of FloatSeqHolder,
+ * initializing {@link #value} to the given <code>float[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public FloatSeqHolder(float[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_float_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new float[ input.read_long() ];
+ input.read_float_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_float_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_float_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* IDLType.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * An abstract interface
+ * that represent OMG IDL types.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface IDLType
+ extends IDLTypeOperations, IRObject, IDLEntity, org.omg.CORBA.Object,
+ Serializable
+{
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* IDLTypeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the IDL type.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class IDLTypeHelper
+{
+ /**
+ * Insert the IDL type into the given Any.
+ */
+ public static void insert(Any a, IDLType that)
+ {
+ OutputStream out = a.create_output_stream();
+ a.type(type());
+ write(out, that);
+ a.read_value(out.create_input_stream(), type());
+ }
+
+ /**
+ * Extract the IDL type from the given Any.
+ */
+ public static IDLType extract(Any a)
+ {
+ return read(a.create_input_stream());
+ }
+
+ /**
+ * Get the typecode of the IDL type (the interface typecode, name "IDLType").
+ */
+ public static TypeCode type()
+ {
+ return OrbRestricted.Singleton.create_interface_tc(IDLTypeHelper.id(),
+ "IDLType");
+ }
+
+ /**
+ * Return the IDLType repository id.
+ *
+ * @return "IDL:omg.org/CORBA/IDLType:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/IDLType:1.0";
+ }
+
+ /**
+ * Read the IDL type from the given input stream.
+ * The method reads an object and narrows into IDL type using this
+ * helper.
+ */
+ public static IDLType read(InputStream istream)
+ {
+ return narrow(istream.read_Object());
+ }
+
+ /**
+ * Write the IDL type to the output stream (as CORBA object).
+ */
+ public static void write(OutputStream ostream, IDLType value)
+ {
+ ostream.write_Object((org.omg.CORBA.Object) value);
+ }
+
+ /**
+ * Narrows the CORBA object into the IDL type.
+ */
+ public static IDLType narrow(org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof IDLType)
+ return (IDLType) obj;
+ else if (!obj._is_a(id()))
+ throw new org.omg.CORBA.BAD_PARAM();
+ else
+ {
+ Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+ return new _IDLTypeStub(delegate);
+ }
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,56 @@
+/* IDLTypeOperations.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+/**
+ * Defines operations, applicable for the IDL type.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+package org.omg.CORBA;
+
+public interface IDLTypeOperations
+ extends IRObjectOperations
+{
+ /**
+ * Get the type code of the interface repository object.
+ *
+ * @return the data structure, describing the type of the object, stored in
+ * the repository.
+ */
+ TypeCode type();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* IMP_LIMIT.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server has reached some implementation limit
+ * (too many clients, too many references, too long parameters and so on).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class IMP_LIMIT
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -8086463494577448422L;
+
+ /**
+ * Creates a IMP_LIMIT with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public IMP_LIMIT(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates IMP_LIMIT with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public IMP_LIMIT()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a IMP_LIMIT exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public IMP_LIMIT(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created IMP_LIMIT exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public IMP_LIMIT(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INITIALIZE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server cannot be initialized because of the some reason.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INITIALIZE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -3753094599663690309L;
+
+ /**
+ * Creates a INITIALIZE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INITIALIZE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INITIALIZE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INITIALIZE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INITIALIZE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INITIALIZE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INITIALIZE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INITIALIZE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INTERNAL.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means an internal failure in the ORB.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INTERNAL
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 3771336866139357605L;
+
+ /**
+ * Creates a INTERNAL with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INTERNAL(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INTERNAL with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INTERNAL()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INTERNAL exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INTERNAL(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INTERNAL exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INTERNAL(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INTF_REPOS.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means errors, related to the interface repository.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INTF_REPOS
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 722572694720671863L;
+
+ /**
+ * Creates a INTF_REPOS with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INTF_REPOS(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INTF_REPOS with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INTF_REPOS()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INTF_REPOS exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INTF_REPOS(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INTF_REPOS exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INTF_REPOS(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,100 @@
+/* INVALID_ACTIVITY.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised when the transaction or Activity is resumed in a different context
+ * than from which it was suspended. It is also raised when the invocation is
+ * not incompatible with the Activity's current state.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class INVALID_ACTIVITY
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = 7907846629733712546L;
+
+ /**
+ * Creates INVALID_ACTIVITY with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INVALID_ACTIVITY(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INVALID_ACTIVITY with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INVALID_ACTIVITY()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INVALID_ACTIVITY exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INVALID_ACTIVITY(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INVALID_ACTIVITY exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INVALID_ACTIVITY(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INVALID_TRANSACTION.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that request carried an invalid transaction context.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INVALID_TRANSACTION
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -4265126403821571697L;
+
+ /**
+ * Creates a INVALID_TRANSACTION with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INVALID_TRANSACTION(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INVALID_TRANSACTION with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INVALID_TRANSACTION()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INVALID_TRANSACTION exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INVALID_TRANSACTION(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INVALID_TRANSACTION exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INVALID_TRANSACTION(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_FLAG.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means invalid flag, passed during operation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_FLAG
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -4863924749863817671L;
+
+ /**
+ * Creates a INV_FLAG with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INV_FLAG(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INV_FLAG with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INV_FLAG()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INV_FLAG exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INV_FLAG(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INV_FLAG exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INV_FLAG(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_IDENT.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some IDL identifier has a wrong syntax.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_IDENT
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 4399295047946553530L;
+
+ /**
+ * Creates a INV_IDENT with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INV_IDENT(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INV_IDENT with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INV_IDENT()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INV_IDENT exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INV_IDENT(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INV_IDENT exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INV_IDENT(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_OBJREF.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some object reference is internally malformed.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_OBJREF
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -7238811948257685034L;
+
+ /**
+ * Creates a INV_OBJREF with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INV_OBJREF(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INV_OBJREF with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INV_OBJREF()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INV_OBJREF exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INV_OBJREF(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INV_OBJREF exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INV_OBJREF(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,98 @@
+/* INV_POLICY.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * This exception is thrown when an invocation cannot be made because of
+ * an incompatibility between Policy overrides that apply to the
+ * particular invocation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_POLICY
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -7823113107689030975L;
+
+ /**
+ * Creates a INV_POLICY with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public INV_POLICY(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates INV_POLICY with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public INV_POLICY()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a INV_POLICY exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public INV_POLICY(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created INV_POLICY exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public INV_POLICY(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,53 @@
+/* IRObject.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Represents the interface repository object.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface IRObject
+ extends IRObjectOperations, org.omg.CORBA.Object, Serializable, IDLEntity
+{
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,68 @@
+/* IRObjectOperations.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+
+/**
+ * Defines the operations, applicable to the interface repository object.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface IRObjectOperations {
+ /**
+ * Get the definition kind of this interface repository object.
+ *
+ * @return the defintion kind (one of the DefinitionKind.dk_...
+ * constants).
+ */
+ DefinitionKind def_kind();
+
+ /**
+ * Destroy this interface repository object. If the object is a container,
+ * the method applies to all its contents. If the object is part of some
+ * other object, it is removed.
+ *
+ * @throws BAD_INV_ORDER, minor code 1, if destroying this object would
+ * leave the repository in an incoherent state.
+ *
+ * @throws BAD_INV_ORDER, minor code 2, if the method is invoked on the
+ * Repository or on the definition of the primitive type.
+ */
+ void destroy() throws BAD_INV_ORDER;
+
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* IdentifierHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Identifier that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class IdentifierHelper
+{
+ /**
+ * Insert the Identifier into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the Identifier from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "Identifier".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = OrbRestricted.Singleton;
+ return orb.create_alias_tc(id(), "Identifier", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the Identifier repository id.
+ * @return "IDL:omg.org/CORBA/Identifier:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/Identifier:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (Identifier) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* IntHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>long</code> that is mapped into
+ * java <code>int</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class IntHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_long = new PrimitiveTypeCode(TCKind.tk_long);
+
+ /**
+ * The <code>int</code> (CORBA <code>long</code>) value,
+ * held by this IntHolder.
+ */
+ public int value;
+
+ /**
+ * Constructs an instance of IntHolder,
+ * initializing {@link #value} to <code>0</code>.
+ */
+ public IntHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of IntHolder,
+ * initializing {@link #value} to the given <code>int</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public IntHolder(int initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>long</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_long}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_long();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_long;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>long</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_long(int) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,363 @@
+/* LocalObject.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.BAD_PARAM;
+import org.omg.CORBA.Context;
+import org.omg.CORBA.ContextList;
+import org.omg.CORBA.DomainManager;
+import org.omg.CORBA.ExceptionList;
+import org.omg.CORBA.NO_IMPLEMENT;
+import org.omg.CORBA.NVList;
+import org.omg.CORBA.NamedValue;
+import org.omg.CORBA.Policy;
+import org.omg.CORBA.Request;
+import org.omg.CORBA.SetOverrideType;
+import org.omg.CORBA.portable.ApplicationException;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.RemarshalException;
+import org.omg.CORBA.portable.ServantObject;
+
+import javax.rmi.CORBA.Util;
+
+/**
+ * An object, formally implementing the CORBA {@link Object}, but actually
+ * handling all invocations locally.
+ * Various calls to the remote object specific methods throw the
+ * {@link NO_IMPLEMENT}. The explaining message for this exception is
+ * specified in java API as <code>"This is a locally constrained object."</code>.
+ * It is not possible to get a stringified reference of the local object, or
+ * invoke a method using DII (by name via {@link Request} class).
+ *
+ * However narrowing and widening methods will work with local objects.
+ *
+ * @since 1.4
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class LocalObject
+ implements org.omg.CORBA.Object
+{
+ /**
+ * The explaining message for the exception, thrown in response to call
+ * the method, not appropriate for the local object.
+ */
+ private static final String INAPPROPRIATE =
+ "This is a locally constrained object.";
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public Request _create_request(Context context, String operation,
+ NVList parameters, NamedValue returns
+ )
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public Request _create_request(Context context, String operation,
+ NVList parameters, NamedValue returns,
+ ExceptionList exceptions, ContextList ctx_list
+ )
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public org.omg.CORBA.Object _duplicate()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DomainManager[] _get_domain_managers()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public org.omg.CORBA.Object _get_interface_def()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public org.omg.CORBA.Object _get_interface()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public Policy _get_policy(int a_policy_type)
+ throws BAD_PARAM
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public int _hash(int maximum)
+ {
+ return Math.abs(hashCode()) % maximum;
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public boolean _is_a(String repositoryIdentifer)
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * Determines if the object is equal to another object, so far as it is
+ * possible to determine easily.
+ *
+ * @param other the other object.
+ *
+ * @return true if the pased object is not null and
+ * java.lang.Object.equals(other) returns true. False otherwise.
+ */
+ public boolean _is_equivalent(org.omg.CORBA.Object other)
+ {
+ if (other != null)
+ if (other.equals(this))
+ return true;
+
+ return false;
+ }
+
+ /**
+ * Always returs false.
+ *
+ * @return false, always.
+ */
+ public boolean _non_existent()
+ {
+ return false;
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void _release()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @specnote it is possible to implement a local handling of the _request(),
+ * but the API clearly states that NO_IMPLEMENT
+ * must be thrown instead.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public Request _request(String operation)
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public org.omg.CORBA.Object _set_policy_override(Policy[] policies,
+ SetOverrideType how
+ )
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is called from <code>rmic</code> generated stubs if the
+ * {@link Util#isLocal()}, called passing <code>this</code> as parameter,
+ * returns true. If the method returns null, the requested method is then
+ * invoked on <code>this</code>. Else it is invoked on the returned object,
+ * casting it into the interface that the local object implements. In this
+ * case, the generated stub also later calls
+ * {@link _servant_postinvoke(ServantObject)}, passing that returned target
+ * as parameter.
+ *
+ * @param operation the name of the method being invoked.
+ * @param expectedType the interface that the returned servant
+ * object must implement.
+ *
+ * @throws NO_IMPLEMENT always. If used, the method must be overridden.
+ */
+ public ServantObject _servant_preinvoke(String operation, Class expectedType)
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+
+ /**
+ * This method is called from <code>rmic</code> generated stubs if the
+ * {@link Util#isLocal()}, called passing <code>this</code> as parameter,
+ * returns true, and the {@link #_servant_preinvoke} return non-null object.
+ * The stub then invokes the requrested method on that returned object and
+ * later calls _servant_postinvoke, passing that returned target as parameter.
+ *
+ * @param servant the object that has served as the invocation target for the
+ * current operation.
+ */
+ public void _servant_postinvoke(ServantObject servant)
+ {
+ }
+
+ /**
+ * Invokes the operation. This method takes the OutputStream that was previously
+ * returned by a {@link _request()} and returns an InputStream which
+ * contains the reply. Up till jdk 1.5 inclusive this method is marked as
+ * unimplemented.
+ *
+ * @throws NO_IMPLEMENT always.
+ */
+ public InputStream _invoke(OutputStream output)
+ throws ApplicationException, RemarshalException
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * While it may look that this should return true, the jdk 1.5 API states
+ * that it must throw NO_IMPLEMENT instead. The rmi stubs do not call this
+ * method to check if the object is local; they call {@link Util#isLocal()}
+ * instead (passing <code>this</code> as parameter).
+ *
+ * @return never.
+ *
+ * @throws NO_IMPLEMENT always.
+ */
+ public boolean _is_local()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public ORB _orb()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void _releaseReply(InputStream input)
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public OutputStream _request(String operation, boolean responseExpected)
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+
+ /**
+ * This method is not appropriate for the local objects and just
+ * throws an exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public boolean validate_connection()
+ {
+ throw new NO_IMPLEMENT(INAPPROPRIATE);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* LongHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>long long</code> that is mapped into
+ * java <code>long</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_longlong =
+ new PrimitiveTypeCode(TCKind.tk_longlong);
+
+ /**
+ * The <code>long</code> (CORBA <code>long long</code>) value,
+ * held by this LongHolder.
+ */
+ public long value;
+
+ /**
+ * Constructs an instance of LongHolder,
+ * initializing {@link #value} to <code>0 </code>.
+ */
+ public LongHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of LongHolder,
+ * initializing {@link #value} to the given <code>long</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public LongHolder(long initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>long long</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_longlong}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_longlong();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_longlong;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>long long</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_longlong(long) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_longlong(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* LongLongSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>long</code>
+ * (<code>LongLongSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class LongLongSeqHelper
+{
+ /**
+ * Extract the <code>long[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link LongLongSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link LongLongSeqHolder}.
+ */
+ public static long[] extract(Any a)
+ {
+ LongLongSeqHolder h = (LongLongSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>long[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link LongLongSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, long[] that)
+ {
+ LongLongSeqHolder holder = new LongLongSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>long long[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static long[] read(InputStream input)
+ {
+ long[] value = new long[ input.read_long() ];
+ input.read_longlong_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>LongLongSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_long);
+ }
+
+ /**
+ * Writes the <code>long[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, long[] value)
+ {
+ output.write_long(value.length);
+ output.write_longlong_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* LongLongSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>LongLongSeq</code> that is mapped into
+ * java <code>long[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongLongSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>long[]</code> (CORBA <code>LongLongSeq</code>) value,
+ * held by this LongLongSeqHolder.
+ */
+ public long[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_longlong);
+
+ /**
+ * Constructs an instance of LongLongSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public LongLongSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of LongLongSeqHolder,
+ * initializing {@link #value} to the given <code>long[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public LongLongSeqHolder(long[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_longlong_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new long[ input.read_long() ];
+ input.read_longlong_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_longlong_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_longlong_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* LongSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>int</code>
+ * (<code>LongSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class LongSeqHelper
+{
+ /**
+ * Extract the <code>int[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link LongSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link LongSeqHolder}.
+ */
+ public static int[] extract(Any a)
+ {
+ LongSeqHolder h = (LongSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>int[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link LongSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, int[] that)
+ {
+ LongSeqHolder holder = new LongSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>int[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static int[] read(InputStream input)
+ {
+ int[] value = new int[ input.read_long() ];
+ input.read_long_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>LongSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_long);
+ }
+
+ /**
+ * Writes the <code>int[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, int[] value)
+ {
+ output.write_long(value.length);
+ output.write_long_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* LongSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>LongSeq</code> that is mapped into
+ * java <code>int[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongSeqHolder
+ implements Streamable
+{
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_long);
+
+ /**
+ * The <code>int[]</code> (CORBA <code>LongSeq</code>) value,
+ * held by this LongSeqHolder.
+ */
+ public int[] value;
+
+ /**
+ * Constructs an instance of LongSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public LongSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of LongSeqHolder,
+ * initializing {@link #value} to the given <code>int</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public LongSeqHolder(int[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#input.read_long_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new int[ input.read_long() ];
+ input.read_long_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#input.write_long_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_long_array(value, 0, value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,323 @@
+/* MARSHAL.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some request or reply from the network has a wrong size or is
+ * structurally invalid. In GNU Classpath, this exception may have the following
+ * minor codes (the high 20 bits being Classpath VMCID):
+ *
+ * <table border="1">
+ * <tr>
+ * <th>Hex</th>
+ * <th>Dec</th>
+ * <th>Minor</th>
+ * <th>Name</th>
+ * <th>Case</th>
+ * </tr>
+ * <tr>
+ * <td>47430001</td>
+ * <td>1195573249</td>
+ * <td>1</td>
+ * <td>Giop</td>
+ * <td>The message being received is not a GIOP message. It does not start from
+ * the expected magic sequence byte[] { 'G', 'I', 'O', 'P' }.</td>
+ * </tr>
+ * <tr>
+ * <td>47430002</td>
+ * <td>1195573250</td>
+ * <td>2</td>
+ * <td>Header</td>
+ * <td>The unexpected IOException while reading or writing the GIOP message
+ * header or the subsequent request or response header</td>
+ * </tr>
+ * <tr>
+ * <td>47430003</td>
+ * <td>1195573251</td>
+ * <td>3</td>
+ * <td>EOF</td>
+ * <td>The data stream ended before reading all expected values from it. This
+ * usually means that the CORBA message is corrupted, but may also indicate that
+ * the server expects the remote method being invoked to have more or different
+ * parameters</td>
+ * </tr>
+ * <tr>
+ * <td>47430005</td>
+ * <td>1195573253</td>
+ * <td>5</td>
+ * <td>CDR</td>
+ * <td>The unexpected IOException while reading or writing the data via Commond
+ * Data Representation stream</td>
+ * </tr>
+ * <tr>
+ * <td>47430006</td>
+ * <td>1195573254 </td>
+ * <td>6</td>
+ * <td>Value</td>
+ * <td>The unexpected IOException while reading or writing the Value type.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>47430007 </td>
+ * <td>1195573255</td>
+ * <td>7</td>
+ * <td>Forwarding</td>
+ * <td>The unexpected IOException while handling request forwarding.</td>
+ * </tr>
+ * <tr>
+ * <td>47430008</td>
+ * <td>1195573256</td>
+ * <td>8</td>
+ * <td>Encapsulation </td>
+ * <td>The unexpected IOException while handling data encapsulation, tagged
+ * components, tagged profiles, etc.</td>
+ * </tr>
+ * <tr>
+ * <td>47430009</td>
+ * <td>1195573257</td>
+ * <td>9 </td>
+ * <td>Any</td>
+ * <td>The unexpected IOException while inserting or extracting data to/from
+ * the Any.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000a</td>
+ * <td>1195573258 </td>
+ * <td>10</td>
+ * <td>UserException</td>
+ * <td>The unexpected UserException in the context where it cannot be handled
+ * as such and must be converted to the SystemException. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000b</td>
+ * <td>1195573259</td>
+ * <td>11</td>
+ * <td>Inappropriate</td>
+ * <td>While the operation could formally be applied to the target, the OMG
+ * standard states that it is actually not applicable. For example, some CORBA
+ * objects like POA are always local and should not be passed to or returned
+ * from the remote side.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000c</td>
+ * <td>1195573260</td>
+ * <td>12</td>
+ * <td>Negative</td>
+ * <td>When reading data, it was discovered that size of the data structure
+ * like string, sequence or character is written as the negative number.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000e</td>
+ * <td>1195573262 </td>
+ * <td>14</td>
+ * <td>Graph</td>
+ * <td>Reference to non-existing node in the data grapth while reading the
+ * value types.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000f</td>
+ * <td>1195573263</td>
+ * <td>15</td>
+ * <td>Boxed</td>
+ * <td>Unexpected exception was thrown from the IDL type helper while handling
+ * the object of this type as a boxed value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430010</td>
+ * <td>1195573264</td>
+ * <td>16</td>
+ * <td>Instantiation</td>
+ * <td>Unable to instantiate an value type object while reading it from the
+ * stream.</td>
+ * </tr>
+ * <tr>
+ * <td>47430011</td>
+ * <td>1195573265</td>
+ * <td>17</td>
+ * <td>ValueHeaderTag</td>
+ * <td>The header tag of the value type being read from the CDR stream contains
+ * an unexpected value outside 0x7fffff00 .. 0x7fffffff and also not null and
+ * not an indirection.</td>
+ * </tr>
+ * <tr>
+ * <td>47430012</td>
+ * <td>1195573266</td>
+ * <td>18</td>
+ * <td>ValueHeaderFlags</td>
+ * <td>The header tag flags of the value type being read from the CDR stream
+ * make the invalid combination (for instance, 0x7fffff04).</td>
+ * </tr>
+ * <tr>
+ * <td>47430013</td>
+ * <td>1195573267</td>
+ * <td>19</td>
+ * <td>ClassCast</td>
+ * <td>The value type class, written on the wire, is not compatible with the
+ * expected class, passed as a parameter to the InputStream.read_value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430014</td>
+ * <td>1195573268</td>
+ * <td>20</td>
+ * <td>Offset</td>
+ * <td>Positive or otherwise invalid indirection offset when reading the data
+ * graph of the value type.</td>
+ * </tr>
+ * <tr>
+ * <td>47430015</td>
+ * <td>1195573269</td>
+ * <td>21</td>
+ * <td>Chunks</td>
+ * <td>Errors while reading the chunked value type.</td>
+ * </tr>
+ * <tr>
+ * <td>47430016</td>
+ * <td>1195573270</td>
+ * <td>22</td>
+ * <td>UnsupportedValue</td>
+ * <td>No means are provided to read or write this value type (not Streamable,
+ * not CustomMarshal, not Serializable, no factory, no helper.</td>
+ * </tr>
+ * <tr>
+ * <td>47430017</td>
+ * <td>1195573271</td>
+ * <td>23</td>
+ * <td>Factory</td>
+ * <td>The value factory, required for the operation being invoked, is not
+ * registered with this ORB.</td>
+ * </tr>
+ * <tr>
+ * <td>47430018</td>
+ * <td>1195573272</td>
+ * <td>24</td>
+ *
+ * <td>UnsupportedAddressing</td>
+ * <td>Unsupported object addressing method in GIOP request header.</td>
+ * </tr>
+ * <tr>
+ * <td>47430019</td>
+ * <td>1195573273</td>
+ * <td>25</td>
+ * <td>IOR</td>
+ * <td>Invalid object reference (IOR).</td>
+ * </tr>
+ * <tr>
+ * <td>4743001a</td>
+ * <td>1195573274</td>
+ * <td>26</td>
+ * <td>TargetConversion</td>
+ * <td>Problems with converting between stubs, ties, interfaces and
+ * implementations.</td>
+ *
+ * </tr>
+ * <tr>
+ * <td>4743001b</td>
+ * <td>1195573275</td>
+ * <td>27</td>
+ * <td>ValueFields</td>
+ * <td>Problems with reading or writing the fields of the value type object
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>4743001c</td>
+ * <td>1195573276</td>
+ * <td>28</td>
+ * <td>NonSerializable</td>
+ * <td>The instance of the value type, passed using RMI over IIOP, is not
+ * serializable</td>
+ * </tr>
+ * </table>
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class MARSHAL
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 7416408250336395546L;
+
+ /**
+ * Creates a MARSHAL with the default minor code of 0, completion state
+ * COMPLETED_NO and the given explaining message.
+ *
+ * @param message the explaining message.
+ */
+ public MARSHAL(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates MARSHAL with the default minor code of 0 and a completion state
+ * COMPLETED_NO.
+ */
+ public MARSHAL()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates a MARSHAL exception with the specified minor code and completion
+ * status.
+ *
+ * @param minor_code additional error code.
+ * @param is_completed the method completion status.
+ */
+ public MARSHAL(int minor_code, CompletionStatus is_completed)
+ {
+ super("", minor_code, is_completed);
+ }
+
+ /**
+ * Created MARSHAL exception, providing full information.
+ *
+ * @param reason explaining message.
+ * @param minor_code additional error code (the "minor").
+ * @param is_completed the method completion status.
+ */
+ public MARSHAL(String reason, int minor_code, CompletionStatus is_completed)
+ {
+ super(reason, minor_code, is_completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* NO_IMPLEMENT.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that while the operation being invoked does exists, no
+ * implementation for it exists.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_IMPLEMENT
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 3519190655657192112L;
+
+ /**
+ * Creates a NO_IMPLEMENT with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public NO_IMPLEMENT(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates NO_IMPLEMENT with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public NO_IMPLEMENT()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a NO_IMPLEMENT exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public NO_IMPLEMENT(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created NO_IMPLEMENT exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public NO_IMPLEMENT(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* NO_MEMORY.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server has runned out of memory.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_MEMORY
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -4591569617929689285L;
+
+ /**
+ * Creates a NO_MEMORY with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public NO_MEMORY(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates NO_MEMORY with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public NO_MEMORY()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a NO_MEMORY exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public NO_MEMORY(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created NO_MEMORY exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public NO_MEMORY(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* NO_PERMISSION.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the caller has no rights to invoke the operation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_PERMISSION
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -1533969523582458479L;
+
+ /**
+ * Creates a NO_PERMISSION with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public NO_PERMISSION(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates NO_PERMISSION with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public NO_PERMISSION()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a NO_PERMISSION exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public NO_PERMISSION(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created NO_PERMISSION exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public NO_PERMISSION(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,131 @@
+/* NO_RESOURCES.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the ORB has reached some general resource limitation like maximal
+ * number of the opened connections.
+ *
+ * In GNU Classpath, this exception may have the following minor codes:
+ *
+ * <table border="1">
+ * <tr>
+ * <td>Hex</td>
+ * <td>Dec</td>
+ * <td>Minor</td>
+ * <td>Name</td>
+ * <td>Case</td>
+ * </tr>
+ * <tr>
+ * <td>47430014</td>
+ * <td>1195573268</td>
+ * <td>20</td>
+ * <td>Ports</td>
+ * <td>No more free ports available for the new objects. The port control, if
+ * turned on, prevents malicios client from knocking the server out by suddenly
+ * requiring to allocate a very large number of objects.</td>
+ * </tr>
+ * <tr>
+ * <td>47430015</td>
+ * <td>1195573269</td>
+ * <td>21</td>
+ * <td>Threads</td>
+ * <td> Too many parallel calls (too many parallel threads). The thread control,
+ * if turned on, prevents malicios client from knocking the server out by
+ * suddenly submitting a very large number of requests. </td>
+ * </tr>
+ * </table>
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class NO_RESOURCES
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 8129246118235803597L;
+
+ /**
+ * Creates a NO_RESOURCES with the default minor code of 0, completion state
+ * COMPLETED_NO and the given explaining message.
+ *
+ * @param message the explaining message.
+ */
+ public NO_RESOURCES(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates NO_RESOURCES with the default minor code of 0 and a completion
+ * state COMPLETED_NO.
+ */
+ public NO_RESOURCES()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates a NO_RESOURCES exception with the specified minor code and
+ * completion status.
+ *
+ * @param a_minor additional error code.
+ * @param a_completed the method completion status.
+ */
+ public NO_RESOURCES(int a_minor, CompletionStatus a_completed)
+ {
+ super("", a_minor, a_completed);
+ }
+
+ /**
+ * Created NO_RESOURCES exception, providing full information.
+ *
+ * @param a_reason explaining message.
+ * @param a_minor additional error code (the "minor").
+ * @param a_completed the method completion status.
+ */
+ public NO_RESOURCES(String a_reason, int a_minor, CompletionStatus a_completed)
+ {
+ super(a_reason, a_minor, a_completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* NO_RESPONSE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the client attempts to retrieve the result that is not
+ * yet available.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_RESPONSE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 1971973765161647047L;
+
+ /**
+ * Creates a NO_RESPONSE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public NO_RESPONSE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates NO_RESPONSE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public NO_RESPONSE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a NO_RESPONSE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public NO_RESPONSE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created NO_RESPONSE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public NO_RESPONSE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,117 @@
+/* NVList.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Bounds;
+import org.omg.CORBA.NamedValue;
+
+/**
+ * The named value list, used to define the parameters in the
+ * {@link org.omg.CORBA.Request}. This class is also
+ * used to hold the values of {@link Context}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class NVList
+{
+ /**
+ * Create and add a new named value object with null name,
+ * null value and having given flags.
+ * @param a_flags the flags, the normally expected values are
+ * {@link org.omg.CORBA.ARG_IN#value},
+ * {@link org.omg.CORBA.ARG_OUT#value} and
+ * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+ *
+ * @return the created and added value.
+ */
+ public abstract NamedValue add(int a_flags);
+
+ /**
+ * Create and add the new named value object with the given
+ * names, given flags and the null value.
+ * @param a_name the name
+ * @param a_flags the flags, the normally expected values are
+ * {@link org.omg.CORBA.ARG_IN#value},
+ * {@link org.omg.CORBA.ARG_OUT#value} and
+ * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+ *
+ * @return the created and added value.
+ */
+ public abstract NamedValue add_item(String a_name, int a_flags);
+
+ /**
+ * Create and add the named value object with the given name,
+ * value and flags.
+ * @param a_name the name
+ * @param a_value the value
+ * @param a_flags the flags, the normally expected values are
+ * {@link org.omg.CORBA.ARG_IN#value},
+ * {@link org.omg.CORBA.ARG_OUT#value} and
+ * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+ *
+ * @return the created object.
+ */
+ public abstract NamedValue add_value(String a_name, Any a_value, int a_flags);
+
+ /**
+ * Get the number of the present named value pairs.
+ *
+ * @return the number of objects in the list.
+ */
+ public abstract int count();
+
+ /**
+ * Get the item at the given index
+ * @param at the index.
+ *
+ * @return the item at the index
+ * @throws Bounds if the index is out of bounds.
+ */
+ public abstract NamedValue item(int at)
+ throws Bounds;
+
+ /**
+ * Remove the item at the given index
+ * @param at the index
+ * @throws Bounds if the index is out of bounds.
+ */
+ public abstract void remove(int at)
+ throws Bounds;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,90 @@
+/* NameValuePair.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Holds the value, having the given name(id). This class is used by
+ * with {@link DynStruct} to name the fields of the record (structure).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class NameValuePair
+ implements Serializable, IDLEntity
+{
+ /**
+ * The value of the structure record.
+ */
+ public Any value;
+
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 7000741877654946223L;
+
+ /**
+ * The name of the structure record.
+ */
+ public String id;
+
+ /**
+ * Cretes an unitialised instance of the name-value pair.
+ */
+ public NameValuePair()
+ {
+ }
+
+ /**
+ * Creates the name-value pair, initialising the fields to the passed
+ * values.
+ *
+ * @param an_id the name (also called id) of the name-value pair, normally
+ * the name of the structure field.
+ *
+ * @param a_value the value of the name-value pair.
+ */
+ public NameValuePair(String an_id, Any a_value)
+ {
+ id = an_id;
+ value = a_value;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,137 @@
+/* NameValuePairHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.DynAn.NameValuePairHolder;
+import gnu.CORBA.typecodes.AliasTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.StringTypeCode;
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * The helper operations for {@link NameValuePair}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class NameValuePairHelper
+{
+ /**
+ * The {@link NameValuePair} repository id,
+ * 'IDL:omg.org/CORBA/NameValuePair:1.0'.
+ */
+ private static String _id = "IDL:omg.org/CORBA/NameValuePair:1.0";
+
+ /**
+ * Extract the NameValuePair from the given {@link Any}.
+ */
+ public static NameValuePair extract(Any a)
+ {
+ try
+ {
+ return ((NameValuePairHolder) a.extract_Streamable()).value;
+ }
+ catch (ClassCastException ex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("NameValuePair expected");
+ bad.minor = Minor.Any;
+ throw bad;
+ }
+ }
+
+ /**
+ * Return the NameValuePair repository id.
+ */
+ public static String id()
+ {
+ return _id;
+ }
+
+ /**
+ * Insert the NameValuePair into the given {@link Any}.
+ */
+ public static void insert(Any a, NameValuePair that)
+ {
+ a.insert_Streamable(new NameValuePairHolder(that));
+ }
+
+ /**
+ * Read the NameValuePair from the given CDR stream. First reads the
+ * name (id) as string, then the value as {@link Any}.
+ */
+ public static NameValuePair read(InputStream istream)
+ {
+ NameValuePair p = new NameValuePair();
+ p.id = istream.read_string();
+ p.value = istream.read_any();
+ return p;
+ }
+
+ /**
+ * Create the type code for the name value pair.
+ */
+ public static TypeCode type()
+ {
+ StructMember[] members = new StructMember[2];
+
+ TypeCode t_id = new AliasTypeCode(new StringTypeCode(TCKind.tk_string), "",
+ "id");
+
+ members[0] = new StructMember("id", t_id, null);
+
+ members[1] = new StructMember("value",
+ new PrimitiveTypeCode(TCKind.tk_any), null);
+
+ return OrbRestricted.Singleton.create_struct_tc(id(), "NameValuePair",
+ members);
+ }
+
+ /**
+ * Write the exception to the CDR output stream. First writes the
+ * name (id), then the value as {@link Any}.
+ */
+ public static void write(OutputStream ostream, NameValuePair value)
+ {
+ ostream.write_string(value.id);
+ ostream.write_any(value.value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,71 @@
+/* NamedValue.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * The class is used to describe a call parameter, having name,
+ * value and the passing mode flags ({@link ARG_IN}, {@link ARG_OUT} or
+ * {@link ARG_INOUT}. The same class is also used in {@link Context} to
+ * pass the property names and values. This class is normally created by
+ * {@link ORB#create_named_value(String, Any, int)}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class NamedValue
+{
+ /**
+ * Get the parameter flags.
+ * @return normally one of ({@link ARG_IN}, {@link ARG_OUT} or
+ * {@link ARG_INOUT}).
+ */
+ public abstract int flags();
+
+ /**
+ * Get the name of this parameter.
+ * @return the name of this instance.
+ */
+ public abstract String name();
+
+ /**
+ * Get the value of this parameter. The parameter value is wrapped into
+ * the instance of {@link Any}.
+ *
+ * @return the value of this parameter.
+ */
+ public abstract Any value();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,95 @@
+/* OBJECT_NOT_EXIST.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means an attempt to perform some operation on a deleted object.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OBJECT_NOT_EXIST
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = 7226958015420512389L;
+
+ /**
+ * Creates a OBJECT_NOT_EXIST with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public OBJECT_NOT_EXIST(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates OBJECT_NOT_EXIST with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public OBJECT_NOT_EXIST()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a OBJECT_NOT_EXIST exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public OBJECT_NOT_EXIST(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created OBJECT_NOT_EXIST exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public OBJECT_NOT_EXIST(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* OBJ_ADAPTER.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * This exception typically indicates an administrative mismatch.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OBJ_ADAPTER
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -1516541344234786928L;
+
+ /**
+ * Creates a OBJ_ADAPTER with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public OBJ_ADAPTER(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates OBJ_ADAPTER with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public OBJ_ADAPTER()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a OBJ_ADAPTER exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public OBJ_ADAPTER(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created OBJ_ADAPTER exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public OBJ_ADAPTER(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,72 @@
+/* OMGVMCID.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+ This file is part of GNU Classpath.
+
+ GNU Classpath is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU Classpath is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Classpath; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA.
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * </p>
+ * The higher 20 bits of any CORBA exception hold "Vendor Minor Codeset ID"
+ * (VMCID), for instance 0x4F4D0000 (OMG standard), 0x54410000 (TAO), 0x4A430000
+ * (JacORB), 0x49540000 (IONA), 0x53550000 (Sun).
+ * </p>
+ * <p>
+ * GNU Classpath official vendor minor code set id is 0x47430000 ("GC\x00\x00"),
+ * and the reserved space spans till 0x47430FFF, allowing to use up to 4096
+ * Classpath specific exceptions. It was assigned 30/09/2005 by OMG Vice President
+ * Andrew Watson.
+ * </p>
+ * <p>
+ * The standard minor codes for the standard system exceptions are prefaced by
+ * the VMCID assigned to OMG, defined as 0x4F4D0000 (the code of the minor field
+ * for the standard exception with minor code 1 is 0x4F4D0001). Within a vendor
+ * assigned space, the assignment of values to minor codes is left to the
+ * vendor.
+ * </p>
+ *
+ * <p>
+ * The VMCID 0 and 0xFFFFF0000 are reserved for experimental use.
+ * </p>
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface OMGVMCID
+{
+ /**
+ * The OMG vendor minor code ID.
+ */
+ int value = 0x4F4D0000;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,1241 @@
+/* ORB.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbFocused;
+import gnu.CORBA.ObjectCreator;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.gnuContext;
+import gnu.CORBA.typecodes.FixedTypeCode;
+import gnu.CORBA.typecodes.GeneralTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+import gnu.CORBA.typecodes.RecursiveTypeCode;
+
+import org.omg.CORBA.ORBPackage.InconsistentTypeCode;
+import org.omg.PortableInterceptor.ObjectReferenceTemplate;
+
+import java.applet.Applet;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import java.util.Properties;
+
+/**
+ * A central class in CORBA implementation, responsible for sending and handling
+ * remote invocations. ORB also works as a factory for creating instances of
+ * certain CORBA classes.
+ *
+ * Despite the core library contains the fully working CORBA implementation, it
+ * also provides a simple way to plug-in the alternative CORBA support. This is
+ * done by replacing the ORB. The alternative ORB can be specified via
+ * properties, passed to ORB.Init(...).
+ *
+ * When creating an ORB instance, the class name is searched in the following
+ * locations:
+ * <p>
+ * 1. Applet parameter or application string array, if any.<br>
+ * 2. The properties parameter, if any.<br>
+ * 3. The System properties.<br>
+ * 4. The orb.properties file located in the user.home directory (if any).<br>
+ * 5. The orb.properties file located in the java.home/lib directory (if any).
+ * </p>
+ *
+ * The supported properties are: <table border="1">
+ * <tr>
+ * <td> org.omg.CORBA.ORBClass</td>
+ * <td>The class, implementing the functional ORB, returned by
+ * {@link #init(Applet, Properties)} or {@link #init(String[], Properties)}
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBSingletonClass</td>
+ * <td>The class, implementing the restricted ORB, returned by {@link #init()}.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBInitRef</td>
+ * <td>Specifies the initial reference, accessible by name with the method
+ * {@link #resolve_initial_references(String)}.</td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBid</td>
+ * <td>Specifies the name (ORB Id) of this ORB. The ORB Id is later accessible
+ * by {@link ObjectReferenceTemplate#orb_id}. The default value includes the
+ * hashcode of the ORB instance that is normally different for each ORB.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ServerId</td>
+ * <td>Specifies the name (Server Id) of this server. This property assigns
+ * value to the <i>static</i> field, ensuring that all ORB's on the same jre
+ * have the same Server Id. It is normally set as the system property. The
+ * server Id is later accessible as {@link ObjectReferenceTemplate#server_id}.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>gnu.CORBA.ListenerPort</td>
+ * <td>Specifies that this ORB should serve all its objects on a single port
+ * (for example, "1234") or on a specified port range (for example,
+ * "1100-1108"). The property is used when working with firewals and serves as a
+ * replacement for the proprietary properties like com.ibm.CORBA.ListenerPort
+ * or com.sun.CORBA.POA.ORBPersistentServerPort. The specified port or range
+ * should not overlap with the values, specified for other ORB's.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>gnu.Corba.SocketFactory</td>
+ * <td>Sets the user-defined server and client socket factory for the ORB being
+ * currently instantiated. Serves as a replacement of the proprietary
+ * property com.sun.CORBA.connection.ORBSocketFactoryClass. To have multiple
+ * types of sockets, instantiate several ORB's with this property each time
+ * set to the different value.
+ * The factory must implement gnu.CORBA.interfaces.SocketFactory.
+ * </td>
+ * </tr>
+ * </table>
+ * <p>The command line accepts the same properties as a keys. When
+ * specifying in the command line, the prefix org.omg.CORBA can be omitted, for
+ * instance<code> -ORBInitRef NameService=IOR:aabbccdd....</code>
+ * </p>
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class ORB
+{
+ /**
+ * By default, {@link #init(String[], Properties)} and
+ * {@link #iinit(Applet, Properties)} return
+ * the built-in fully functional ORB is returned. If the
+ * <code>props</code> contains the property org.omg.CORBA.ORBClass,
+ * the value of this property is used as a class name to instantiate
+ * a user-defined ORB.
+ */
+ private static final String FUNCTIONAL_ORB = "org.omg.CORBA.ORBClass";
+
+ /**
+ * The name of the restricted ORB property.
+ */
+ private static final String RESTRICTED_ORB =
+ "org.omg.CORBA.ORBSingletonClass";
+
+ private static final String LISTENER_PORT =
+ OrbFocused.LISTENER_PORT;
+
+ /**
+ * The class, implementing the default fully functional ORB.
+ */
+ private static final String DEFAULT_FUNCTIONAL_ORB =
+ gnu.CORBA.Poa.ORB_1_4.class.getName();
+
+ private static final String DEFAULT_FOCUSED_ORB =
+ gnu.CORBA.OrbFocused.class.getName();
+
+ // There is no need for name of the default restricted ORB as it is
+ // singleton and it is more effectively referred directly.
+
+ /**
+ * Connect the given CORBA object to this ORB. After the object is
+ * connected, it starts receiving remote invocations via this ORB.
+ *
+ * The OMG group recommends to use Portable Object Adapter (POA) instead
+ * of calling this method.
+ *
+ * This method is implemented in the derived Gnu Classpah classes,
+ * returned by ORB.init(..). In this abstract class, the implementation
+ * just throws {@link NO_IMPLEMENT}.
+ *
+ * @param object the org.omg.CORBA.Object to connect.
+ */
+ public void connect(org.omg.CORBA.Object object)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Disconnect the given CORBA object from this ORB. The object will be
+ * no longer receiving the remote invocations. In response to the
+ * remote invocation on this object, the ORB will send the
+ * exception {@link OBJECT_NOT_EXIST}. The object, however, is not
+ * destroyed and can receive the local invocations.
+ *
+ * This method is implemented in the derived Gnu Classpah classes,
+ * returned by ORB.init(..). In this abstract class, the implementation
+ * just throws {@link NO_IMPLEMENT}.
+ *
+ * @param object the object to disconnect.
+ */
+ public void disconnect(org.omg.CORBA.Object object)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Create alias typecode for the given typecode.
+ */
+ public abstract TypeCode create_alias_tc(String id, String name,
+ TypeCode typecode
+ );
+
+ /**
+ * Create an instance of the CORBA {@link Any} with the type, intialised
+ * to {@link TCKind#tk_null}
+ */
+ public abstract Any create_any();
+
+ /**
+ * Create a typecode, defining an array of the given elements.
+ *
+ * @param length the size of array
+ * @param element_type the array component type.
+ *
+ * @return the corresponding typecode.
+ */
+ public abstract TypeCode create_array_tc(int length, TypeCode element_type);
+
+ /**
+ * Creates an empty CORBA <code>ContextList</code>.
+ *
+ * @return the newly created context list.
+ */
+ public abstract ContextList create_context_list();
+
+ /**
+ * The support for {@link DynAny} and derived interfaces
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynAny} and derived interfaces
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynAny create_dyn_any(org.omg.CORBA.Any a)
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynArray}
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynArray create_dyn_array(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynEnum}
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynEnum create_dyn_enum(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynSequence}
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynStruct} and derived interfaces
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynStruct create_dyn_struct(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * The support for {@link DynUnion} and derived interfaces
+ * has never been implemented in Sun's java releases,
+ * at least till v1.4 inclusive.
+ *
+ * Since v1.4 this stil missing implementation was replaced
+ * by the new DynamicAny package.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public DynUnion create_dyn_union(org.omg.CORBA.TypeCode t)
+ throws InconsistentTypeCode
+ {
+ throw new NO_IMPLEMENT();
+ }
+ ;
+
+ /**
+ * Create a typecode, defining the given enumeration.
+ *
+ * @param id the id.
+ * @param name the name.
+ * @param members the memebers
+ * @return the created enumeration.
+ */
+ public abstract TypeCode create_enum_tc(String id, String name,
+ String[] members
+ );
+
+ /**
+ * Create an environment (container for exceptions).
+ *
+ * @return the created container.
+ */
+ public abstract Environment create_environment();
+
+ /**
+ * Creates an empty exception list.
+ *
+ * @return the newly created list.
+ */
+ public abstract ExceptionList create_exception_list();
+
+ /**
+ * Create the exception typecode.
+ *
+ * @param id the id of exception.
+ * @param name the name of exception.
+ * @param members the members of exception.
+ */
+ public abstract TypeCode create_exception_tc(String id, String name,
+ StructMember[] members
+ );
+
+ /**
+ * Creates a TypeCode object for CORBA <code>fixed</code> that is
+ * mapped to java {@link java.math.BigDecimal}.
+ *
+ * @param digits the number of digits in that <code>fixed</code>.
+ * @param scale the number of digits after the decimal point.
+ *
+ * @return the corresponding TypeCode.
+ */
+ public TypeCode create_fixed_tc(short digits, short scale)
+ {
+ FixedTypeCode r = new FixedTypeCode();
+ r.setDigits(digits);
+ r.setScale(scale);
+ return r;
+ }
+
+ /**
+ * Creates a typecode, representing the IDL interface.
+ *
+ * @param id the interface repository id.
+ * @param name the interface name.
+ *
+ * @return the created typecode.
+ */
+ public abstract TypeCode create_interface_tc(String id, String name);
+
+ /**
+ * Create an instance of a new {@link NVList}.
+ *
+ * @param count the initial size of the list. If more elements are added,
+ * the list automatically expands.
+ *
+ * @return the created list.
+ */
+ public abstract NVList create_list(int count);
+
+ /**
+ * Create a new named value.
+ *
+ * @param name the name of the named value
+ * @param any the content of the named value.
+ * @param flags the flags of the named value
+ *
+ * @return the named value.
+ */
+ public abstract NamedValue create_named_value(String name, Any any, int flags);
+
+ /**
+ * Send multiple prepared requests one way, do not caring about the answer.
+ * The messages, containing requests, will be marked, indicating that
+ * the sender is not expecting to get a reply.
+ *
+ * @param requests the prepared array of requests.
+ *
+ * @see Request#send_oneway()
+ */
+ public abstract void send_multiple_requests_oneway(Request[] requests);
+
+ /**
+ * Send multiple prepared requests expecting to get a reply. All requests
+ * are send in parallel, each in its own separate thread. When the
+ * reply arrives, it is stored in the agreed fields of the corresponing
+ * request data structure. If this method is called repeatedly,
+ * the new requests are added to the set of the currently sent requests,
+ * but the old set is not discarded.
+ *
+ * @param requests the prepared array of requests.
+ *
+ * @see #poll_next_response()
+ * @see #get_next_response()
+ * @see Request#send_deferred()
+ */
+ public abstract void send_multiple_requests_deferred(Request[] requests);
+
+ /**
+ * Find if any of the requests that have been previously sent with
+ * {@link #send_multiple_requests_deferred}, have a response yet.
+ *
+ * @return true if there is at least one response to the previously
+ * sent request, false otherwise.
+ */
+ public abstract boolean poll_next_response();
+
+ /**
+ * Get the next instance with a response being received. If all currently
+ * sent responses not yet processed, this method pauses till at least one of
+ * them is complete. If there are no requests currently sent, the method
+ * pauses till some request is submitted and the response is received.
+ * This strategy is identical to the one accepted by Suns 1.4 ORB
+ * implementation.
+ *
+ * @return the previously sent request that now contains the received
+ * response.
+ *
+ * @throws WrongTransaction If the method was called from the transaction
+ * scope different than the one, used to send the request. The exception
+ * can be raised only if the request is implicitly associated with some
+ * particular transaction.
+ */
+ public abstract Request get_next_response()
+ throws WrongTransaction;
+
+ /**
+ * Create a new CDR output stream, where the parameter values can be written
+ * during the method invocation.
+ *
+ * @return a stream to write values into.
+ */
+ public abstract org.omg.CORBA.portable.OutputStream create_output_stream();
+
+ /**
+ * This should create the list, initialised with the argument descriptions
+ * for the given operation definition (CORBA <code>OperationDef</code>).
+ * The information should be obtained from the interface repository.
+ * However this method is oficially documented as not implemented at least
+ * till v1.4 inclusive.
+ *
+ * @param operation_definition the operation definition, must be
+ * CORBA <code>OperationDef</code>.
+ *
+ * @return never
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public NVList create_operation_list(Object operation_definition)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * <p>Creates the new policy of the specified type, having the given value.
+ * This method looks for the policy factory that was previously registered
+ * during ORB initialization by
+ * {@link org.omg.PortableInterceptor#ORBInitialiser}.
+ *
+ * If the suitable factory is found, this factory creates the requested policy,
+ * otherwise the PolicyError is thrown.
+ * </p><p>
+ * The POA policies should be created by POA, not by this method.
+ * </p>
+ * @param type the policy type.
+ * @param value the policy value, wrapped into Any.
+ *
+ * @throws PolicyError if the ORB fails to instantiate the policy object.
+ *
+ * @throws NO_IMPLEMENT always (in this class). Overridden in derived classes
+ * returned by ORB.init(..).
+ *
+ * @see org.omg.PortableInterceptor.ORBInitInfoOperations#register_policy_factory
+ * @see org.omg.PortableInterceptor.PolicyFactoryOperations
+ */
+ public Policy create_policy(int type, Any value)
+ throws PolicyError
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Create typecode, defining the sequence of the elements, having
+ * the given type.
+ *
+ * @param bound the maximal length of the sequence, 0 if not restricted.
+ *
+ * @param element_type the sequence element type.
+ *
+ * @return the typecode.
+ */
+ public abstract TypeCode create_sequence_tc(int bound, TypeCode element_type);
+
+ /**
+ * Create a TypeCode, representing the CORBA <code>string</code>.
+ *
+ * @param bound the maximal length of the string, 0 is unlimited.
+ *
+ * @return the corresponding string typecode.
+ */
+ public abstract TypeCode create_string_tc(int bound);
+
+ /**
+ * Create the typecode, defining the given IDL structure.
+ *
+ * The TypeCode object is initialized with the given id, name, and members.
+ * @param id the Id of this type.
+ * @param name the name of this type.
+ * @param members the member list.
+ *
+ * @return the typecode.
+ */
+ public abstract TypeCode create_struct_tc(String id, String name,
+ StructMember[] members
+ );
+
+ /**
+ * Create the typecode, defining the given IDL union.
+ *
+ * The TypeCode object is initialized with the given id, name, discriminator
+ * and members.
+ *
+ * @param id the Id of this type.
+ * @param name the name of this type.
+ * @param discriminator the union discriminator.
+ * @param members the member list.
+ *
+ * @return the typecode.
+ */
+ public abstract TypeCode create_union_tc(String id, String name,
+ TypeCode discriminator,
+ UnionMember[] members
+ );
+
+ /**
+ * Create a TypeCode, representing the CORBA <code>wstring</code>.
+ *
+ * @param bound the maximal length of the string, 0 is unlimited.
+ *
+ * @return the corresponding string typecode.
+ */
+ public abstract TypeCode create_wstring_tc(int bound);
+
+ /**
+ * Create a typecode for an abstract interface. The abstract interface
+ * can be either CORBA object or CORBA value type.
+ *
+ * @param id the id of the abstract interface.
+ * @param name the name of the abstract interface.
+ *
+ * @return the created typecode.
+ */
+ public TypeCode create_abstract_interface_tc(String id, String name)
+ {
+ GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_abstract_interface);
+ t.setName(name);
+ t.setId(id);
+ return t;
+ }
+
+ /**
+ * Create a typecode for a native interface.
+ *
+ * @param id the id of the native interface.
+ * @param name the name of the native interface.
+ *
+ * @return the created typecode.
+ */
+ public TypeCode create_native_tc(String id, String name)
+ {
+ GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_native);
+ t.setName(name);
+ t.setId(id);
+ return t;
+ }
+
+ /**
+ * Create a typecode, representing a tree-like structure.
+ * This structure contains a member that is a sequence of the same type,
+ * as the structure itself. You can imagine as if the folder definition
+ * contains a variable-length array of the enclosed (nested) folder
+ * definitions. In this way, it is possible to have a tree like
+ * structure that can be transferred via CORBA CDR stream.
+ *
+ * @deprecated It is easier and clearler to use a combination of
+ * create_recursive_tc and create_sequence_tc instead.
+ *
+ * @param bound the maximal expected number of the nested components
+ * on each node; 0 if not limited.
+ *
+ * @param offset the position of the field in the returned structure
+ * that contains the sequence of the structures of the same field.
+ * The members before this field are intialised using parameterless
+ * StructMember constructor.
+ *
+ * @return a typecode, defining a stucture, where a member at the
+ * <code>offset</code> position defines an array of the identical
+ * structures.
+ *
+ * @see #create_recursive_tc(String)
+ * @see #create_sequence_tc(int, TypeCode)
+ */
+ public abstract TypeCode create_recursive_sequence_tc(int bound, int offset);
+
+ /**
+ * Create a typecode which serves as a placeholder for typcode, containing
+ * recursion.
+ *
+ * @param id the id of the recursive typecode, for that this typecode
+ * serves as a placeholder.
+ */
+ public TypeCode create_recursive_tc(String id)
+ {
+ return new RecursiveTypeCode(id);
+ }
+
+ /**
+ * Create value box typecode.
+ */
+ public TypeCode create_value_box_tc(String id, String name,
+ TypeCode boxed_type
+ )
+ {
+ GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_value_box);
+ t.setName(name);
+ t.setId(id);
+ t.setContentType(boxed_type);
+ return t;
+ }
+
+ /**
+ * Create IDL value type code.
+ */
+ public TypeCode create_value_tc(String id, String name, short type_modifier,
+ TypeCode concrete_base, ValueMember[] members
+ )
+ {
+ RecordTypeCode r = new RecordTypeCode(TCKind.tk_value);
+ r.setId(id);
+ r.setName(name);
+ r.setTypeModifier(type_modifier);
+ r.setConcreteBase_type(concrete_base);
+
+ for (int i = 0; i < members.length; i++)
+ {
+ r.add(members [ i ]);
+ }
+
+ return r;
+ }
+
+ /**
+ * This should return the information, related to the current thread.
+ * The information is needed, for instance, to get the current object
+ * from the code that serves several objects in parallel threads.
+ * The {@link Current} is very general interface, with no fields and
+ * operations defined. This method is not implemented in Suns
+ * releases at least till v1.5 inclusive. To obtain the
+ * {@link org.omg.PortableServer.Current}, use
+ * {@link #resolve_initial_references}, passing "POACurrent".
+ *
+ * @deprecated since 1.2, use {@link #resolve_initial_references}.
+ *
+ * @return never
+ *
+ * @throws NO_IMPLEMENT always.
+ */
+ public Current get_current()
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This should return the information about the CORBA facilities and
+ * services, available from this ORB. However this method is oficially
+ * documented as not implemented at least till v1.5 inclusive.
+ *
+ * @param service_type a type of the service being requested. The OMG
+ * specification currently defines only one value, 1, for security
+ * related services.
+ *
+ * @param service_info a holder, where the returned information should
+ * be stored.
+ *
+ * @return should return true if the service information is available
+ * from the ORB, but this method never returns.
+ *
+ * @throws NO_IMPLEMENT always.
+ */
+ public boolean get_service_information(short service_type,
+ ServiceInformationHolder service_info
+ )
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Get the default context of this ORB. This is an initial root of all
+ * contexts.
+ *
+ * The default method returns a new context with the empty name and
+ * no parent context.
+ *
+ * @return the default context of this ORB.
+ *
+ * @throws NO_IMPLEMENT for the Singleton ORB, returned by
+ * the parameterless {@link #init()}.
+ */
+ public abstract Context get_default_context();
+
+ /**
+ * Return thg typecode, representing the given primitive object type.
+ *
+ * @param tcKind the kind of the primitive typecode.
+ *
+ * @return the typecode of the primitve typecode.
+ */
+ public abstract TypeCode get_primitive_tc(TCKind tcKind);
+
+ /**
+ * Returns so-called Singleton ORB, a highly restricted version
+ * that cannot communicate over network. This ORB is provided
+ * for the potentially malicious applets with heavy security restrictions.
+ *
+ * The returned Singleton ORB can only create typecodes,
+ * {@link Any}, {@link ContextList}, {@link NVList} and
+ * {@link org.omg.CORBA.portable.OutputStream} that writes to an
+ * internal buffer.
+ *
+ * All other methods throw the {@link NO_IMPLEMENT} exception, additionally
+ * printing the error message about the potential attempt to violate
+ * the security rules.
+ *
+ * The implementing ORB class, used in this method, is found as described
+ * in the header.
+ *
+ * @return the working derivative of ORB, implementing the methods
+ * of this abstract class.
+ */
+ public static ORB init()
+ {
+ String orb_cn = getCumulatedProperty(null, RESTRICTED_ORB);
+ if (orb_cn == null)
+ return OrbRestricted.Singleton;
+ else
+ return createORB(null, orb_cn);
+ }
+
+ /**
+ * Creates the working instance of ORB for an applet.
+ *
+ * By default the built-in fully functional ORB is returned. The ORB class
+ * is found as described in the header of this class.
+ *
+ * @param applet the applet. The property org.omg.CORBA.ORBClass,
+ * if present, defines the used ORB implementation class. If this
+ * property is not present, the ORB class is found as described in the
+ * class header.
+ *
+ * @param props the properties, may be <code>null</code>.
+ *
+ * @return a newly created functional derivative of this abstract class.
+ */
+ public static ORB init(Applet applet, Properties props)
+ {
+ String ocn = applet.getParameter(FUNCTIONAL_ORB);
+ String lp = applet.getParameter(LISTENER_PORT);
+
+ if (ocn==null && lp!=null)
+ ocn = DEFAULT_FOCUSED_ORB;
+
+ ORB orb = createORB(props, ocn);
+ orb.set_parameters(applet, props);
+
+ return orb;
+ }
+
+ /**
+ * Creates the working instance of ORB for a standalone application.
+ *
+ * By default the built-in fully functional ORB is returned. The ORB class is
+ * found as described in the header of this class.
+ *
+ * @param args the parameters, passed to the applications
+ * <code>main(String[] args)</code> method, may be <code>null</code>. The
+ * parameter -org.omg.CORBA.ORBClass <class name> if present, defines the used
+ * ORB implementation class. If this property is not present, the ORB class is
+ * found as described in the class header.
+ *
+ * @param props application specific properties, may be <code>null</code>.
+ *
+ * @return a newly created functional derivative of this abstract class.
+ */
+ public static ORB init(String[] args, Properties props)
+ {
+ String ocn = null;
+ String lp = null;
+
+ String orbKey = "-" + FUNCTIONAL_ORB;
+ String lpKey = "-" + LISTENER_PORT;
+
+ if (args != null)
+ if (args.length >= 2)
+ {
+ for (int i = 0; i < args.length - 1; i++)
+ {
+ if (args[i].equals(orbKey))
+ ocn = args[i + 1];
+ if (args[i].equals(lpKey))
+ lp = args[i + 1];
+ }
+ }
+
+ if (lp != null && ocn == null)
+ ocn = DEFAULT_FOCUSED_ORB;
+
+ ORB orb = createORB(props, ocn);
+
+ orb.set_parameters(args, props);
+ return orb;
+ }
+
+ /**
+ * List the initially available CORBA objects (services).
+ *
+ * @return a list of services.
+ *
+ * @see #resolve_initial_references(String)
+ */
+ public abstract String[] list_initial_services();
+
+ /**
+ * Find and return the easily accessible CORBA object, addressed
+ * by name. The returned object is typically casted to the more
+ * specific reference using the <code>narrow(Object)</code> method
+ * of its helper. The method resolves the following string values,
+ * returning the working objects:
+ * <table border="1"><tr><th>String</th><th>Object class</th>
+ * <th>Object use</th></tr>
+ *
+ * <tr><td>NameService</td><td>{@link org.omg.CosNaming.NamingContextExt}</td>
+ * <td>Finds (usually remote) object by its name.</td></tr>
+ *
+ * <tr><td>RootPOA</td><td>{@link org.omg.PortableServer.POA}</td>
+ * <td>Holds the POA tree for this ORB, where since 1.4 all servants
+ * should be connected.</td></tr>
+ *
+ * <tr><td>RootPOAManager</td><td>{@link org.omg.PortableServer.POAManager}
+ * </td><td>Regulates (suspends/resumes) the root POA
+ * activity</td></tr>
+ *
+ * <tr><td>POACurrent</td><td>{@link org.omg.PortableServer.Current}
+ * </td><td>Informs the current thread about the Id and POA of the
+ * object being currently served (the methods of
+ * <code>Current</code> return different values for
+ * different threads).
+ * </td></tr>
+ *
+ * <tr><td>CodecFactory</td><td>{@link org.omg.IOP.Codec}</td>
+ * <td>Encodes/decodes IDL data types into/from byte arrays.</td>
+ * </tr>
+ *
+ * <tr><td>DynAnyFactory</td><td>{@link org.omg.DynamicAny.DynAnyFactory}</td>
+ * <td>Creates DynAny's.</td>
+ * </tr>
+ *
+ * <tr><td>PICurrent</td><td>{@link org.omg.PortableInterceptor.Current}</td>
+ * <td>Contains multiple slots where an interceptor can rememeber the
+ * request - specific values between subsequent
+ * calls of the interceptor methods.</td>
+ * </tr>
+ *
+ * </table>
+ *
+ * @param name the object name.
+ * @return the object
+ * @throws org.omg.CORBA.ORBPackage.InvalidName if the given name
+ * is not associated with the known object.
+ */
+ public abstract Object resolve_initial_references(String name)
+ throws org.omg.CORBA.ORBPackage.InvalidName;
+
+ /**
+ * Get the IOR reference string for the given object.
+ * IOR can be compared with the Internet address for a web page,
+ * it provides means to locate the CORBA service on the web.
+ * IOR contains the host address, port number, the object identifier
+ * (key) inside the server, the communication protocol version,
+ * supported charsets and so on.
+ *
+ * @param forObject the CORBA object
+ * @return the object IOR representation.
+ * @see #string_to_object(String)
+ */
+ public abstract String object_to_string(Object forObject);
+
+ /**
+ * This should perform the implementation dependent unit of work in the
+ * main thread.
+ *
+ * This method is part of the support for the distribute use of the
+ * single execution thread.
+ *
+ * Same as in Suns releases at least till 1.4 inclusive,
+ * the distribute use of the single thread is not implemented.
+ * Use multiple threads, provided by jre.
+ *
+ * The method returns without action.
+ */
+ public void perform_work()
+ {
+ }
+
+ /**
+ * Checks if the ORB needs the main thread to perform some work.
+ * The method should return true if the ORB needs the main thread,
+ * and false if it does not.
+ *
+ * This method is part of the support for the distribute use of the
+ * single execution thread.
+ *
+ * Same as in Suns releases at least till 1.4 inclusive,
+ * the distributed use of the single thread is not implemented.
+ * Use multiple threads, provided by jre.
+ *
+ * @return false, always.
+ */
+ public boolean work_pending()
+ {
+ return false;
+ }
+
+ /**
+ * <p>Find and return the CORBA object, addressed by the given
+ * string representation. The object can be (an usually is)
+ * located on a remote computer, possibly running a different
+ * (not necessary java) CORBA implementation. The returned
+ * object is typically casted to the more specific reference
+ * using the <code>narrow(Object)</code> method of its helper.
+ * </p><p>
+ * This function supports the following input formats:<br>
+ * 1. IOR reference (<b>ior:</b>nnnnn ..), usually computer generated.<br>
+ * 2. <b>corbaloc:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>/</b><i>key</i>
+ * defines similar information as IOR reference, but is more human readable.
+ * This type of reference may also contain multiple addresses (see
+ * OMG documentation for complete format).<br>
+ * 3. <b>corbaloc:rir:/</b><i>name</i> defines internal reference on this
+ * ORB that is resolved using {@link #resolve_initial_references}, passing
+ * the given <i>name</i> as parameter.<br>
+ * 4. <b>corbaname:rir:#</b><i>name</i> states that the given <i>name</i>
+ * must be resolved using the naming service, default for this ORB.<br>
+ * 5. <b>corbaname:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>#</b><i>name</i>
+ * states that the <i>name</i> must be resolved using the naming service
+ * that runs on the given host at the given port. The ORB expects to find
+ * there the {@link org.omg.CosNaming.NamingContext} under the key
+ * "NameService.<br>
+ * 7. file://[file name] Read the object definition string from the
+ * file system<br>
+ * 8. http://[url] Read the object definition string from the provided
+ * url.<br>
+ * 9. ftp://[url] Read the object definition string from the provided
+ * url.<br>
+ *
+ * <p>The default port is always 2809. The default iiop version is 1.0
+ * that now may not always be supported, so we would recommend to specify
+ * the version explicitly.</p>
+ * <p>
+ * The examples of the corbaloc and corbaname addresses:<br>
+ * corbaname:rir:#xobj - ask local naming service for "xobj".<br>
+ * corbaname:rir:/NameService#xobj - same (long form).<br>
+ * corbaname:iiop:1.2 at localhost:900#xobj - same, assuming that the naming
+ * service runs at port 900 on the local host and supports iiop 1.2.<br>
+ * corbaname:iiop:localhost#xobj - same, assuming that the naming
+ * service runs at port 2809 on the local host and supports iiop 1.0.<br>
+ * corbaloc::gnu.xxx.yy/Prod/TradingService - the object exists on the
+ * host gnu.xxx.yy, port 2809 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.0.<br>
+ * corbaloc::gnu.xxx.yy/Prod/TradingService:801 - the object exists on the
+ * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.0 (iiop keyword ommitted).<br>
+ * corbaloc:iiop:1.1 at gnu.xxx.yy/Prod/TradingService - the object exists on the
+ * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB
+ * supports iiop 1.1.<br>
+ * corbaloc:rir:/NameService - the default naming service.
+ *
+ * @param IOR the object IOR representation string.
+ *
+ * @return the found CORBA object.
+ *
+ * @throws BAD_PARAM if the string being parsed is invalid.
+ * @throws DATA_CONVERSION if the string being parsed contains unsupported
+ * prefix or protocol.
+ *
+ * @see #object_to_string(org.omg.CORBA.Object)
+ */
+ public abstract Object string_to_object(String IOR);
+
+ /**
+ * Start listening on the input socket. This method
+ * blocks the current thread until {@link #shutdown(boolean)}
+ * is called and shutdown process is completed.
+ */
+ public void run()
+ {
+ }
+
+ /**
+ * Shutdown the ORB server.
+ *
+ * @param wait_for_completion if true, the current thread is
+ * suspended untile the shutdown process is complete.
+ */
+ public void shutdown(boolean wait_for_completion)
+ {
+ }
+
+ /**
+ * Destroy this server, releasing the occupied resources.
+ * The default method returns without action.
+ */
+ public void destroy()
+ {
+ }
+
+ /**
+ * Set the ORB parameters. This method is normally called from
+ * {@link #init(String[], Properties)}.
+ *
+ * @param para the parameters, that were passed as the parameters
+ * to the <code>main(String[] args)</code> method of the current standalone
+ * application.
+ *
+ * @param props application specific properties that were passed
+ * as a second parameter in {@link #init(String[], Properties)}).
+ * Can be <code>null</code>.
+ */
+ protected abstract void set_parameters(String[] para, Properties props);
+
+ /**
+ * Set the ORB parameters. This method is normally called from
+ * {@link #init(Applet, Properties)}.
+ *
+ * @param app the current applet.
+ *
+ * @param props application specific properties, passed as the second
+ * parameter in {@link #init(Applet, Properties)}.
+ * Can be <code>null</code>.
+ */
+ protected abstract void set_parameters(Applet app, Properties props);
+
+ /**
+ * Get the property with the given name, searching in the standard
+ * places for the ORB properties.
+ */
+ private static String getCumulatedProperty(Properties props, String property)
+ {
+ String orb_cn = null;
+
+ if (props != null)
+ orb_cn = props.getProperty(property, null);
+
+ if (orb_cn == null)
+ orb_cn = System.getProperty(property, null);
+
+ if (orb_cn == null)
+ orb_cn = checkFile(property, "user.home", null);
+
+ if (orb_cn == null)
+ orb_cn = checkFile(property, "java.home", "lib");
+
+ return orb_cn;
+ }
+
+ /**
+ * Check if the property is defined in the existsting file orb.properties.
+ *
+ * @param property the property
+ * @param dir the system property, defining the folder where the
+ * file could be expected.
+ * @param subdir subfolder where to look for the file.
+ *
+ * @return the property value, null if not found or file does not exist.
+ */
+ private static String checkFile(String property, String dir, String subdir)
+ {
+ try
+ {
+ File f = new File(dir);
+ if (!f.exists())
+ return null;
+
+ if (subdir != null)
+ f = new File(f, subdir);
+
+ f = new File(f, "orb.properties");
+
+ if (!f.exists())
+ return null;
+
+ Properties p = new Properties();
+ p.load(new BufferedInputStream(new FileInputStream(f)));
+
+ return p.getProperty(property, null);
+ }
+ catch (IOException ex)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Create ORB when its name is possibly known.
+ *
+ * @param props properties, possibly containing the ORB name.
+ * @param orbClassName the direct ORB class name, overriding other possible
+ * locations, or null if not specified.
+ */
+ private static ORB createORB(Properties props, String orbClassName)
+ {
+ ORB orb = null;
+
+ if (orbClassName == null)
+ {
+ orbClassName = getCumulatedProperty(props, FUNCTIONAL_ORB);
+
+ if (orbClassName == null)
+ {
+ String lp = getCumulatedProperty(props, LISTENER_PORT);
+ if (lp != null)
+ orbClassName = DEFAULT_FOCUSED_ORB;
+ else
+ orbClassName = DEFAULT_FUNCTIONAL_ORB;
+ }
+ }
+
+ try
+ {
+ orb = (ORB) ObjectCreator.forName(orbClassName).newInstance();
+ }
+ catch (ClassNotFoundException ex)
+ {
+ noORB(orbClassName, ex);
+ }
+ catch (IllegalAccessException ex)
+ {
+ noORB(orbClassName, ex);
+ }
+ catch (InstantiationException ex)
+ {
+ noORB(orbClassName, ex);
+ }
+
+ return orb;
+ }
+
+ /**
+ * Throw the runtime exception.
+ *
+ * @param orb_c the ORB class name.
+ * @param why the explaining chained exception.
+ */
+ private static void noORB(String orb_c, Throwable why)
+ {
+ throw new RuntimeException("The ORB " + orb_c + " cannot be instantiated.",
+ why
+ );
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* InconsistentTypeCode.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.ORBPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The exception is thrown
+ * in response of the attempt to create the dynamic
+ * with an unmatching type code.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InconsistentTypeCode
+ extends UserException
+ implements IDLEntity, Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ * Using the version 1.4 UID.
+ */
+ private static final long serialVersionUID = -4393472660722667060L;
+
+ /**
+ * Constructs a the exception.
+ */
+ public InconsistentTypeCode()
+ {
+ }
+
+ /**
+ * Constructs the exception, explaining the reason of throwing it.
+ * @param reason a string, explaining, why the exception has been thrown.
+ */
+ public InconsistentTypeCode(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* InvalidName.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.ORBPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The exception is thrown by
+ * {@link org.omg.CORBA.ORB#resolve_initial_references(String)}
+ * in response of passing a name for
+ * which there is no initial reference.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidName
+ extends UserException
+ implements IDLEntity, Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ * Using the version 1.4 UID.
+ */
+ private static final long serialVersionUID = 6635923991559230168L;
+
+ /**
+ * Constructs a the exception.
+ */
+ public InvalidName()
+ {
+ }
+
+ /**
+ * Constructs the exception, explaining the reason of throwing it.
+ * @param reason a string, explaining, why the exception has been thrown.
+ */
+ public InvalidName(String reason)
+ {
+ super(reason);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html Thu Nov 8 16:56:19 2007
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.sql package.
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA.ORBPackage</title></head>
+
+<body>
+<p>Provides a couple of exceptions, thrown by methods in the {@link org.omg.CORBA.ORB} class.</p>
+
+</body>
+</html>
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,191 @@
+/* Object.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * The CORBA object reference. The object can be either local or remote.
+ * For the local object, the methods of the derived object are called
+ * like on any other java object. For the remote object, the reference
+ * points to the stup (proxy), responsible for the remote invocation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface Object
+{
+ /**
+ * Create a request to invoke the method of this object.
+ *
+ * @param context a list of additional properties.
+ * @param operation the name of method to be invoked.
+ * @param parameters the method parameters.
+ * @param returns the container for tge method returned value.
+ *
+ * @return the created reaquest.
+ */
+ Request _create_request(Context context, String operation, NVList parameters,
+ NamedValue returns
+ );
+
+ /**
+ * Create a request to invoke the method of this object, specifying
+ * context list and the list of the expected exception.
+ *
+ * @param context a list of additional properties.
+ * @param operation the name of method to be invoked.
+ * @param parameters the method parameters.
+ * @param returns the container for tge method returned value.
+ * @param exceptions the list of the possible exceptions that the method
+ * can throw.
+ * @param ctx_list the list of the context strings that need to be
+ * resolved and send as a context instance.
+ *
+ * @return the created reaquest.
+ */
+ Request _create_request(Context context, String operation, NVList parameters,
+ NamedValue returns, ExceptionList exceptions,
+ ContextList ctx_list
+ );
+
+ /**
+ * Duplicate the object reference. This does not make much sense for
+ * java platform and is just included for the sake of compliance with
+ * CORBA APIs.
+ *
+ * The method may return the object reference itself.
+ *
+ * @return as a rule, <code>this</code>.
+ */
+ org.omg.CORBA.Object _duplicate();
+
+ /**
+ * Retrieve the domain managers for this object.
+ *
+ * @return the domain managers.
+ */
+ DomainManager[] _get_domain_managers();
+
+ /**
+ * Get the <code>InterfaceDef</code> for this Object.
+ */
+ org.omg.CORBA.Object _get_interface_def();
+
+ /**
+ * Returns the {@link Policy}, applying to this object.
+ *
+ * @param a_policy_type a type of policy to be obtained.
+ * @return a corresponding Policy object.
+ *
+ * @throws BAD_PARAM if the policy of the given type is not
+ * associated with this object, or if it is not supported by this ORB.
+ */
+ Policy _get_policy(int a_policy_type)
+ throws BAD_PARAM;
+
+ /**
+ * Get the hashcode this object reference. The same hashcode still
+ * does not means that the references are the same. From the other
+ * side, two different references may still refer to the same CORBA
+ * object. The returned value must not change during the object
+ * lifetime.
+ *
+ * @param maximum the maximal value to return.
+ *
+ * @return the hashcode.
+ */
+ int _hash(int maximum);
+
+ /**
+ * Check if this object can be referenced by the given repository id.
+ *
+ * @param repositoryIdentifer the repository id.
+ *
+ * @return true if the passed parameter is a repository id of this
+ * CORBA object.
+ */
+ boolean _is_a(String repositoryIdentifer);
+
+ /**
+ * Return true if the other object references are equivalent, so far as
+ * it is possible to determine this easily.
+ *
+ * @param other the other object reference.
+ *
+ * @return true if both references refer the same object, false
+ * if they probably can refer different objects.
+ */
+ boolean _is_equivalent(org.omg.CORBA.Object other);
+
+ /**
+ * Determines if the server object for this reference has already
+ * been destroyed.
+ *
+ * @return true if the object has been destroyed, false otherwise.
+ */
+ boolean _non_existent();
+
+ /**
+ * Free resoureces, occupied by this reference. The object implementation
+ * is not notified, and the other references to the same object are not
+ * affected.
+ */
+ void _release();
+
+ /**
+ * Create a request to invoke the method of this CORBA object.
+ *
+ * @param operation the name of the method to invoke.
+ *
+ * @return the request.
+ */
+ Request _request(String operation);
+
+ /**
+ * Returns a new object with the new policies either replacing or
+ * extending the current policies, depending on the second parameter.
+ *
+ * @param policies the policy additions or replacements.
+ *
+ * @param how either {@link SetOverrideType#SET_OVERRIDE} to override the
+ * current policies of {@link SetOverrideType#ADD_OVERRIDE} to replace
+ * them.
+ *
+ * @return the new reference with the changed policies.
+ */
+ Object _set_policy_override(Policy[] policies, SetOverrideType how);
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,112 @@
+/* ObjectHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * The helper operations for the binding list.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ObjectHelper
+{
+ /**
+ * Extract the array of object from the given {@link Any}.
+ */
+ public static org.omg.CORBA.Object extract(Any a)
+ {
+ try
+ {
+ return ((ObjectHolder) a.extract_Streamable()).value;
+ }
+ catch (ClassCastException ex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("CORBA object expected");
+ bad.minor = Minor.Any;
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the object repository id.
+ * @return the empty string.
+ */
+ public static String id()
+ {
+ return "";
+ }
+
+ /**
+ * Insert the object into the given {@link Any}.
+ */
+ public static void insert(Any a, org.omg.CORBA.Object object)
+ {
+ a.insert_Streamable(new ObjectHolder(object));
+ }
+
+ /**
+ * Read the object from the given CDR input stream.
+ */
+ public static org.omg.CORBA.Object read(InputStream istream)
+ {
+ return istream.read_Object();
+ }
+
+ /**
+ * Return the object type code.
+ */
+ public static TypeCode type()
+ {
+ return OrbRestricted.Singleton.get_primitive_tc(TCKind.tk_objref);
+ }
+
+ /**
+ * Write the object into the given CDR output stream.
+ */
+ public static void write(OutputStream ostream, org.omg.CORBA.Object value)
+ {
+ ostream.write_Object(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,134 @@
+/* ObjectHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>Object</code> that is mapped into
+ * java <code>org.omg.CORBA.Object</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ObjectHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder if the object type code with
+ * the zero length string as id.
+ */
+ private static final RecordTypeCode t_object;
+
+ static
+ {
+ t_object = new RecordTypeCode(TCKind.tk_objref);
+ t_object.setId("");
+ }
+
+ /**
+ * The <code>org.omg.CORBA.Object</code> (CORBA <code>Object</code>) value,
+ * held by this ObjectHolder.
+ */
+ public org.omg.CORBA.Object value;
+
+ /**
+ * Constructs an instance of ObjectHolder,
+ * initializing {@link #value} to <code>0</code>.
+ */
+ public ObjectHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of ObjectHolder,
+ * initializing {@link #value} to the given <code>org.omg.CORBA.Object</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public ObjectHolder(org.omg.CORBA.Object initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For <code>org.omg.CORBA.Object</code>, the
+ * functionality is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_Object}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_Object();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return ObjectHelper.type();
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For <code>Object</code>, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_Object(Object) }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_Object(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* OctetSeqHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>byte</code>
+ * (<code>OctetSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class OctetSeqHelper
+{
+ /**
+ * Extract the <code>byte[]</code> from the
+ * given {@link Any}. This implementation expects the
+ * {@link Any} to hold the instance of {@link OctetSeqHolder}
+ * that is returned by {@link Any#extract_Streamable() }.
+ *
+ * @param a an Any to extract the array from.
+ *
+ * @return the extracted array.
+ *
+ * @throws ClassCastException if the Any contains something other than the
+ * the {@link OctetSeqHolder}.
+ */
+ public static byte[] extract(Any a)
+ {
+ OctetSeqHolder h = (OctetSeqHolder) a.extract_Streamable();
+ return h.value;
+ }
+
+ /**
+ * Returns the agreed Id, delegating functionality to
+ * the {@link #type()}.id().
+ */
+ public static String id()
+ {
+ try
+ {
+ return type().id();
+ }
+ catch (BadKind ex)
+ {
+ // Should never happen under correct work.
+ throw new Error("Please report this bug.", ex);
+ }
+ }
+
+ /**
+ * Insert into the given <code>byte[]</code> into the
+ * given {@link Any}. This implementation first creates
+ * a {@link OctetSeqHolder} and then calls
+ * {@link Any#insert_Streamable(Streamable)}.
+ *
+ * @param into the target Any.
+ * @param that the array to insert.
+ */
+ public static void insert(Any into, byte[] that)
+ {
+ OctetSeqHolder holder = new OctetSeqHolder(that);
+ into.insert_Streamable(holder);
+ }
+
+ /**
+ * Reads the <code>byte[]</code> from the CORBA input stream.
+ *
+ * @param input the CORBA (not java.io) stream to read from.
+ * @return the value from the stream.
+ */
+ public static byte[] read(InputStream input)
+ {
+ byte[] value = new byte[ input.read_long() ];
+ input.read_octet_array(value, 0, value.length);
+ return value;
+ }
+
+ /**
+ * Creates and returns a new instance of the TypeCode,
+ * corresponding the CORBA <code>OctetSeq</code>.
+ * The length of the sequence is left with the initial
+ * value 0.
+ */
+ public static TypeCode type()
+ {
+ return new ArrayTypeCode(TCKind.tk_octet);
+ }
+
+ /**
+ * Writes the <code>byte[]</code> into the given stream.
+ *
+ * @param output the CORBA (not java.io) output stream to write.
+ * @param value the value that must be written.
+ */
+ public static void write(OutputStream output, byte[] value)
+ {
+ output.write_long(value.length);
+ output.write_octet_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* OctetSeqHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>OctetSeq</code> that is mapped into
+ * java <code>byte[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OctetSeqHolder
+ implements Streamable
+{
+ /**
+ * The <code>byte[]</code> (CORBA <code>OctetSeq</code>) value,
+ * held by this OctetSeqHolder.
+ */
+ public byte[] value;
+
+ /**
+ * The type code for this holder. Each holder has a different instance.
+ */
+ private final ArrayTypeCode typecode =
+ new ArrayTypeCode(TCKind.tk_octet);
+
+ /**
+ * Constructs an instance of OctetSeqHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public OctetSeqHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of OctetSeqHolder,
+ * initializing {@link #value} to the given <code>byte[]</code>.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public OctetSeqHolder(byte[] initial_value)
+ {
+ value = initial_value;
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. This method first reads the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.InputStream#read_octet_array }.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = new byte[ input.read_long() ];
+ input.read_octet_array(value, 0, value.length);
+ typecode.setLength(value.length);
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return typecode;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * This method first writes the array size
+ * (as CORBA <code>long</code>) and then calls the
+ * {@link org.omg.CORBA.portable.OutputStream#write_octet_array }.
+ *
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_long(value.length);
+ output.write_octet_array(value, 0, value.length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* PERSIST_STORE.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Indicates a persistent storage failure like database crash.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class PERSIST_STORE
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID for interoperability.
+ */
+ private static final long serialVersionUID = -6835478548864681965L;
+
+ /**
+ * Creates a PERSIST_STORE with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public PERSIST_STORE(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates PERSIST_STORE with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public PERSIST_STORE()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a PERSIST_STORE exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public PERSIST_STORE(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created PERSIST_STORE exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public PERSIST_STORE(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* PRIVATE_MEMBER.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * One of the two constants, defining the visibility scope of
+ * the {@link ValueMember}. The other constant is
+ * {@link PUBLIC_MEMBER}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see ValueMember#access
+ */
+public interface PRIVATE_MEMBER
+{
+ /**
+ * The flag, specifying that the value member is private.
+ */
+ short value = 0;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* PUBLIC_MEMBER.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * One of the two constants, defining the visibility scope of
+ * the {@link ValueMember}. The other constant is
+ * {@link PRIVATE_MEMBER}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see ValueMember#access
+ */
+public interface PUBLIC_MEMBER
+{
+ /**
+ * The flag, specifying that the value member is public.
+ */
+ short value = 1;
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* ParameterMode.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Defines the parameter modes (the ways in that a method parameter
+ * is used during invocation).
+ *
+ * In CORBA, a method parameter can pass the value (PARAM_IN),
+ * be used as a placeholder to return the value (PARAM_OUT) or
+ * both pass the data and be used as a placeholder to return the
+ * changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class ParameterMode
+ implements Serializable, IDLEntity
+{
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = 1521598391932998229L;
+
+ /**
+ * This value means that the parameter is an IN parameter.
+ */
+ public static final int _PARAM_IN = 0;
+
+ /**
+ * This value means that the parameter is an OUT parameter.
+ */
+ public static final int _PARAM_OUT = 1;
+
+ /**
+ * This value means that the parameter is an INOUT parameter.
+ */
+ public static final int _PARAM_INOUT = 2;
+
+ /**
+ * This value means that the parameter is an IN parameter.
+ */
+ public static final ParameterMode PARAM_IN = new ParameterMode(_PARAM_IN);
+
+ /**
+ * This value means that the parameter is an OUT parameter.
+ */
+ public static final ParameterMode PARAM_OUT = new ParameterMode(_PARAM_OUT);
+
+ /**
+ * This value means that the parameter is an INOUT parameter.
+ */
+ public static final ParameterMode PARAM_INOUT = new ParameterMode(_PARAM_INOUT);
+
+ /**
+ * The value of this parameter mode instance.
+ */
+ private final int value;
+
+ /**
+ * The conversion table.
+ */
+ private static final ParameterMode[] table =
+ new ParameterMode[] { PARAM_IN, PARAM_OUT, PARAM_INOUT };
+
+ /**
+ * Create an instance of the parameter mode with the given value.
+ */
+ protected ParameterMode(int a_value)
+ {
+ value = a_value;
+ }
+
+ /**
+ * Return the integer value code for the given parameter mode.
+ *
+ * @return 0 for PARAM_IN, 1 for PARAM_OUT, 3 for PARAM_INOUT.
+ */
+ public int value()
+ {
+ return value;
+ }
+
+ /**
+ * Get a parameter mode instance for the integer parameter mode code.
+ *
+ * @param p_mode a parameter mode (0..2).
+ *
+ * @return a corresponding parameter mode instance.
+ *
+ * @throws BAD_PARAM for the invalid parameter mode code.
+ */
+ public static ParameterMode from_int(int p_mode)
+ {
+ try
+ {
+ return table [ p_mode ];
+ }
+ catch (ArrayIndexOutOfBoundsException ex)
+ {
+ throw new BAD_PARAM("Invalid parameter mode: " + p_mode);
+ }
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* ParameterModeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for a method parameter modes.
+ * A method parameter can pass the value (PARAM_IN), be used as a placeholder
+ * to return the value (PARAM_OUT) or both pass the data and be used as a
+ * placeholder to return the changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ParameterModeHelper
+{
+ /**
+ * Insert the parameter mode into the given Any.
+ */
+ public static void insert(Any any, ParameterMode that)
+ {
+ any.insert_Streamable(new ParameterModeHolder(that));
+ }
+
+ /**
+ * Extract the parameter mode from the given Any.
+ */
+ public static ParameterMode extract(Any any)
+ {
+ return ((ParameterModeHolder) any.extract_Streamable()).value;
+ }
+
+ /**
+ * Get the parameter mode typecode (enumeration, named "ParameterMode").
+ * The typecode states that the enumeration can obtain one of
+ * the following values: PARAM_IN ,PARAM_OUT ,PARAM_INOUT .
+ */
+ public static TypeCode type()
+ {
+ String[] members =
+ new String[] { "PARAM_IN", "PARAM_OUT", "PARAM_INOUT" };
+
+ return
+ OrbRestricted.Singleton.create_enum_tc(id(), "ParameterMode", members);
+ }
+
+ /**
+ * Get the parameter mode repository id.
+ *
+ * @return "IDL:omg.org/CORBA/ParameterMode:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/ParameterMode:1.0";
+ }
+
+ /**
+ * Read the enumeration value (as int) from the CDR intput stream.
+ *
+ * @param istream a stream to read from.
+ */
+ public static ParameterMode read(InputStream istream)
+ {
+ return ParameterMode.from_int(istream.read_long());
+ }
+
+ /**
+ * Write the enumeration value (as int) to the CDR output stream.
+ *
+ * @param ostream a stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream ostream, ParameterMode value)
+ {
+ ostream.write_long(value.value());
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,93 @@
+/* ParameterModeHolder.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * The holder for ParameterMode.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ParameterModeHolder
+ implements org.omg.CORBA.portable.Streamable
+{
+ /**
+ * The stored ParameterMode value.
+ */
+ public ParameterMode value;
+
+ /**
+ * Create the uninitialised instance.
+ */
+ public ParameterModeHolder()
+ {
+ }
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue
+ */
+ public ParameterModeHolder(ParameterMode initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link #value} by data from the CDR stream.
+ */
+ public void _read(org.omg.CORBA.portable.InputStream in)
+ {
+ value = ParameterModeHelper.read(in);
+ }
+
+ /**
+ * Get the typecode of the ParameterMode.
+ */
+ public org.omg.CORBA.TypeCode _type()
+ {
+ return ParameterModeHelper.type();
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ */
+ public void _write(org.omg.CORBA.portable.OutputStream out)
+ {
+ ParameterModeHelper.write(out, value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* Policy.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The interfaces derived from the class allow an ORB or CORBA service
+ * access to certain choices (id assignment, threading model and so on)
+ * that affect they operation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface Policy
+ extends IDLEntity, Object, Serializable, PolicyOperations
+{
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,104 @@
+/* PolicyError.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * The exception is thrown when a policy error occurs.
+ * A PolicyError exception may include one of the following error reason codes:
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class PolicyError
+ extends UserException
+ implements IDLEntity, Serializable
+{
+ /**
+ * Holds the exception reason code, one of
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}.
+ */
+ public short reason;
+
+ /**
+ * Use serialVersionUID (v1.4) for interoperability.
+ */
+ private static final long serialVersionUID = -9196809779974700103L;
+
+ /**
+ * Constructs an uninitialised instance of the policy error.
+ */
+ public PolicyError()
+ {
+ }
+
+ /**
+ * Constructs the policy error with the given reason code.
+ * @param a_reason a reason code, one of
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}.
+ */
+ public PolicyError(short a_reason)
+ {
+ reason = a_reason;
+ }
+
+ /**
+ * Constructs the policy error with the given reason code and the
+ * detailed message.
+ * @param a_details the detailed message.
+ * @param a_reason a reason code, one of
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}.
+ */
+ public PolicyError(String a_details, short a_reason)
+ {
+ super(a_details);
+ reason = a_reason;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,115 @@
+/* PolicyErrorCodeHelper.java --
+Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the policy error code as an alias of
+ * <code>short</code>.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class PolicyErrorCodeHelper
+
+{
+
+ /**
+ * Delegates call to {@link Any.extract_short()}.
+ */
+ public static short extract(Any a)
+ {
+ return a.extract_short();
+ }
+
+ /**
+ * Returns policy error code repository id.
+ *
+ * @return "IDL:omg.org/CORBA/PolicyErrorCode:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/PolicyErrorCode:1.0";
+ }
+
+ /**
+ * Delegates call to {@link Any.insert_short(short)}.
+ */
+ public static void insert(Any a, short that)
+ {
+ a.insert_short(that);
+ }
+
+ /**
+ * Delegates call to {@link InputStream.read_short()}.
+ */
+ public static short read(InputStream istream)
+ {
+ return istream.read_short();
+ }
+
+ /**
+ * Returns a typecode of the policy error code, stating it is an alias of
+ * <code>short</code>, named "PolicyErrorCode".
+ *
+ * @return a typecode of synchronization scope.
+ */
+ public static TypeCode type()
+ {
+ RecordTypeCode r = new RecordTypeCode(TCKind.tk_alias);
+ r.setName("PolicyErrorCode");
+ r.setId(id());
+ r.setContentType(new PrimitiveTypeCode(TCKind.tk_short));
+ return r;
+ }
+
+ /**
+ * Delegates call to {@link OutputStream#write_short()}.
+ */
+ public static void write(OutputStream ostream, short value)
+ {
+ ostream.write_short(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,150 @@
+/* PolicyErrorHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the exception {@link PolicyError}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyErrorHelper
+{
+ /**
+ * Create the PolicyError typecode. The typecode defines a structure, named
+ * "PolicyError", containing the {@link PolicyErrorCode} (alias int) field,
+ * named "reason".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = OrbRestricted.Singleton;
+ StructMember[] members = new StructMember[ 1 ];
+
+ TypeCode field;
+
+ field =
+ orb.create_alias_tc("IDL:omg.org/CORBA/PolicyErrorCode:1.0",
+ "PolicyErrorCode", orb.get_primitive_tc(TCKind.tk_short)
+ );
+ members [ 0 ] = new StructMember("reason", field, null);
+ return orb.create_exception_tc(id(), "PolicyError", members);
+ }
+
+ /**
+ * Insert the PolicyError into the given Any.
+ * This method uses the PolicyErrorHolder.
+ *
+ * @param any the Any to insert into.
+ * @param that the PolicyError to insert.
+ */
+ public static void insert(Any any, PolicyError that)
+ {
+ any.insert_Streamable(new PolicyErrorHolder(that));
+ }
+
+ /**
+ * Extract the PolicyError from given Any.
+ * This method uses the PolicyErrorHolder.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain PolicyError.
+ */
+ public static PolicyError extract(Any any)
+ {
+ try
+ {
+ return ((PolicyErrorHolder) any.extract_Streamable()).value;
+ }
+ catch (ClassCastException cex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("PolicyError expected");
+ bad.minor = Minor.Any;
+ bad.initCause(cex);
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the PolicyError repository id.
+ *
+ * @return "IDL:omg.org/CORBA/PolicyError:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/PolicyError:1.0";
+ }
+
+ /**
+ * Read the exception from the CDR intput stream.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static PolicyError read(InputStream input)
+ {
+ // Read the exception repository id.
+ String id = input.read_string();
+ PolicyError value = new PolicyError();
+
+ value.reason = input.read_short();
+ return value;
+ }
+
+ /**
+ * Write the exception to the CDR output stream.
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream output, PolicyError value)
+ {
+ // Write the exception repository id.
+ output.write_string(id());
+ output.write_short(value.reason);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* PolicyErrorHolder.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the exception {@link PolicyError}.
+
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyErrorHolder implements Streamable
+{
+ /**
+ * The stored PolicyError value.
+ */
+ public PolicyError value;
+
+ /**
+ * Create the uninitialised instance, leaving the value field
+ * with default <code>null</code> value.
+ */
+ public PolicyErrorHolder()
+ {
+ }
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue the value that will be assigned to
+ * the <code>value</code> field.
+ */
+ public PolicyErrorHolder(PolicyError initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link #value} by data from the CDR stream.
+ *
+ * @param input the org.omg.CORBA.portable stream to read.
+ */
+ public void _read(InputStream input)
+ {
+ value = PolicyErrorHelper.read(input);
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ *
+ * @param output the org.omg.CORBA.portable stream to write.
+ */
+ public void _write(OutputStream output)
+ {
+ PolicyErrorHelper.write(output, value);
+ }
+
+ /**
+ * Get the typecode of the PolicyError.
+ */
+ public TypeCode _type()
+ {
+ return PolicyErrorHelper.type();
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,162 @@
+/* PolicyHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the
+* CORBA object {@link Policy}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyHelper
+{
+ /**
+ * Get the type code of the {@link Policy}.
+ *
+ * @return interface typecode, named "Policy".
+ */
+ public static TypeCode type()
+ {
+ return OrbRestricted.Singleton.create_interface_tc(id(), "Policy");
+ }
+
+ /**
+ * Insert the Policy into the given Any.
+ *
+ * @param any the Any to insert into.
+ * @param that the Policy to insert.
+ */
+ public static void insert(Any any, Policy that)
+ {
+ any.insert_Streamable(new PolicyHolder(that));
+ }
+
+ /**
+ * Extract the Policy from given Any.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain Policy.
+ */
+ public static Policy extract(Any any)
+ {
+ try
+ {
+ PolicyHolder h = (PolicyHolder) any.extract_Streamable();
+ return h.value;
+ }
+ catch (ClassCastException ex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("Policy expected");
+ bad.minor = Minor.Any;
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the Policy repository id.
+ *
+ * @return "IDL:omg.org/CORBA/Policy:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/Policy:1.0";
+ }
+
+ /**
+ * Cast the passed object into the Policy. If the
+ * object has a different java type, create an instance
+ * of the _PolicyStub, using the same delegate, as for
+ * the passed parameter. Hence, unlike java type cast,
+ * this method may return a different object, than has been passed.
+ *
+ * @param obj the object to narrow.
+ * @return narrowed instance.
+ * @throws BAD_PARAM if the passed object is not a Policy.
+ */
+ public static Policy narrow(org.omg.CORBA.Object obj)
+ {
+ if (obj == null)
+ return null;
+ else if (obj instanceof Policy)
+ return (Policy) obj;
+ else
+ {
+ // Check for the policy id cannot be performed because
+ // this helper must read various subclasses of the Policy,
+ // and the IOR profile currently supports only one id.
+
+ Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+ return new _PolicyStub(delegate);
+ }
+ }
+
+ /**
+ * Read the object from the CDR intput stream (IOR profile expected).
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static Policy read(InputStream input)
+ {
+ return narrow(input.read_Object());
+ }
+
+ /**
+ * Write the object to the CDR output stream (as IOR profile).
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream output, Policy value)
+ {
+ output.write_Object(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,106 @@
+/* PolicyHolder.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object {@link Policy}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyHolder
+ implements Streamable
+{
+ /**
+ * The stored Policy value.
+ */
+ public Policy value;
+
+ /**
+ * Create the uninitialised instance, leaving the value field
+ * with default <code>null</code> value.
+ */
+ public PolicyHolder()
+ {
+ }
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue the value that will be assigned to
+ * the <code>value</code> field.
+ */
+ public PolicyHolder(Policy initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link #value} by data from the CDR stream.
+ * Delegates work to {@link PolicyHelper}.
+ *
+ * @param input the org.omg.CORBA.portable stream to read.
+ */
+ public void _read(InputStream input)
+ {
+ value = PolicyHelper.read(input);
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ * Delegates work to {@link PolicyHelper}.
+ *
+ * @param output the org.omg.CORBA.portable stream to write.
+ */
+ public void _write(OutputStream output)
+ {
+ PolicyHelper.write(output, value);
+ }
+
+ /**
+ * Get the typecode of the Policy.
+ * Delegates work to {@link PolicyHelper}.
+ */
+ public org.omg.CORBA.TypeCode _type()
+ {
+ return PolicyHelper.type();
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,147 @@
+/* PolicyListHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the
+* CORBA object {@link Policy[]}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyListHelper
+{
+ /**
+ * Get the type code of the {@link Policy[]}.
+ */
+ public static TypeCode type()
+ {
+ return OrbRestricted.Singleton.create_interface_tc(id(), "Policy[]");
+ }
+
+ /**
+ * Insert the Policy[] into the given Any.
+ *
+ * @param any the Any to insert into.
+ * @param that the Policy[] to insert.
+ */
+ public static void insert(Any any, Policy[] that)
+ {
+ any.insert_Streamable(new PolicyListHolder(that));
+ }
+
+ /**
+ * Extract the Policy[] from given Any.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain Policy[].
+ */
+ public static Policy[] extract(Any any)
+ {
+ try
+ {
+ PolicyListHolder holds = (PolicyListHolder) any.extract_Streamable();
+ return holds.value;
+ }
+ catch (ClassCastException ex)
+ {
+ BAD_OPERATION bad = new BAD_OPERATION("Policy[] expected");
+ bad.minor = Minor.Any;
+ throw bad;
+ }
+ }
+
+ /**
+ * Get the Policy[] repository id.
+ *
+ * @return "IDL:omg.org/CORBA/PolicyList:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/PolicyList:1.0";
+ }
+
+ /**
+ * Read the sequence of policies from the CDR intput stream.
+ * The method follows usual CDR standards (an array length as
+ * CORBA long, followed by the array members, if any).
+ * The array members are read using {@link PolicyHelper}.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static Policy[] read(InputStream input)
+ {
+ Policy[] p = new Policy[ input.read_long() ];
+ for (int i = 0; i < p.length; i++)
+ {
+ p [ i ] = PolicyHelper.read(input);
+ }
+ return p;
+ }
+
+ /**
+ * Write the sequence of policies from the CDR intput stream.
+ * The method follows usual CDR standards (an array length as
+ * CORBA long, followed by the array members, if any).
+ * The array members are written using {@link PolicyHelper}.
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a policy array to write.
+ */
+ public static void write(OutputStream output, Policy[] value)
+ {
+ output.write_long(value.length);
+ for (int i = 0; i < value.length; i++)
+ {
+ PolicyHelper.write(output, value [ i ]);
+ }
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,106 @@
+/* PolicyListHolder.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object <code>Policy[]</code>.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyListHolder
+ implements Streamable
+{
+ /**
+ * The stored Policy[] value.
+ */
+ public Policy[] value;
+
+ /**
+ * Create the uninitialised instance, leaving the value field
+ * with default <code>null</code> value.
+ */
+ public PolicyListHolder()
+ {
+ }
+
+ /**
+ * Create the initialised instance.
+ * @param initialValue the value that will be assigned to
+ * the <code>value</code> field.
+ */
+ public PolicyListHolder(Policy[] initialValue)
+ {
+ value = initialValue;
+ }
+
+ /**
+ * Fill in the {@link #value} by data from the CDR stream.
+ * Uses {@link PolicyListHelper}.
+ *
+ * @param input the org.omg.CORBA.portable stream to read.
+ */
+ public void _read(InputStream input)
+ {
+ value = PolicyListHelper.read(input);
+ }
+
+ /**
+ * Write the stored value into the CDR stream.
+ * Uses {@link PolicyListHelper}.
+ *
+ * @param output the org.omg.CORBA.portable stream to write.
+ */
+ public void _write(OutputStream output)
+ {
+ PolicyListHelper.write(output, value);
+ }
+
+ /**
+ * Get the typecode of the Policy[].
+ * Uses {@link PolicyListHelper}.
+ */
+ public org.omg.CORBA.TypeCode _type()
+ {
+ return PolicyListHelper.type();
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,70 @@
+/* PolicyOperation.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Defines the operations that can be applied to the {@link Policy}
+ * object.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface PolicyOperations
+{
+ /**
+ * Return a copy of this Policy.
+ *
+ * @return a copy of theis Policy, without any retained relationships
+ * to the previous domain or object.
+ */
+ Policy copy();
+
+ /**
+ * Destroy the policy object.
+ */
+ void destroy();
+
+ /**
+ * Return an integer number, corresponding the type of this policy.
+ * The values, defining the different policy types, are allocated
+ * by OMG (request AT omg DOT org).
+ *
+ * @return the integer policy code.
+ */
+ int policy_type();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,124 @@
+/* PolicyTypeHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* A helper operations for the policy type. A policy type is an integer
+* constant and needs no helper, but the one is included to
+* to facilitate the automated code handling.
+*
+* @specnote In this implementation, this class is not in use. Its "logical"
+* place would be {@link ORB}, having the PolicyType type. These parameters
+* are declarded as <coe>int</code> in the ORB interface.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyTypeHelper
+{
+ /**
+ * Create the PolicyType typecode (alias of CORBA ulong, named "PolicyType".
+ */
+ public static TypeCode type()
+ {
+ ORB orb = OrbRestricted.Singleton;
+ return orb.create_alias_tc(id(), "PolicyType",
+ orb.get_primitive_tc(TCKind.tk_ulong)
+ );
+ }
+
+ /**
+ * Insert the int into the given Any.
+ */
+ public static void insert(Any any, int that)
+ {
+ any.insert_ulong(that);
+ }
+
+ /**
+ * Extract the int from given Any.
+ *
+ * @throws BAD_OPERATION if the passed Any does not contain int.
+ */
+ public static int extract(Any any)
+ {
+ return any.extract_ulong();
+ }
+
+ /**
+ * Get the int repository id.
+ *
+ * @return "IDL:omg.org/CORBA/PolicyType:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/PolicyType:1.0";
+ }
+
+ /**
+ * Read the int (policy type) from the CDR intput stream.
+ *
+ * @param input a org.omg.CORBA.portable stream to read from.
+ */
+ public static int read(InputStream input)
+ {
+ return input.read_ulong();
+ }
+
+ /**
+ * Write the int (policy type) to the CDR output stream.
+ *
+ * @param output a org.omg.CORBA.portable stream stream to write into.
+ * @param value a value to write.
+ */
+ public static void write(OutputStream output, int value)
+ {
+ output.write_ulong(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,89 @@
+/* Principal.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * This class was used to store the client identity in the past.
+ * The client identity is stored in the form of the <code>byte</code>
+ * array.
+ *
+ * @deprecated by CORBA 2.2.
+ *
+ * @author Audrius Meskauskas(AudriusA at Bioinformatics.org)
+ *
+ */
+public class Principal
+{
+ /**
+ * The field, holding the client identity.
+ */
+ private byte[] m_name;
+
+ /**
+ * @deprecated
+ */
+ public Principal()
+ {
+ }
+
+ /**
+ * Gets the name of the Principal.
+ *
+ * @deprecated by CORBA 2.2
+ *
+ * @return a name of the Pricipal.
+ */
+ public byte[] name()
+ {
+ /**@todo Override this org.omg.CORBA.Principal method*/
+ return m_name;
+ }
+
+ /**
+ * Sets the name of the Principal to the given value.
+ *
+ * @deprecated by CORBA 2.2
+ *
+ * @param a_name a value to set the name to.
+ */
+ public void name(byte[] a_name)
+ {
+ m_name = a_name;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,122 @@
+/* PrincipalHolder.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for storing an instance of {@link Principal}.
+ *
+ * @deprecated by CORBA 2.2.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class PrincipalHolder
+ implements Streamable
+{
+ /**
+ * The default type code for this holder.
+ */
+ private static final TypeCode t_any =
+ new PrimitiveTypeCode(TCKind.tk_Principal);
+
+ /**
+ * The instance of {@link Principal}, held by this holder.
+ */
+ public Principal value;
+
+ /**
+ * Constructs an instance of PrincipalHolder,
+ * initializing {@link #value} to <code>null</code>.
+ */
+ public PrincipalHolder()
+ {
+ }
+
+ /**
+ * Constructs an instance of PrincipalHolder,
+ * initializing {@link #value} to the passed parameter.
+ *
+ * @param initial_value a value that will be assigned to the
+ * {@link #value} field.
+ */
+ public PrincipalHolder(Principal initial_value)
+ {
+ value = initial_value;
+ }
+
+ /**
+ * Fill in the {@link value } field by reading the required data
+ * from the given stream. For {@link Principal}, the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.InputStream#read_Principal}.
+ *
+ * @param input the input stream to read from.
+ */
+ public void _read(InputStream input)
+ {
+ value = input.read_Principal();
+ }
+
+ /**
+ * Returns the TypeCode, corresponding the CORBA type that is stored
+ * using this holder.
+ */
+ public TypeCode _type()
+ {
+ return t_any;
+ }
+
+ /**
+ * Write the {@link value } field to the given stream.
+ * For {@link Principal} the functionality
+ * is delegated to
+ * {@link org.omg.CORBA.portable.OutputStream#write_Principal(Principal)}
+ * .
+ * @param output the output stream to write into.
+ */
+ public void _write(OutputStream output)
+ {
+ output.write_Principal(value);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* REBIND.java --
+ Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised on the failure of the requested or implied attempt to
+ * rebind an object reference.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class REBIND
+ extends SystemException
+ implements Serializable
+{
+ /**
+ * Use serialVersionUID (v1.5) for interoperability.
+ */
+ private static final long serialVersionUID = 823920851143467547L;
+
+ /**
+ * Creates REBIND with the default minor code of 0,
+ * completion state COMPLETED_NO and the given explaining message.
+ * @param message the explaining message.
+ */
+ public REBIND(String message)
+ {
+ super(message, 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /**
+ * Creates REBIND with the default minor code of 0 and a
+ * completion state COMPLETED_NO.
+ */
+ public REBIND()
+ {
+ super("", 0, CompletionStatus.COMPLETED_NO);
+ }
+
+ /** Creates a REBIND exception with the specified minor
+ * code and completion status.
+ * @param minor additional error code.
+ * @param completed the method completion status.
+ */
+ public REBIND(int minor, CompletionStatus completed)
+ {
+ super("", minor, completed);
+ }
+
+ /**
+ * Created REBIND exception, providing full information.
+ * @param reason explaining message.
+ * @param minor additional error code (the "minor").
+ * @param completed the method completion status.
+ */
+ public REBIND(String reason, int minor, CompletionStatus completed)
+ {
+ super(reason, minor, completed);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* RepositoryIdHelper.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Repository Id that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class RepositoryIdHelper
+{
+ /**
+ * Insert the Repository Id into Any (uses {@link Any.insert_string}).
+ *
+ * @param a the Any to insert into.
+ * @param that the string to insert.
+ */
+ public static void insert(Any a, String that)
+ {
+ a.insert_string(that);
+ }
+
+ /**
+ * Extract the Repository Id from Any ((uses {@link Any.extract_string}).
+ *
+ * @param a the Any to extract from.
+ */
+ public static String extract(Any a)
+ {
+ return a.extract_string();
+ }
+
+ /**
+ * Return an string alias typecode, named "RepositoryId"
+ */
+ public static TypeCode type()
+ {
+ ORB orb = OrbRestricted.Singleton;
+ return orb.create_alias_tc(id(), "RepositoryId", orb.create_string_tc(0));
+ }
+
+ /**
+ * Return the Repository Id repository id.
+ * @return "IDL:omg.org/CORBA/RepositoryId:1.0", always.
+ */
+ public static String id()
+ {
+ return "IDL:omg.org/CORBA/RepositoryId:1.0";
+ }
+
+ /**
+ * Calls {@link InputStream#read_string()}.
+ *
+ * @param istream the stream to read from.
+ */
+ public static String read(InputStream istream)
+ {
+ return istream.read_string();
+ }
+
+ /**
+ * Calls {@link OutputStream#write_string()}.
+ *
+ * @param ostream the stream to write into.
+ * @param value the string (Repository Id) value to write.
+ */
+ public static void write(OutputStream ostream, String value)
+ {
+ ostream.write_string(value);
+ }
+}
\ No newline at end of file
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,242 @@
+/* Request.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * An object, containing the information, needed to invoke the method of
+ * the local or remote CORBA object. The Request is used in
+ * Dynamic Invocation Interface (DII) which allows dynamic creation of
+ * requests.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Request
+{
+ /**
+ * Add the named input parameter that passes value to
+ * the method being invoked. This is similar to the "passing by value"
+ * conception.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_in_arg();
+
+ /**
+ * Add the input/output parameter that passes value both to and from
+ * the method being invoked. This is similar to the "passing by reference"
+ * conception.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_inout_arg();
+
+ /**
+ * Add the named input parameter that passes value to
+ * the method being invoked. This is similar to the "passing by value"
+ * conception.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @param name the parameter name.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_named_in_arg(String name);
+
+ /**
+ * Add the named input/output parameter that passes value both to and from
+ * the method being invoked. This is similar to the "passing by reference"
+ * conception.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @param name the parameter name.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_named_inout_arg(String name);
+
+ /**
+ * Add the named output parameter that passes value from
+ * the method being invoked. Differently from the java
+ * language, the CORBA IDL method can return multiple values.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @param name the parameter name.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_named_out_arg(String name);
+
+ /**
+ * Add the output parameter that passes value from
+ * the method being invoked. Differently from the java
+ * language, the CORBA IDL method can return multiple values.
+ *
+ * The created parameter is returned allowing to set the value.
+ *
+ * @return the created parameter.
+ */
+ public abstract Any add_out_arg();
+
+ /**
+ * Return the list of all previously added parameters.
+ *
+ * @return the list of parameters.
+ */
+ public abstract NVList arguments();
+
+ /**
+ * Get the context list object for this request.
+ *
+ * @return a list of strings that must be resolved and sent with the
+ * invocation.
+ */
+ public abstract ContextList contexts();
+
+ /**
+ * Get the context, previously set using {@link #cts(Context)}.
+ * The context contains the details about this request.
+ */
+ public abstract Context ctx();
+
+ /**
+ * Set the context that shuld be later returned by {@link #ctx()}.
+ * This context contains the details about this request.
+ *
+ * @param a_context a context to set.
+ */
+ public abstract void ctx(Context a_context);
+
+ /**
+ * Returns the container, eclosing an exception that the invoked method
+ * has thrown.
+ *
+ * @return the Environment object, containng the exception.
+ */
+ public abstract Environment env();
+
+ /**
+ * List the exceptions that may be thrown by the CORBA object method being
+ * invoked.
+ *
+ * @return the list of exceptions.
+ */
+ public abstract ExceptionList exceptions();
+
+ /**
+ * Allow to access the response that has been previously sent using
+ * {@link send_deferred()}.
+ *
+ * @throws WrongTransaction if the transaction scope mismatches.
+ */
+ public abstract void get_response()
+ throws WrongTransaction;
+
+ /**
+ * Submit the request, suspending the current thread until the
+ * answer is received.
+ */
+ public abstract void invoke();
+
+ /**
+ * Get the name of the method being invoked.
+ *
+ * @return the name of the method being invoked.
+ */
+ public abstract String operation();
+
+ /**
+ * Check if the response is received to the request that was
+ * previously send using {@link send_deferred()}.
+ *
+ * @return true if the response has been already received, false otherwise.
+ */
+ public abstract boolean poll_response();
+
+ /**
+ * Get the value, returned by the method, together with its name.
+ *
+ * @return the value, returned by the method.
+ */
+ public abstract NamedValue result();
+
+ /**
+ * Get the value, returned by the method.
+ *
+ * @return the value, returned by the method.
+ */
+ public abstract Any return_value();
+
+ /**
+ * Send a request without suspending the current thread.
+ *
+ * Allow later check of the request status by {@link #poll_response()} and
+ * retrieving the results by {@link #get_response()}.
+ */
+ public abstract void send_deferred();
+
+ /**
+ * Send a request and forget about it, not waiting for a response.
+ * This can be done also for methods that normally are expected
+ * to return some values.
+ */
+ public abstract void send_oneway();
+
+ /**
+ * Set the return type.
+ *
+ * @param returns the type of the value, returned in response to this
+ * request.
+ */
+ public abstract void set_return_type(TypeCode returns);
+
+ /**
+ * Return the CORBA object on that the method would be invoked.
+ *
+ * @return the invocation target.
+ */
+ public abstract org.omg.CORBA.Object target();
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,164 @@
+/* ServerRequest.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * This class was expected to be part of the dynamic skeleton interface,
+ * but it is almost never used in the code, generated by IDL to java compiler.
+ * The recent tendention is to skip the request step, reading the method
+ * arguments from the CDR input stream directly. The supplementing class
+ * {@link DynamicImplementation} has already been deprecated in java 1.2
+ * version.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ServerRequest
+{
+ /**
+ * Get the context information.
+ */
+ public abstract Context ctx();
+
+ /**
+ * Should return the name of the operation (method) being invoked.
+ * Following the 1.4 specification, it does not, and must be overridden to
+ * get functionality.
+ *
+ * @return the name of the operation being invoked. The object attribute
+ * access operations are called _get_<attribute_name>
+ * and _set_<attribute_name>.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public String operation()
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Should specify the method parameter types and retrieve the
+ * values that must be passed to the method being called. Following
+ * the 1.4 specification, it does not, and must be overridden to
+ * get functionality.
+ *
+ * @param args the method parameters.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void arguments(NVList args)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Should specify the return value for the call. Following
+ * the 1.4 specification, it does not, and must be overridden to
+ * get functionality.
+ *
+ * @param result the return value.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void set_result(Any result)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * Should set the exception that has been thrown during
+ * the method invocation. Following the 1.4 specification, it does not,
+ * and must be overridden to get functionality.
+ *
+ * @param exc the Any, holding the exception.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void set_exception(Any exc)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This method is deprecated, {@link #set_result} (same parameter).
+ *
+ * @deprecated since 1.2
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void result(Any r)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This method is deprecated, use {@link #set_exception} (same parameter).
+ *
+ * @deprecated since 1.2.
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void except(Any exc)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This method is deprecated, use {@link #arguments} (same parameter).
+ *
+ * @deprecated since 1.2
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public void params(NVList args)
+ {
+ throw new NO_IMPLEMENT();
+ }
+
+ /**
+ * This method is deprecated, use {@link #operation} (same parameter).
+ *
+ * @deprecated since 1.2
+ *
+ * @throws NO_IMPLEMENT, always.
+ */
+ public String op_name()
+ {
+ throw new NO_IMPLEMENT();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,81 @@
+/* ServiceDetail.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * An object, representing one of the additional details about the
+ * particular ORB service.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ServiceDetail
+ implements IDLEntity
+{
+ /**
+ * The type of the information, defined by this detail.
+ */
+ public int service_detail_type;
+
+ /**
+ * The binary data, defining the information.
+ */
+ public byte[] service_detail;
+
+ /**
+ * Create an unitialised instance.
+ */
+ public ServiceDetail()
+ {
+ }
+
+ /**
+ * Create the instance of the service detail, initialising its fields
+ * to the given values.
+ *
+ * @param _service_detail_type the service detail type.
+ * @param _service_detail the service detail.
+ */
+ public ServiceDetail(int _service_detail_type, byte[] _service_detail)
+ {
+ service_detail_type = _service_detail_type;
+ service_detail = _service_detail;
+ }
+}
More information about the llvm-commits
mailing list