Compare commits

..

26 Commits

Author SHA1 Message Date
Vladimir Serbinenko
7699d54233 Several fixes 2013-10-28 17:42:40 +01:00
Vladimir Serbinenko
951ce61283 Revert few useless changes 2013-10-28 17:06:27 +01:00
Vladimir Serbinenko
7bda71ce3c Fix file list 2013-10-28 17:03:22 +01:00
Vladimir Serbinenko
e79b5f2678 Supporting infrastructure for brltty 2013-10-28 16:49:58 +01:00
Vladimir Serbinenko
16fba4d65d Import brltty 2013-10-28 16:46:36 +01:00
Vladimir Serbinenko
93c120754a * grub-core/loader/multiboot_mbi2.c: Implement network tag. 2013-10-28 15:53:39 +01:00
Vladimir Serbinenko
1ca4b75ec2 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
of supported tags.
2013-10-28 15:40:34 +01:00
Vladimir Serbinenko
329550c4a9 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map. 2013-10-28 15:37:00 +01:00
Vladimir Serbinenko
00bfa988fc * grub-core/loader/multiboot.c: Add support for multiboot kernels
quirks.
2013-10-28 15:23:46 +01:00
Vladimir Serbinenko
81afc5cce6 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
a page in protected space.
2013-10-28 14:30:29 +01:00
Vladimir Serbinenko
cb3c4a4722 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
allocate space for zero-sized modules.
2013-10-28 14:27:19 +01:00
Vladimir Serbinenko
954f7bf5ec * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images. 2013-10-28 14:25:22 +01:00
Francesco Lavra
526d3d25e2 * grub-core/lib/fdt.c: Fix miscellaneous bugs. 2013-10-28 13:52:32 +01:00
Vladimir Serbinenko
74124c344c * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
safeguards. Fixes a crash with i386/pc/console.c.
2013-10-28 13:37:40 +01:00
Vladimir Serbinenko
5177391ebe * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
and grub_hostfs_init.
2013-10-28 13:33:12 +01:00
Vladimir Serbinenko
64db14b0cb * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
windows method on other platforms without good stat as well.
2013-10-28 02:17:56 +01:00
Vladimir Serbinenko
effe203677 * grub-core/osdep/linux/getroot.c: Add new btrfs defines. 2013-10-28 01:45:06 +01:00
Vladimir Serbinenko
82591fa6e7 Make / in btrfs refer to real root, not the default volume.
Modify mkrelpath to work even if device is mounted with subvolid option.
2013-10-28 01:37:19 +01:00
Andrey Borzenkov
11d81fc6d1 Merge branch 'fu/disk_common' 2013-10-27 23:45:43 +04:00
Vladimir Serbinenko
30fd7198fe * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
fails.
2013-10-27 20:38:32 +01:00
BVK Chaitanya
8d179dae4e * docs/autoiso.cfg: New file. 2013-10-27 20:34:24 +01:00
Andrey Borzenkov
e11cb7268e Add grub-core/kern/disk_common.c to extra_dist 2013-10-27 22:55:11 +04:00
Vladimir Serbinenko
3bc9c8cfc8 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
COND_GRUB_PE2ELF conditions.
2013-10-27 19:44:19 +01:00
Vladimir Serbinenko
c430e00b80 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
Try to handle more than 0xFFFF packets.
	Reported by: Bernhard Übelacker <bernhardu>.
	He also spotted few overflows in first version of this patch.
2013-10-27 19:15:57 +01:00
Vladimir Serbinenko
cf8d6bbd9e * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
Try to handle more than 0xFFFF packets.
2013-10-27 19:15:37 +01:00
Vladimir Serbinenko
8b46b0ea36 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
"vnd", "rd" and "fd" disks.
2013-10-27 18:59:27 +01:00
1099 changed files with 329950 additions and 641 deletions

2
.gitignore vendored
View File

@@ -9,7 +9,7 @@
aclocal.m4
ahci_test
ascii.bitmaps
ascii.h
asciifont.h
autom4te.cache
build_env.mk
.bzrignore

View File

@@ -1,3 +1,89 @@
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot_mbi2.c: Implement network tag.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
of supported tags.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot.c: Add support for multiboot kernels
quirks.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
a page in protected space.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
allocate space for zero-sized modules.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
* grub-core/lib/fdt.c: Fix miscellaneous bugs.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
safeguards. Fixes a crash with i386/pc/console.c.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
and grub_hostfs_init.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
windows method on other platforms without good stat as well.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
Make / in btrfs refer to real root, not the default volume.
Modify mkrelpath to work even if device is mounted with subvolid option.
2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
* Makefile.util.def: Add grub-core/kern/disk_common.c to library
extra_dist.
* grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
extra_dist.
2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
fails.
2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
* docs/autoiso.cfg: New file.
2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
COND_GRUB_PE2ELF conditions.
2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
"vnd", "rd" and "fd" disks.
2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
Move grub_disk_write out of kernel into disk.mod.
@@ -65,6 +151,13 @@
* include/grub/misc.h: Remove strncat.
* grub-core/lib/posix_wrap/string.h: Likewise.
2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
Try to handle more than 0xFFFF packets.
Reported by: Bernhard Übelacker <bernhardu>.
He also spotted few overflows in first version of this patch.
2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
* tests/date_unit_test.c: New test.

View File

@@ -15,6 +15,7 @@ library = {
common = grub-core/osdep/getroot.c;
common = grub-core/osdep/devmapper/getroot.c;
common = grub-core/osdep/relpath.c;
extra_dist = grub-core/kern/disk_common.c;
extra_dist = grub-core/osdep/unix/relpath.c;
extra_dist = grub-core/osdep/aros/relpath.c;
extra_dist = grub-core/osdep/windows/relpath.c;

View File

@@ -5,7 +5,7 @@ set -e
export LC_COLLATE=C
unset LC_ALL
find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
find . -iname '*.[ch]' ! -ipath '*/grub-core/braille/brltty/*' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
find util -iname '*.in' ! -name Makefile.in |sort > po/POTFILES-shell.in
autogen --version >/dev/null || exit 1

View File

@@ -110,8 +110,11 @@ starfielddir = $(pkgdatadir)/themes/starfield
CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition -Wno-unsafe-loop-optimizations
CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib -I$(top_srcdir)/grub-core/gnulib
CFLAGS_BRAILLE = -Wno-strict-prototypes -Wno-missing-field-initializers -Wno-unused-parameter -Wno-shadow -Wno-sign-compare
CPPFLAGS_BRAILLE = -I$(top_srcdir)/grub-core/braille/brltty_wrap -I$(top_srcdir)/grub-core/braille/brltty/Programs -I$(top_srcdir)/grub-core/braille/brltty -Wno-sign-compare -DPACKAGE_REVISION=\"\" -include $(top_srcdir)/grub-core/braille/config.h
CFLAGS_POSIX = -fno-builtin
CPPFLAGS_POSIX = -I$(top_srcdir)/grub-core/lib/posix_wrap
CPPFLAGS_POSIX = -I$(top_srcdir)/grub-core/lib/posix_wrap/include
CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers -Wno-redundant-decls $(CFLAGS_POSIX)
CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap $(CPPFLAGS_POSIX) -D_GCRYPT_IN_LIBGCRYPT=1 -I$(top_srcdir)/include/grub/gcrypt

View File

@@ -60,6 +60,14 @@
#define RE_ENABLE_I18N 1
#define _GL_UNUSED __attribute__ ((unused))
#define HAVE_VPRINTF 1
#define HAVE_DECL_STRERROR 1
#define HAVE_INLINE 1
#define HAVE_MBRTOWC 1
#define ENABLE_NLS 1
#define _GNU_SOURCE 1
#endif

View File

@@ -85,6 +85,7 @@ HOST_CPPFLAGS="$HOST_CPPFLAGS -DLOCALEDIR=\\\"\$(localedir)\\\""
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -Wall -W"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_srcdir)/include"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_builddir)/include"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -DGRUB_RUNTIME=1"
case "$target_cpu" in
i[[3456]]86) target_cpu=i386 ;;
@@ -851,9 +852,9 @@ if test "x$target_cpu" = xi386; then
fi
if test "$platform" != emu; then
AC_CACHE_CHECK([whether -nostdinc -isystem works], [grub_cv_cc_isystem], [
AC_CACHE_CHECK([whether -nostdinc -ffreestanding -isystem works], [grub_cv_cc_isystem], [
SAVED_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -isystem `$TARGET_CC -print-file-name=include`"
CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -ffreestanding -isystem `$TARGET_CC -print-file-name=include`"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
#include <stddef.h>
int va_arg_func (int fixed, va_list args);]], [[]])],
@@ -863,7 +864,7 @@ int va_arg_func (int fixed, va_list args);]], [[]])],
])
if test x"$grub_cv_cc_isystem" = xyes ; then
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -isystem `$TARGET_CC -print-file-name=include`"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -nostdinc -ffreestanding -isystem `$TARGET_CC -print-file-name=include`"
fi
fi
@@ -1351,10 +1352,8 @@ AM_CONDITIONAL([COND_GRUB_EMU_USB], [test x$enable_grub_emu_usb = xyes])
AM_CONDITIONAL([COND_GRUB_EMU_SDL], [test x$enable_grub_emu_sdl = xyes])
AM_CONDITIONAL([COND_GRUB_EMU_PCI], [test x$enable_grub_emu_pci = xyes])
AM_CONDITIONAL([COND_GRUB_MKFONT], [test x$enable_grub_mkfont = xyes])
AM_CONDITIONAL([COND_BUILD_GRUB_MKFONT], [test x$enable_build_grub_mkfont = xyes])
AM_CONDITIONAL([COND_GRUB_MOUNT], [test x$enable_grub_mount = xyes])
AM_CONDITIONAL([COND_HAVE_FONT_SOURCE], [test x$FONT_SOURCE != x])
AM_CONDITIONAL([COND_GRUB_PE2ELF], [test x$TARGET_OBJ2ELF != x])
AM_CONDITIONAL([COND_APPLE_CC], [test x$TARGET_APPLE_CC = x1])
AM_CONDITIONAL([COND_ENABLE_EFIEMU], [test x$enable_efiemu = xyes])
AM_CONDITIONAL([COND_ENABLE_CACHE_STATS], [test x$DISK_CACHE_STATS = x1])

244
docs/autoiso.cfg Normal file
View File

@@ -0,0 +1,244 @@
# Sample GRUB script to autodetect operating systems
#
# Copyright (C) 2010 Free Software Foundation, Inc.
#
# GRUB 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 3 of the License, or
# (at your option) any later version.
#
# GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
function pathname { regexp -s 2:"$2" '^(\(.*\))?(/.*)$' "$1"; }
function devname { regexp -s "$2" '^(\(.*\)).*$' "$1"; }
function loopback_iso_entry {
realdev="$1"
isopath="$2"
loopdev="$3"
if test -f /boot/grub/loopback.cfg; then
cfgpath=/boot/grub/loopback.cfg
elif test -f /grub/loopback.cfg; then
cfgpath=/grub/loopback.cfg
else
return 1;
fi
echo loopback.cfg $isopath: yes
menuentry "Boot GRUB Loopback Config from ${realdev}${isopath}" "$realdev" "$isopath" "$cfgpath" {
set device="$2"
set iso_path="$3"
set cfg_path="$4"
export iso_path
loopback loopdev_cfg "${device}${iso_path}"
set root=(loopdev_cfg)
configfile $cfg_path
loopback -d loopdev_cfg
}
return 0
}
function grml_iso_entry {
realdev="$1"
isopath="$2"
loopdev="$3"
result=1
for dir in /boot/grml /boot/grmlsmall /boot/grmlmedium; do
if ! test -f ${dir}/linux26 -a -f ${dir}/initrd.gz; then continue; fi
echo grml $isopath: yes
result=0
menuentry "GRML Linux from ${realdev}${isopath}" \
"$realdev" "$isopath" "$dir" {
set device="$2"
set isopath="$3"
set grmldir="$4"
loopback loopdev_grml "${device}${isopath}"
set root=(loopdev_grml)
linux $grmldir/linux26 findiso="$isopath" apm=power-off quiet \
boot=live nomce
initrd $grmldir/initrd.gz
loopback -d loopdev_grml
}
done
return $result
}
function pmagic_iso_entry {
realdev="$1"
isopath="$2"
loopdev="$3"
if ! test -f /pmagic/bzImage -a -f /pmagic/initramfs; then return 1; fi
echo pmagic $isopath: yes
menuentry "Parted Magic from ${realdev}${isopath}" "$realdev" "$isopath" {
set device="$2"
set isopath="$3"
loopback loopdev_pmagic "${device}${isopath}"
set root=(loopdev_pmagic)
linux /pmagic/bzImage iso_filename="$isopath" edd=off noapic \
load_ramdisk=1 prompt_ramdisk=0 rw sleep=10 loglevel=0 \
keymap=$langcode
initrd /pmagic/initramfs
loopback -d loopdev_pmagic
}
return 0
}
function sidux_iso_entry {
realdev="$1"
isopath="$2"
loopdev="$3"
result=1
for kernel in /boot/vmlinuz-*-sidux-*; do
if ! test -f "$kernel"; then continue; fi
regexp -s 1:v1 -s 2:v2 '/boot/vmlinuz-(.*)-sidux-(.*)' "$kernel"
initrd="/boot/initrd.img-$v1-sidux-$v2"
if ! test -f "$initrd"; then continue; fi
result=0
echo sidux $isopath: yes
menuentry "Sidux vmlinux-$v1-sidux-$v2 from ${realdev}${isopath}" "$realdev" "$isopath" "$kernel" "$initrd" {
set device="$2"
set isopath="$3"
set kernel="$4"
set initrd="$5"
loopback loopdev_sidux "${device}${isopath}"
set root=(loopdev_sidux)
linux $kernel fromiso=$isopath boot=fll quiet
initrd $initrd
loopback -d loopdev_sidux
}
done
return $result
}
function slax_iso_entry {
realdev="$1"
isopath="$2"
loopdev="$3"
if ! test -f /boot/vmlinuz -a -f /boot/initrd.gz; then return 1; fi
echo slax $isopath: yes
menuentry "Slax Linux from ${realdev}${isopath}" "$realdev" "$isopath" {
set device="$2"
set isopath="$3"
loopback loopdev_slax "${device}${isopath}"
set root=(loopdev_slax)
linux /boot/vmlinuz from=$isopath ramdisk_size=6666 root=/dev/ram0 rw
initrd /boot/initrd.gz
loopback -d loopdev_slax
}
return 0
}
function tinycore_iso_entry {
realpath="$1"
isopath="$2"
loopdev="$3"
if ! test -f /boot/bzImage -a -f /boot/tinycore.gz; then return 1; fi
echo tinycore $isopath: yes
menuentry "Tinycore Linux from ${realdev}${isopath}" "$realdev" "$isopath" {
set device="$2"
set isopath="$3"
loopback loopdev_tiny "${device}${isopath}"
set root=(loopdev_tiny)
linux /boot/bzImage
initrd /boot/tinycore.gz
loopback -d loopdev_tiny
}
return 0
}
function casper_iso_entry {
realpath="$1"
isopath="$2"
loopdev="$3"
if ! test -f /casper/vmlinuz; then return 1; fi
initrd=
for f in /casper/initrd.*z; do
if ! test -f "$f"; then continue; fi
pathname "$f" initrd
done
if test -z "$initrd"; then return 1; fi
echo casper $isopath: yes
menuentry "Casper based Linux from ${realdev}${isopath}" "$realdev" "$isopath" "$initrd" {
set device="$2"
set isopath="$3"
set initrd="$4"
loopback loopdev_casper "${device}${isopath}"
set root=(loopdev_casper)
linux /casper/vmlinuz boot=casper iso-scan/filename="$isopath" quiet splash noprompt keyb="$langcode" \
debian-installer/language="$langcode" console-setup/layoutcode?="$langcode" --
initrd $initrd
loopback -d loopdev_casper
}
return 0
}
function scan_isos {
isodirs="$1"
for dev in (*); do
for dir in $isodirs; do
for file in ${dev}${dir}/*.iso ${dev}${dir}/*.ISO; do
if ! test -f "$file"; then continue; fi
pathname $file isopath
if test -z "$dev" -o -z "$isopath"; then continue; fi
if ! loopback loopdev_scan "$file"; then continue; fi
saved_root=$root
set root=(loopdev_scan)
if loopback_iso_entry $dev $isopath (loopdev_scan); then true;
elif grml_iso_entry $dev $isopath (loopdev_scan); then true;
elif pmagic_iso_entry $dev $isopath (loopdev_scan); then true;
elif sidux_iso_entry $dev $isopath (loopdev_scan); then true;
elif slax_iso_entry $dev $isopath (loopdev_scan); then true;
elif tinycore_iso_entry $dev $isopath (loopdev_scan); then true;
elif casper_iso_entry $dev $isopath (loopdev_scan); then true;
else true; fi
set root=$saved_root
loopback -d loopdev_scan
done
done
done
return 0
}
# XXX Remove later
insmod serial
serial
terminal_output --append serial
# terminal_input --append serial
langcode="$lang"
insmod regexp
scan_isos /iso /boot/iso

View File

@@ -3680,6 +3680,8 @@ you forget a command, you can run the command @command{help}
* lsfonts:: List loaded fonts
* lsmod:: Show loaded modules
* md5sum:: Compute or check MD5 hash
* module:: Load module for multiboot kernel
* multiboot:: Load multiboot compliant kernel
* nativedisk:: Switch to native disk drivers
* normal:: Enter normal mode
* normal_exit:: Exit from normal mode
@@ -4369,7 +4371,6 @@ List loaded fonts.
Show list of loaded modules.
@end deffn
@node md5sum
@subsection md5sum
@@ -4378,6 +4379,34 @@ Alias for @code{hashsum --hash md5 arg @dots{}}. See command @command{hashsum}
(@pxref{hashsum}) for full description.
@end deffn
@node module
@subsection module
@deffn Command module [--nounzip] file [arguments]
Load a module for multiboot kernel image. The rest of the
line is passed verbatim as the module command line.
@end deffn
@node multiboot
@subsection multiboot
@deffn Command multiboot [--quirk-bad-kludge] [--quirk-modules-after-kernel] file @dots{}
Load a multiboot kernel image from @var{file}. The rest of the
line is passed verbatim as the @dfn{kernel command-line}. Any module must
be reloaded after using this command (@pxref{module}).
Some kernels have known problems. You need to specify --quirk-* for those.
--quirk-bad-kludge is a problem seen in several products that they include
loading kludge information with invalid data in ELF file. GRUB prior to 0.97
and some custom builds prefered ELF information while 0.97 and GRUB 2
use kludge. Use this option to ignore kludge.
Known affected systems: old Solaris, SkyOS.
--quirk-modules-after-kernel is needed for kernels which load at relatively
high address e.g. 16MiB mark and can't cope with modules stuffed between
1MiB mark and beginning of the kernel.
Known afftected systems: VMWare.
@end deffn
@node nativedisk
@subsection nativedisk

View File

@@ -406,7 +406,7 @@ image = {
common = lib/xzembed/xz_dec_lzma2.c;
common = lib/xzembed/xz_dec_stream.c;
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1';
cppflags = '$(CPPFLAGS_POSIX) -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1';
objcopyflags = '-O binary';
mips_ldflags = '-static-libgcc -Wl,-Ttext,$(TARGET_DECOMPRESSOR_LINK_ADDR)';
@@ -458,6 +458,7 @@ image = {
module = {
name = disk;
common = lib/disk.c;
extra_dist = kern/disk_common.c;
};
module = {
@@ -576,10 +577,18 @@ module = {
};
library = {
name = libgnulib.a;
name = libregexp.a;
common = gnulib/regex.c;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -DGRUB_POSIX_GETTEXT_DOMAIN=\"grub\"';
};
module = {
name = getopt;
common = gnulib/getopt.c;
common = gnulib/getopt1.c;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -DGRUB_POSIX_GETTEXT_DOMAIN=\"grub\"';
};
module = {
@@ -633,8 +642,8 @@ module = {
name = regexp;
common = commands/regexp.c;
common = commands/wildcard.c;
ldadd = libgnulib.a;
dependencies = libgnulib.a;
ldadd = libregexp.a;
dependencies = libregexp.a;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB)';
};
@@ -826,7 +835,7 @@ module = {
name = verify;
common = commands/verify.c;
cflags = '$(CFLAGS_POSIX)';
cppflags = '-I$(srcdir)/lib/posix_wrap';
cppflags = '-I$(srcdir)/lib/posix_wrap/include';
};
module = {
@@ -1201,7 +1210,7 @@ module = {
common = fs/btrfs.c;
common = lib/crc.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
cppflags = '$(CPPFLAGS_POSIX) -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
};
module = {
@@ -1343,7 +1352,7 @@ module = {
name = squash4;
common = fs/squash4.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
cppflags = '$(CPPFLAGS_POSIX) -I$(srcdir)/lib/xzembed -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
};
module = {
@@ -2018,7 +2027,7 @@ module = {
common = lib/xzembed/xz_dec_bcj.c;
common = lib/xzembed/xz_dec_lzma2.c;
common = lib/xzembed/xz_dec_stream.c;
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
cppflags = '$(CPPFLAGS_POSIX) -I$(srcdir)/lib/xzembed';
cflags='-Wno-unreachable-code';
};
@@ -2027,7 +2036,7 @@ module = {
common = io/lzopio.c;
common = lib/minilzo/minilzo.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef -Wno-redundant-decls -Wno-error';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
cppflags = '$(CPPFLAGS_POSIX) -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
};
module = {
@@ -2054,6 +2063,87 @@ module = {
enable = x86;
};
module = {
name = braille_baum;
common = braille/brltty/Drivers/Braille/Baum/braille.c;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_BRAILLE)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_BRAILLE) -DDRIVER_NAME=Baum -DDRIVER_CODE=1 -DDRIVER_COMMENT=\"\" -DDRIVER_VERSION=\"\" -DDRIVER_DEVELOPERS=\"\" -DGRUB_POSIX_GETTEXT_DOMAIN=\"brltty\"';
};
module = {
name = braille_core;
common = braille/brltty/Programs/atb_compile.c;
common = braille/brltty/Programs/atb_translate.c;
common = braille/brltty/Programs/brl.c;
common = braille/brltty/Programs/brltty.c;
common = braille/brltty/Programs/bluetooth_none.c;
common = braille/brltty/Programs/bluetooth.c;
common = braille/brltty/Programs/clipboard.c;
common = braille/brltty/Programs/config.c;
common = braille/brltty/Programs/ctb_translate.c;
common = braille/brltty/Programs/dataarea.c;
common = braille/brltty/Programs/device.c;
common = braille/brltty/Programs/driver.c;
common = braille/brltty/Programs/drivers.c;
common = braille/brltty/Programs/menu.c;
common = braille/brltty/Programs/parse.c;
common = braille/brltty/Programs/queue.c;
common = braille/brltty/Programs/routing.c;
common = braille/brltty/Programs/scancodes.c;
common = braille/brltty/Programs/scr_frozen.c;
common = braille/brltty/Programs/ses.c;
common = braille/brltty/Programs/scr.c;
common = braille/brltty/Programs/ttb_translate.c;
common = braille/brltty/Programs/tunes.c;
common = braille/brltty/Programs/usb.c;
common = braille/brltty/Programs/usb_serial.c;
common = braille/brltty/Programs/usb_hid.c;
common = braille/brltty/Programs/async.c;
common = braille/brltty/Programs/auth.c;
common = braille/brltty/Programs/charset.c;
common = braille/brltty/Programs/charset_grub.c;
common = braille/brltty/Programs/cmd.c;
common = braille/brltty/Programs/ctb_compile.c;
common = braille/brltty/Programs/datafile.c;
common = braille/brltty/Programs/file.c;
common = braille/brltty/Programs/hostcmd.c;
common = braille/brltty/Programs/hostcmd_none.c;
common = braille/brltty/Programs/io_misc.c;
common = braille/brltty/Programs/kbd.c;
common = braille/brltty/Programs/kbd_none.c;
common = braille/brltty/Programs/ktb_compile.c;
common = braille/brltty/Programs/ktb_translate.c;
common = braille/brltty/Programs/ktb_list.c;
common = braille/brltty/Programs/ktb_keyboard.c;
common = braille/brltty/Programs/lock.c;
common = braille/brltty/Programs/log.c;
common = braille/brltty/Programs/main.c;
/* common = braille/brltty/Programs/mount.c; */
common = braille/brltty/Programs/options.c;
common = braille/brltty/Programs/prefs.c;
common = braille/brltty/Programs/program.c;
common = braille/brltty/Programs/scr_base.c;
common = braille/brltty/Programs/scr_help.c;
common = braille/brltty/Programs/scr_main.c;
common = braille/brltty/Programs/scr_menu.c;
/* common = braille/brltty/Programs/scr_real.c; */
/* common = braille/brltty/Programs/serial.c; */
common = braille/brltty/Programs/status.c;
common = braille/brltty/Programs/sys_grub.c;
common = braille/brltty/Programs/timing.c;
common = braille/brltty/Programs/touch.c;
common = braille/brltty/Programs/ttb_compile.c;
common = braille/brltty/Programs/ttb_native.c;
common = braille/brltty/Programs/unicode.c;
/* common = braille/brltty_wrap/charset.c; */
common = braille/brltty_wrap/usb.c;
common = braille/brltty_wrap/serial.c;
cflags = '$(CFLAGS_POSIX) $(CFLAGS_BRAILLE)';
cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_BRAILLE) -DGRUB_POSIX_GETTEXT_DOMAIN=\"brltty\"';
};
module = {
name = priority_queue;
common = lib/priority_queue.c;
@@ -2131,6 +2221,24 @@ module = {
enable = i386;
};
module = {
name = posix;
common = lib/posix_wrap/errno.c;
common = lib/posix_wrap/stdio.c;
common = lib/posix_wrap/string.c;
common = lib/posix_wrap/time.c;
};
module = {
name = bsearch;
common = lib/bsearch.c;
};
module = {
name = qsort;
common = lib/qsort.c;
};
module = {
name = testspeed;
common = commands/testspeed.c;

View File

@@ -0,0 +1,90 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Brlapi extends Native implements Constants {
protected final ConnectionSettings settings;
protected final int fileDescriptor;
public Brlapi (ConnectionSettings settings) throws Error {
this.settings = new ConnectionSettings();
fileDescriptor = openConnection(settings, this.settings);
}
protected void finalize () {
closeConnection();
}
public String getHost () {
return settings.host;
}
public String getAuth () {
return settings.auth;
}
public int getFileDescriptor () {
return fileDescriptor;
}
public int enterTtyMode (int tty) throws Error {
return enterTtyMode(tty, null);
}
public int enterTtyMode (String driver) throws Error {
return enterTtyMode(TTY_DEFAULT, driver);
}
public int enterTtyMode () throws Error {
return enterTtyMode(null);
}
public void enterTtyModeWithPath (int ttys[]) throws Error {
enterTtyModeWithPath(ttys, null);
}
public void writeText (int cursor) throws Error {
writeText(cursor, null);
}
public void writeText (String text) throws Error {
writeText(CURSOR_OFF, text);
}
public void writeText (String text, int cursor) throws Error {
writeText(cursor, text);
}
public void writeText (int cursor, String text) throws Error {
if (text != null) {
DisplaySize size = getDisplaySize();
int count = size.getWidth() * size.getHeight();
{
StringBuffer sb = new StringBuffer(text);
while (sb.length() < count) sb.append(' ');
text = sb.toString();
}
text = text.substring(0, count);
}
writeTextNative(cursor, text);
}
}

View File

@@ -0,0 +1,38 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class ConnectionSettings {
public String host;
public String auth;
public ConnectionSettings (String host, String auth) {
this.host = host;
this.auth = auth;
}
public ConnectionSettings (String host) {
this(host, null);
}
public ConnectionSettings () {
this(null);
}
}

View File

@@ -0,0 +1,426 @@
package org.a11y.BrlAPI;
public interface Constants {
int TTY_DEFAULT = -1;
/** */
int DISPLAY_DEFAULT = -1;
/** */
int CURSOR_LEAVE = -1;
/** */
int CURSOR_OFF = 0;
int rangeType_all = 0;
int rangeType_type = 1;
int rangeType_command = 2;
int rangeType_key = 3;
int rangeType_code = 4;
/** */
int ERROR_SUCCESS = 0;
/** */
int ERROR_NOMEM = 1;
/** */
int ERROR_TTYBUSY = 2;
/** */
int ERROR_DEVICEBUSY = 3;
/** */
int ERROR_UNKNOWN_INSTRUCTION = 4;
/** */
int ERROR_ILLEGAL_INSTRUCTION = 5;
/** */
int ERROR_INVALID_PARAMETER = 6;
/** */
int ERROR_INVALID_PACKET = 7;
/** */
int ERROR_CONNREFUSED = 8;
/** */
int ERROR_OPNOTSUPP = 9;
/** */
int ERROR_GAIERR = 10;
/** */
int ERROR_LIBCERR = 11;
/** */
int ERROR_UNKNOWNTTY = 12;
/** */
int ERROR_PROTOCOL_VERSION = 13;
/** */
int ERROR_EOF = 14;
/** */
int ERROR_EMPTYKEY = 15;
/** */
int ERROR_DRIVERERROR = 16;
/** */
int ERROR_AUTHENTICATION = 17;
/** */
long KEY_MAX = 0xffffffffffffffffL;
/** */
long KEY_FLAGS_MASK = 0xffffffff00000000L;
/** */
int KEY_FLAGS_SHIFT = 32;
/** */
long KEY_TYPE_MASK = 0xe0000000L;
/** */
int KEY_TYPE_SHIFT = 29;
/** */
int KEY_TYPE_CMD = 0x20000000;
/** */
int KEY_TYPE_SYM = 0x0;
/** */
long KEY_CODE_MASK = 0x1fffffffL;
/** */
int KEY_CODE_SHIFT = 0;
/** */
long KEY_CMD_BLK_MASK = 0x1fff0000L;
/** */
int KEY_CMD_BLK_SHIFT = 16;
/** */
long KEY_CMD_ARG_MASK = 0xffffL;
/** */
int KEY_CMD_ARG_SHIFT = 0;
/** */
int KEY_SYM_BACKSPACE = 0xff08;
/** */
int KEY_SYM_TAB = 0xff09;
/** */
int KEY_SYM_LINEFEED = 0xff0d;
/** */
int KEY_SYM_ESCAPE = 0xff1b;
/** */
int KEY_SYM_HOME = 0xff50;
/** */
int KEY_SYM_LEFT = 0xff51;
/** */
int KEY_SYM_UP = 0xff52;
/** */
int KEY_SYM_RIGHT = 0xff53;
/** */
int KEY_SYM_DOWN = 0xff54;
/** */
int KEY_SYM_PAGE_UP = 0xff55;
/** */
int KEY_SYM_PAGE_DOWN = 0xff56;
/** */
int KEY_SYM_END = 0xff57;
/** */
int KEY_SYM_INSERT = 0xff63;
/** */
int KEY_SYM_F1 = (0xffbe + 0);
/** */
int KEY_SYM_F2 = (0xffbe + 1);
/** */
int KEY_SYM_F3 = (0xffbe + 2);
/** */
int KEY_SYM_F4 = (0xffbe + 3);
/** */
int KEY_SYM_F5 = (0xffbe + 4);
/** */
int KEY_SYM_F6 = (0xffbe + 5);
/** */
int KEY_SYM_F7 = (0xffbe + 6);
/** */
int KEY_SYM_F8 = (0xffbe + 7);
/** */
int KEY_SYM_F9 = (0xffbe + 8);
/** */
int KEY_SYM_F10 = (0xffbe + 9);
/** */
int KEY_SYM_F11 = (0xffbe + 10);
/** */
int KEY_SYM_F12 = (0xffbe + 11);
/** */
int KEY_SYM_F13 = (0xffbe + 12);
/** */
int KEY_SYM_F14 = (0xffbe + 13);
/** */
int KEY_SYM_F15 = (0xffbe + 14);
/** */
int KEY_SYM_F16 = (0xffbe + 15);
/** */
int KEY_SYM_F17 = (0xffbe + 16);
/** */
int KEY_SYM_F18 = (0xffbe + 17);
/** */
int KEY_SYM_F19 = (0xffbe + 18);
/** */
int KEY_SYM_F20 = (0xffbe + 19);
/** */
int KEY_SYM_F21 = (0xffbe + 20);
/** */
int KEY_SYM_F22 = (0xffbe + 21);
/** */
int KEY_SYM_F23 = (0xffbe + 22);
/** */
int KEY_SYM_F24 = (0xffbe + 23);
/** */
int KEY_SYM_F25 = (0xffbe + 24);
/** */
int KEY_SYM_F26 = (0xffbe + 25);
/** */
int KEY_SYM_F27 = (0xffbe + 26);
/** */
int KEY_SYM_F28 = (0xffbe + 27);
/** */
int KEY_SYM_F29 = (0xffbe + 28);
/** */
int KEY_SYM_F30 = (0xffbe + 29);
/** */
int KEY_SYM_F31 = (0xffbe + 30);
/** */
int KEY_SYM_F32 = (0xffbe + 31);
/** */
int KEY_SYM_F33 = (0xffbe + 32);
/** */
int KEY_SYM_F34 = (0xffbe + 33);
/** */
int KEY_SYM_F35 = (0xffbe + 34);
/** */
int KEY_SYM_DELETE = 0xffff;
/** */
int KEY_SYM_UNICODE = 0x1000000;
/** do nothing */
int KEY_CMD_NOOP = 0;
/** go up one line */
int KEY_CMD_LNUP = 1;
/** go down one line */
int KEY_CMD_LNDN = 2;
/** go up several lines */
int KEY_CMD_WINUP = 3;
/** go down several lines */
int KEY_CMD_WINDN = 4;
/** go up to nearest line with different content */
int KEY_CMD_PRDIFLN = 5;
/** go down to nearest line with different content */
int KEY_CMD_NXDIFLN = 6;
/** go up to nearest line with different highlighting */
int KEY_CMD_ATTRUP = 7;
/** go down to nearest line with different highlighting */
int KEY_CMD_ATTRDN = 8;
/** go to top line */
int KEY_CMD_TOP = 9;
/** go to bottom line */
int KEY_CMD_BOT = 10;
/** go to beginning of top line */
int KEY_CMD_TOP_LEFT = 11;
/** go to beginning of bottom line */
int KEY_CMD_BOT_LEFT = 12;
/** go up to last line of previous paragraph */
int KEY_CMD_PRPGRPH = 13;
/** go down to first line of next paragraph */
int KEY_CMD_NXPGRPH = 14;
/** go up to previous command prompt */
int KEY_CMD_PRPROMPT = 15;
/** go down to next command prompt */
int KEY_CMD_NXPROMPT = 16;
/** search backward for cut text */
int KEY_CMD_PRSEARCH = 17;
/** search forward for cut text */
int KEY_CMD_NXSEARCH = 18;
/** go left one character */
int KEY_CMD_CHRLT = 19;
/** go right one character */
int KEY_CMD_CHRRT = 20;
/** go left half a window */
int KEY_CMD_HWINLT = 21;
/** go right half a window */
int KEY_CMD_HWINRT = 22;
/** go left one window */
int KEY_CMD_FWINLT = 23;
/** go right one window */
int KEY_CMD_FWINRT = 24;
/** go left to nearest non-blank window */
int KEY_CMD_FWINLTSKIP = 25;
/** go right to nearest non-blank window */
int KEY_CMD_FWINRTSKIP = 26;
/** go to beginning of line */
int KEY_CMD_LNBEG = 27;
/** go to end of line */
int KEY_CMD_LNEND = 28;
/** go to cursor */
int KEY_CMD_HOME = 29;
/** go back after cursor tracking */
int KEY_CMD_BACK = 30;
/** go to cursor or go back after cursor tracking */
int KEY_CMD_RETURN = 31;
/** freeze/unfreeze screen image */
int KEY_CMD_FREEZE = 32;
/** toggle display mode attributes/text */
int KEY_CMD_DISPMD = 33;
/** toggle text style 6-dot/8-dot */
int KEY_CMD_SIXDOTS = 34;
/** toggle sliding window on/off */
int KEY_CMD_SLIDEWIN = 35;
/** toggle skipping of lines with identical content on/off */
int KEY_CMD_SKPIDLNS = 36;
/** toggle skipping of blank windows on/off */
int KEY_CMD_SKPBLNKWINS = 37;
/** toggle cursor visibility on/off */
int KEY_CMD_CSRVIS = 38;
/** toggle hidden cursor on/off */
int KEY_CMD_CSRHIDE = 39;
/** toggle cursor tracking on/off */
int KEY_CMD_CSRTRK = 40;
/** toggle cursor style block/underline */
int KEY_CMD_CSRSIZE = 41;
/** toggle cursor blinking on/off */
int KEY_CMD_CSRBLINK = 42;
/** toggle attribute underlining on/off */
int KEY_CMD_ATTRVIS = 43;
/** toggle attribute blinking on/off */
int KEY_CMD_ATTRBLINK = 44;
/** toggle capital letter blinking on/off */
int KEY_CMD_CAPBLINK = 45;
/** toggle alert tunes on/off */
int KEY_CMD_TUNES = 46;
/** toggle autorepeat on/off */
int KEY_CMD_AUTOREPEAT = 47;
/** toggle autospeak on/off */
int KEY_CMD_AUTOSPEAK = 48;
/** enter/leave help display */
int KEY_CMD_HELP = 49;
/** enter/leave status display */
int KEY_CMD_INFO = 50;
/** enter/leave command learn mode */
int KEY_CMD_LEARN = 51;
/** enter/leave preferences menu */
int KEY_CMD_PREFMENU = 52;
/** save preferences to disk */
int KEY_CMD_PREFSAVE = 53;
/** restore preferences from disk */
int KEY_CMD_PREFLOAD = 54;
/** go to first item */
int KEY_CMD_MENU_FIRST_ITEM = 55;
/** go to last item */
int KEY_CMD_MENU_LAST_ITEM = 56;
/** go to previous item */
int KEY_CMD_MENU_PREV_ITEM = 57;
/** go to next item */
int KEY_CMD_MENU_NEXT_ITEM = 58;
/** select previous choice */
int KEY_CMD_MENU_PREV_SETTING = 59;
/** select next choice */
int KEY_CMD_MENU_NEXT_SETTING = 60;
/** stop speaking */
int KEY_CMD_MUTE = 61;
/** go to current speech position */
int KEY_CMD_SPKHOME = 62;
/** speak current line */
int KEY_CMD_SAY_LINE = 63;
/** speak from top of screen through current line */
int KEY_CMD_SAY_ABOVE = 64;
/** speak from current line through bottom of screen */
int KEY_CMD_SAY_BELOW = 65;
/** decrease speech rate */
int KEY_CMD_SAY_SLOWER = 66;
/** increase speech rate */
int KEY_CMD_SAY_FASTER = 67;
/** decrease speech volume */
int KEY_CMD_SAY_SOFTER = 68;
/** increase speech volume */
int KEY_CMD_SAY_LOUDER = 69;
/** switch to previous virtual terminal */
int KEY_CMD_SWITCHVT_PREV = 70;
/** switch to next virtual terminal */
int KEY_CMD_SWITCHVT_NEXT = 71;
/** bring cursor to line */
int KEY_CMD_CSRJMP_VERT = 72;
/** insert cut text at cursor */
int KEY_CMD_PASTE = 73;
/** restart braille driver */
int KEY_CMD_RESTARTBRL = 74;
/** restart speech driver */
int KEY_CMD_RESTARTSPEECH = 75;
/** braille display temporarily unavailable */
int KEY_CMD_OFFLINE = 76;
/** enable feature */
int KEY_FLG_TOGGLE_ON = 0x100;
/** disable feature */
int KEY_FLG_TOGGLE_OFF = 0x200;
/** mask for all toggle flags */
int KEY_FLG_TOGGLE_MASK = (KEY_FLG_TOGGLE_ON | KEY_FLG_TOGGLE_OFF);
/** bring cursor into window after function */
int KEY_FLG_MOTION_ROUTE = 0x400;
/** execute command on key press */
int KEY_FLG_REPEAT_INITIAL = 0x8000;
/** wait before repeating */
int KEY_FLG_REPEAT_DELAY = 0x4000;
/** mask for all repeat flags */
int KEY_FLG_REPEAT_MASK = (KEY_FLG_REPEAT_INITIAL | KEY_FLG_REPEAT_DELAY);
/** bring cursor to character */
int KEY_CMD_ROUTE = 0x10000;
/** start new cut buffer at character */
int KEY_CMD_CUTBEGIN = 0x20000;
/** append to existing cut buffer from character */
int KEY_CMD_CUTAPPEND = 0x30000;
/** rectangular cut to character */
int KEY_CMD_CUTRECT = 0x40000;
/** linear cut to character */
int KEY_CMD_CUTLINE = 0x50000;
/** switch to virtual terminal */
int KEY_CMD_SWITCHVT = 0x60000;
/** go up to nearest line with less indent than character */
int KEY_CMD_PRINDENT = 0x70000;
/** go down to nearest line with less indent than character */
int KEY_CMD_NXINDENT = 0x80000;
/** describe character */
int KEY_CMD_DESCCHAR = 0x90000;
/** place left end of window at character */
int KEY_CMD_SETLEFT = 0xa0000;
/** remember current window position */
int KEY_CMD_SETMARK = 0xb0000;
/** go to remembered window position */
int KEY_CMD_GOTOMARK = 0xc0000;
/** go to selected line */
int KEY_CMD_GOTOLINE = 0xd0000;
/** scale arg=0X00-0XFF to screen height */
int KEY_FLG_LINE_SCALED = 0x100;
/** go to beginning of line */
int KEY_FLG_LINE_TOLEFT = 0x200;
/** go up to nearest line with different character */
int KEY_CMD_PRDIFCHAR = 0xe0000;
/** go down to nearest line with different character */
int KEY_CMD_NXDIFCHAR = 0xf0000;
/** copy characters to cut buffer */
int KEY_CMD_COPYCHARS = 0x100000;
/** append characters to cut buffer */
int KEY_CMD_APNDCHARS = 0x110000;
/** input braille character */
int KEY_CMD_PASSDOTS = 0x220000;
/** shift key pressed */
int KEY_FLG_SHIFT = 0x1;
/** convert to uppercase */
int KEY_FLG_UPPER = 0x2;
/** control key pressed */
int KEY_FLG_CONTROL = 0x4;
/** meta key pressed */
int KEY_FLG_META = 0x8;
/** upper-left dot of standard braille cell */
byte DOT1 = (byte) (0001);
/** middle-left dot of standard braille cell */
byte DOT2 = (byte) (0002);
/** lower-left dot of standard braille cell */
byte DOT3 = (byte) (0004);
/** upper-right dot of standard braille cell */
byte DOT4 = (byte) (0010);
/** middle-right dot of standard braille cell */
byte DOT5 = (byte) (0020);
/** lower-right dot of standard braille cell */
byte DOT6 = (byte) (0040);
/** lower-left dot of computer braille cell */
byte DOT7 = (byte) (0100);
/** lower-right dot of computer braille cell */
byte DOT8 = (byte) (0200);
/** space key pressed */
byte DOTC = (byte) (0400);
/** input AT (set 2) keyboard scan code */
int KEY_CMD_PASSAT = 0x230000;
/** input XT (set 1) keyboard scan code */
int KEY_CMD_PASSXT = 0x240000;
/** input PS/2 (set 3) keyboard scan code */
int KEY_CMD_PASSPS2 = 0x250000;
/** it is a release scan code */
int KEY_FLG_KBD_RELEASE = 0x100;
/** it is an emulation 0 scan code */
int KEY_FLG_KBD_EMUL0 = 0x200;
/** it is an emulation 1 scan code */
int KEY_FLG_KBD_EMUL1 = 0x400;
/** switch to command context */
int KEY_CMD_CONTEXT = 0x260000;
}

View File

@@ -0,0 +1,38 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class DisplaySize {
protected final int width;
protected final int height;
public DisplaySize (int width, int height) {
this.width = width;
this.height = height;
}
public int getWidth () {
return width;
}
public int getHeight () {
return height;
}
}

View File

@@ -0,0 +1,53 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Error extends java.lang.Error {
static final long serialVersionUID = 0;
int brlerrno;
int libcerrno;
int gaierrno;
String errfun;
public final native String toString ();
public Error (int brlerrno, int libcerrno, int gaierrno, String errfun) {
this.brlerrno = brlerrno;
this.libcerrno = libcerrno;
this.gaierrno = gaierrno;
this.errfun = errfun;
}
public final static int SUCCESS = 0; /* Success */
public final static int NOMEM = 1; /* Not enough memory */
public final static int TTYBUSY = 2; /* Already a connection running in this tty */
public final static int DEVICEBUSY = 3; /* Already a connection using RAW mode */
public final static int UNKNOWN_INSTRUCTION = 4; /* Not implemented in protocol */
public final static int ILLEGAL_INSTRUCTION = 5; /* Forbiden in current mode */
public final static int INVALID_PARAMETER = 6; /* Out of range or have no sense */
public final static int INVALID_PACKET = 7; /* Invalid size */
public final static int CONNREFUSED = 8; /* Connection refused */
public final static int OPNOTSUPP = 9; /* Operation not supported */
public final static int GAIERR = 10; /* Getaddrinfo error */
public final static int LIBCERR = 11; /* Libc error */
public final static int UNKNOWNTTY = 12; /* Couldn't find out the tty number */
public final static int PROTOCOL_VERSION = 13; /* Bad protocol version */
public final static int EOF = 14; /* Unexpected end of file */
public final static int EMPTYKEY = 15; /* Too many levels of recursion */
public final static int DRIVERERROR = 16; /* Packet returned by driver too large */
}

View File

@@ -0,0 +1,35 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Exception extends java.lang.Exception {
static final long serialVersionUID = 0;
long handle;
int errno;
long packettype;
byte buf[];
public final native String toString ();
public Exception (long handle, int errno, int packettype, byte buf[]) {
this.handle = handle;
this.errno = errno;
this.packettype = packettype;
this.buf = buf;
}
}

View File

@@ -0,0 +1,55 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Key {
protected final long code;
protected int type;
protected int command;
protected int argument;
protected int flags;
public final native void expandKeyCode (long code);
public Key (long code) {
this.code = code;
expandKeyCode(code);
}
public long getCode () {
return code;
}
public int getType () {
return type;
}
public int getCommand () {
return command;
}
public int getArgument () {
return argument;
}
public int getFlags () {
return flags;
}
}

View File

@@ -0,0 +1,63 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Native {
static {
System.loadLibrary("brlapi_java");
}
protected long handle;
protected native int openConnection (
ConnectionSettings desiredSettings,
ConnectionSettings actualSettings)
throws Error;
public native void closeConnection ();
public native String getDriverName () throws Error;
public native DisplaySize getDisplaySize () throws Error;
public native int enterTtyMode (int tty, String driver) throws Error;
public native void enterTtyModeWithPath (int ttys[], String driver) throws Error;
public native void leaveTtyMode () throws Error;
public native void setFocus (int tty) throws Error;
protected native void writeTextNative (int cursor, String text) throws Error;
public native void writeDots (byte dots[]) throws Error;
public native void write (WriteArguments arguments) throws Error;
public native long readKey (boolean wait) throws Error;
public native void ignoreKeys (long type, long keys[]) throws Error;
public native void acceptKeys (long type, long keys[]) throws Error;
public native void ignoreAllKeys () throws Error;
public native void acceptAllKeys () throws Error;
public native void ignoreKeyRanges (long ranges[][]) throws Error;
public native void acceptKeyRanges (long ranges[][]) throws Error;
public native void enterRawMode (String driver) throws Error;
public native void leaveRawMode () throws Error;
public native int sendRaw (byte buffer[]) throws Error;
public native int recvRaw (byte buffer[]) throws Error;
public static native String getPacketTypeName (long type);
}

View File

@@ -0,0 +1,103 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class Test {
public static void main(String argv[]) {
ConnectionSettings settings = new ConnectionSettings();
{
int argi = 0;
while (argi < argv.length) {
String arg = argv[argi++];
if (arg.equals("-host")) {
if (argi == argv.length) {
System.err.println("Missing host specification.");
System.exit(2);
}
settings.host = argv[argi++];
continue;
}
System.err.println("Invalid option: " + arg);
System.exit(2);
}
}
try {
System.out.print("Connecting to BrlAPI... ");
Brlapi brlapi = new Brlapi(settings);
System.out.println("done (fd=" + brlapi.getFileDescriptor() + ")");
System.out.print("Connected to " + brlapi.getHost());
System.out.print(" using key file " + brlapi.getAuth());
System.out.println();
System.out.print("Driver is " + brlapi.getDriverName());
System.out.println();
DisplaySize size = brlapi.getDisplaySize();
System.out.println("Display size is " + size.getWidth() + "x" + size.getHeight());
int tty = brlapi.enterTtyMode();
System.out.println("TTY is " + tty);
brlapi.writeText("ok !! €", Brlapi.CURSOR_OFF);
brlapi.writeText(null, 1);
long key[] = {0};
brlapi.ignoreKeys(Brlapi.rangeType_all, key);
key[0] = Constants.KEY_TYPE_CMD;
brlapi.acceptKeys(Brlapi.rangeType_type, key);
long keys[][] = {{0,2},{5,7}};
brlapi.ignoreKeyRanges(keys);
printKey(new Key(brlapi.readKey(true)));
{
WriteArguments args = new WriteArguments();
args.regionBegin = 10;
args.regionSize = 20;
args.text = "Key Pressed € ";
args.andMask = "????????????????????".getBytes();
args.cursor = 3;
brlapi.write(args);
}
printKey(new Key(brlapi.readKey(true)));
brlapi.leaveTtyMode();
brlapi.closeConnection();
} catch (Error error) {
System.out.println("got error: " + error);
System.exit(3);
}
}
private static void printKey (Key key) {
System.out.println("got key " + Long.toHexString(key.getCode()) + " (" +
Integer.toHexString(key.getType()) + "," +
Integer.toHexString(key.getCommand()) + "," +
Integer.toHexString(key.getArgument()) + "," +
Integer.toHexString(key.getFlags()) + ")");
}
}

View File

@@ -0,0 +1,33 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
package org.a11y.BrlAPI;
public class WriteArguments {
public int displayNumber = Brlapi.DISPLAY_DEFAULT;
public int regionBegin = 0;
public int regionSize = 0;
public String text = null;
public byte andMask[] = null;
public byte orMask[] = null;
public int cursor = Brlapi.CURSOR_LEAVE;
public WriteArguments () {
}
}

View File

@@ -0,0 +1,27 @@
#!/bin/bash -p
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
# Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
currentDirectory="$(pwd)"
export LD_LIBRARY_PATH="${currentDirectory}"
export LD_PRELOAD="${currentDirectory}/../../Programs/libbrlapi.so"
exec java -classpath "${currentDirectory}/classes" org.a11y.BrlAPI.Test "${@}"
exit "${?}"

View File

@@ -0,0 +1,809 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2006-2012 by
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
#include <jni.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#define BRLAPI_NO_DEPRECATED
#define BRLAPI_NO_SINGLE_SESSION
#include "brlapi.h"
#define ERR_NULLPTR 0
#define ERR_OUTOFMEM 1
#define ERR_INDEX 2
/* TODO: threads */
static JNIEnv *env;
static void ThrowException(JNIEnv *jenv, int code, const char *msg) {
jclass excep;
const char *exception;
switch (code) {
case ERR_NULLPTR: exception = "java/lang/NullPointerException"; break;
case ERR_OUTOFMEM: exception = "java/lang/OutOfMemoryError"; break;
case ERR_INDEX: exception = "java/lang/IndexOutOfBoundsException"; break;
default: exception = "java/lang/UnknownError"; break;
}
(*jenv)->ExceptionClear(jenv);
excep = (*jenv)->FindClass(jenv, exception);
if (excep)
(*jenv)->ThrowNew(jenv, excep, msg);
else
fprintf(stderr,"couldn't find exception %s !\n",exception);
}
static void ThrowError(JNIEnv *jenv, const char *msg) {
const char *error = brlapi_strerror(&brlapi_error);
int lenmsg = strlen(msg);
int lenerr = strlen(error);
jclass jcexcep;
jmethodID jinit;
jthrowable jexcep;
jstring errfun = NULL;
{
char message[lenmsg + 2 + lenerr + 1];
snprintf(message, sizeof(message), "%s: %s", msg, error);
if (!(jcexcep = (*jenv)->FindClass(jenv, "org/a11y/BrlAPI/Error"))) {
ThrowException(jenv, ERR_NULLPTR, "ThrowBrlapiErrorFindClass");
return;
}
if (!(jinit = (*jenv)->GetMethodID(jenv, jcexcep, "<init>", "(IIILjava/lang/String;)V"))) {
ThrowException(jenv, ERR_NULLPTR, "ThrowBrlapiErrorGetMethodID");
return;
}
if (brlapi_errfun)
errfun = (*jenv)->NewStringUTF(jenv, brlapi_errfun);
if (!(jexcep = (*jenv)->NewObject(jenv, jcexcep, jinit, brlapi_errno, brlapi_libcerrno, brlapi_gaierrno, errfun))) {
ThrowException(jenv, ERR_NULLPTR, "ThrowBrlapiErrorNewObject");
return;
}
(*jenv)->ExceptionClear(jenv);
(*jenv)->Throw(jenv, jexcep);
}
}
static void BRLAPI_STDCALL exceptionHandler(brlapi_handle_t *handle, int err, brlapi_packetType_t type, const void *buf, size_t size) {
jarray jbuf;
jclass jcexcep;
jmethodID jinit;
jthrowable jexcep;
if (!(jbuf = (*env)->NewByteArray(env, size))) {
ThrowException(env, ERR_OUTOFMEM, __func__);
return;
}
(*env)->SetByteArrayRegion(env, jbuf, 0, size, (jbyte *) buf);
if (!(jcexcep = (*env)->FindClass(env, "org/a11y/BrlAPI/Exception"))) {
ThrowException(env, ERR_NULLPTR, "exceptionHandlerFindClass");
return;
}
if (!(jinit = (*env)->GetMethodID(env, jcexcep, "<init>", "(JII[B)V"))) {
ThrowException(env, ERR_NULLPTR, "exceptionHandlerGetMethodID");
return;
}
if (!(jexcep = (*env)->NewObject(env, jcexcep, jinit, (jlong)(intptr_t) handle, err, type, jbuf))) {
ThrowException(env, ERR_NULLPTR, "exceptionHandlerNewObject");
return;
}
(*env)->ExceptionClear(env);
(*env)->Throw(env, jexcep);
return;
}
#define GET_CLASS(jenv, class, obj, ret) \
if (!((class) = (*(jenv))->GetObjectClass((jenv), (obj)))) { \
ThrowException((jenv), ERR_NULLPTR, #obj " -> " #class); \
return ret; \
}
#define GET_ID(jenv, id, class, field, sig, ret) \
if (!((id) = (*(jenv))->GetFieldID((jenv), (class), (field), (sig)))) {\
ThrowException((jenv), ERR_NULLPTR, #class "." field); \
return ret; \
}
#define GET_HANDLE(jenv, jobj, ret) \
brlapi_handle_t *handle; \
jclass jcls; \
jfieldID handleID; \
GET_CLASS(jenv, jcls, jobj, ret); \
GET_ID(jenv, handleID, jcls, "handle", "J", ret); \
handle = (void*) (intptr_t) (*jenv)->GetLongField(jenv, jobj, handleID); \
if (!handle) { \
ThrowException((jenv), ERR_NULLPTR, "connection has been closed"); \
return ret; \
}
JNIEXPORT jint JNICALL Java_org_a11y_BrlAPI_Native_openConnection(JNIEnv *jenv, jobject jobj, jobject JclientSettings , jobject JusedSettings) {
jclass jcclientSettings, jcusedSettings;
jfieldID clientAuthID = NULL, clientHostID = NULL, usedAuthID, usedHostID;
brlapi_connectionSettings_t clientSettings, usedSettings,
*PclientSettings, *PusedSettings;
int result;
jstring auth = NULL, host = NULL;
const char *str;
jfieldID handleID;
brlapi_handle_t *handle;
jclass jcls;
GET_CLASS(jenv, jcls, jobj, -1);
GET_ID(jenv, handleID, jcls, "handle", "J", -1);
handle = malloc(brlapi_getHandleSize());
if (!handle) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
(*jenv)->SetLongField(jenv, jobj, handleID, (jlong) (intptr_t) handle);
env = jenv;
if (JclientSettings) {
GET_CLASS(jenv, jcclientSettings, JclientSettings, -1);
GET_ID(jenv, clientAuthID, jcclientSettings, "auth", "Ljava/lang/String;", -1);
GET_ID(jenv, clientHostID, jcclientSettings, "host", "Ljava/lang/String;", -1);
PclientSettings = &clientSettings;
if ((auth = (*jenv)->GetObjectField(jenv, JclientSettings, clientAuthID))) {
if (!(clientSettings.auth = (char *)(*jenv)->GetStringUTFChars(jenv, auth, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
} else clientSettings.auth = NULL;
if ((host = (*jenv)->GetObjectField(jenv, JclientSettings, clientHostID))) {
if (!(clientSettings.host = (char *)(*jenv)->GetStringUTFChars(jenv, host, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
} else clientSettings.host = NULL;
} else PclientSettings = NULL;
if (JusedSettings)
PusedSettings = &usedSettings;
else
PusedSettings = NULL;
if ((result = brlapi__openConnection(handle, PclientSettings, PusedSettings)) < 0) {
ThrowError(jenv, __func__);
return -1;
}
(void) brlapi__setExceptionHandler(handle, exceptionHandler);
if (JclientSettings) {
if (clientSettings.auth)
(*jenv)->ReleaseStringUTFChars(jenv, auth, clientSettings.auth);
if (clientSettings.host)
(*jenv)->ReleaseStringUTFChars(jenv, host, clientSettings.host);
}
if (PusedSettings) {
GET_CLASS(jenv, jcusedSettings, JusedSettings, -1);
GET_ID(jenv, usedAuthID, jcusedSettings, "auth", "Ljava/lang/String;", -1);
GET_ID(jenv, usedHostID, jcusedSettings, "host", "Ljava/lang/String;", -1);
auth = (*jenv)->NewStringUTF(jenv, usedSettings.auth);
if (!auth) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
str = (*jenv)->GetStringUTFChars(jenv, auth, NULL);
(*jenv)->SetObjectField(jenv, JusedSettings, clientAuthID, auth);
(*jenv)->ReleaseStringUTFChars(jenv, auth, str);
host = (*jenv)->NewStringUTF(jenv, usedSettings.host);
if (!host) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
str = (*jenv)->GetStringUTFChars(jenv, host, NULL);
(*jenv)->SetObjectField(jenv, JusedSettings, clientHostID, host);
(*jenv)->ReleaseStringUTFChars(jenv, host, str);
}
return (jint) result;
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_closeConnection(JNIEnv *jenv, jobject jobj) {
env = jenv;
GET_HANDLE(jenv, jobj, );
brlapi__closeConnection(handle);
free((void*) (intptr_t) handle);
(*jenv)->SetLongField(jenv, jobj, handleID, (jlong) (intptr_t) NULL);
}
JNIEXPORT jstring JNICALL Java_org_a11y_BrlAPI_Native_getDriverName(JNIEnv *jenv, jobject jobj) {
char name[32];
GET_HANDLE(jenv, jobj, NULL);
env = jenv;
if (brlapi__getDriverName(handle, name, sizeof(name)) < 0) {
ThrowError(jenv, __func__);
return NULL;
}
name[sizeof(name)-1] = 0;
return (*jenv)->NewStringUTF(jenv, name);
}
JNIEXPORT jobject JNICALL Java_org_a11y_BrlAPI_Native_getDisplaySize(JNIEnv *jenv, jobject jobj) {
unsigned int x, y;
jclass jcsize;
jmethodID jinit;
jobject jsize;
GET_HANDLE(jenv, jobj, NULL);
env = jenv;
if (brlapi__getDisplaySize(handle, &x, &y) < 0) {
ThrowError(jenv, __func__);
return NULL;
}
if (!(jcsize = (*jenv)->FindClass(jenv, "org/a11y/BrlAPI/DisplaySize"))) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return NULL;
}
if (!(jinit = (*jenv)->GetMethodID(jenv, jcsize, "<init>", "(II)V"))) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return NULL;
}
if (!(jsize = (*jenv)->NewObject(jenv, jcsize, jinit, x, y))) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return NULL;
}
return jsize;
}
JNIEXPORT jint JNICALL Java_org_a11y_BrlAPI_Native_enterTtyMode(JNIEnv *jenv, jobject jobj, jint jtty, jstring jdriver) {
int tty ;
char *driver;
int result;
GET_HANDLE(jenv, jobj, -1);
env = jenv;
tty = (int)jtty;
if (!jdriver)
driver = NULL;
else
if (!(driver = (char *)(*jenv)->GetStringUTFChars(jenv, jdriver, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return -1;
}
result = brlapi__enterTtyMode(handle, tty,driver);
if (result < 0) {
ThrowError(jenv, __func__);
return -1;
}
return (jint) result;
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_enterTtyModeWithPath(JNIEnv *jenv, jobject jobj, jintArray jttys, jstring jdriver) {
jint *ttys ;
char *driver;
int result;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!jttys) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
if (!(ttys = (*jenv)->GetIntArrayElements(jenv, jttys, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return;
}
if (!jdriver) {
driver = NULL;
} else if (!(driver = (char *)(*jenv)->GetStringUTFChars(jenv, jdriver, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return;
}
result = brlapi__enterTtyModeWithPath(handle, ttys,(*jenv)->GetArrayLength(jenv,jttys),driver);
(*jenv)->ReleaseIntArrayElements(jenv, jttys, ttys, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_leaveTtyMode(JNIEnv *jenv, jobject jobj) {
env = jenv;
GET_HANDLE(jenv, jobj, );
if (brlapi__leaveTtyMode(handle) < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_setFocus(JNIEnv *jenv, jobject jobj, jint jarg1) {
int arg1 ;
GET_HANDLE(jenv, jobj, );
env = jenv;
arg1 = (int)jarg1;
if (brlapi__setFocus(handle, arg1) < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_writeTextNative(JNIEnv *jenv, jobject jobj, jint jarg1, jstring jarg2) {
brlapi_writeArguments_t s = BRLAPI_WRITEARGUMENTS_INITIALIZER;
int result;
GET_HANDLE(jenv, jobj, );
env = jenv;
s.cursor = (int)jarg1;
if (jarg2) {
s.regionBegin = 1;
s.regionSize = (*jenv)->GetStringLength(jenv, jarg2);
if (!(s.text = (char *)(*jenv)->GetStringUTFChars(jenv, jarg2, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return;
}
s.charset = "UTF-8";
}
result = brlapi__write(handle, &s);
if (jarg2)
(*jenv)->ReleaseStringUTFChars(jenv, jarg2, s.text);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_writeDots(JNIEnv *jenv, jobject jobj, jbyteArray jarg1) {
jbyte *arg1;
int result;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!jarg1) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
arg1 = (*jenv)->GetByteArrayElements(jenv, jarg1, NULL);
if (!arg1) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return;
}
result = brlapi__writeDots(handle, (const unsigned char *)arg1);
(*jenv)->ReleaseByteArrayElements(jenv, jarg1, arg1, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_write(JNIEnv *jenv, jobject jobj, jobject jarguments) {
brlapi_writeArguments_t arguments = BRLAPI_WRITEARGUMENTS_INITIALIZER;
int result;
jstring text, andMask, orMask;
jclass jcwriteArguments;
jfieldID displayNumberID, regionBeginID, regionSizeID,
textID, andMaskID, orMaskID, cursorID;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!jarguments) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
GET_CLASS(jenv, jcwriteArguments, jarguments,);
GET_ID(jenv, displayNumberID,jcwriteArguments, "displayNumber", "I",);
GET_ID(jenv, regionBeginID, jcwriteArguments, "regionBegin", "I",);
GET_ID(jenv, regionSizeID, jcwriteArguments, "regionSize", "I",);
GET_ID(jenv, textID, jcwriteArguments, "text", "Ljava/lang/String;",);
GET_ID(jenv, andMaskID, jcwriteArguments, "andMask", "[B",);
GET_ID(jenv, orMaskID, jcwriteArguments, "orMask", "[B",);
GET_ID(jenv, cursorID, jcwriteArguments, "cursor", "I",);
arguments.displayNumber = (*jenv)->GetIntField(jenv, jarguments, displayNumberID);
arguments.regionBegin = (*jenv)->GetIntField(jenv, jarguments, regionBeginID);
arguments.regionSize = (*jenv)->GetIntField(jenv, jarguments, regionSizeID);
if ((text = (*jenv)->GetObjectField(jenv, jarguments, textID)))
arguments.text = (char *)(*jenv)->GetStringUTFChars(jenv, text, NULL);
else
arguments.text = NULL;
if ((andMask = (*jenv)->GetObjectField(jenv, jarguments, andMaskID)))
arguments.andMask = (unsigned char *)(*jenv)->GetByteArrayElements(jenv, andMask, NULL);
else
arguments.andMask = NULL;
if ((orMask = (*jenv)->GetObjectField(jenv, jarguments, orMaskID)))
arguments.orMask = (unsigned char *)(*jenv)->GetByteArrayElements(jenv, orMask, NULL);
else
arguments.orMask = NULL;
arguments.cursor = (*jenv)->GetIntField(jenv, jarguments, cursorID);
arguments.charset = "UTF-8";
result = brlapi__write(handle, &arguments);
if (text)
(*jenv)->ReleaseStringUTFChars(jenv, text, arguments.text);
if (andMask)
(*jenv)->ReleaseByteArrayElements(jenv, andMask, (jbyte*) arguments.andMask, JNI_ABORT);
if (orMask)
(*jenv)->ReleaseByteArrayElements(jenv, orMask, (jbyte*) arguments.orMask, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT jlong JNICALL Java_org_a11y_BrlAPI_Native_readKey(JNIEnv *jenv, jobject jobj, jboolean jblock) {
brlapi_keyCode_t code;
int result;
GET_HANDLE(jenv, jobj, -1);
env = jenv;
result = brlapi__readKey(handle, (int) jblock, &code);
if (result < 0) {
ThrowError(jenv, __func__);
return -1;
}
if (!result) return (jlong)(-1);
return (jlong)code;
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_ignoreKeys(JNIEnv *jenv, jobject jobj, jlong jrange, jlongArray js) {
jlong *s;
unsigned int n;
int result;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!js) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, js);
s = (*jenv)->GetLongArrayElements(jenv, js, NULL);
// XXX jlong != brlapi_keyCode_t probably
result = brlapi__ignoreKeys(handle, jrange, (const brlapi_keyCode_t *)s, n);
(*jenv)->ReleaseLongArrayElements(jenv, js, s, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_acceptKeys(JNIEnv *jenv, jobject jobj, jlong jrange, jlongArray js) {
jlong *s;
unsigned int n;
int result;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!js) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, js);
s = (*jenv)->GetLongArrayElements(jenv, js, NULL);
// XXX jlong != brlapi_keyCode_t probably
result = brlapi__acceptKeys(handle, jrange, (const brlapi_keyCode_t *)s, n);
(*jenv)->ReleaseLongArrayElements(jenv, js, s, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_ignoreAllKeys(JNIEnv *jenv, jobject jobj) {
GET_HANDLE(jenv, jobj, );
if (brlapi__ignoreAllKeys(handle) < 0)
ThrowError(jenv, __func__);
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_acceptAllKeys(JNIEnv *jenv, jobject jobj) {
GET_HANDLE(jenv, jobj, );
if (brlapi__acceptAllKeys(handle) < 0)
ThrowError(jenv, __func__);
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_ignoreKeyRanges(JNIEnv *jenv, jobject jobj, jobjectArray js) {
unsigned int n;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!js) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, js);
{
unsigned int i;
brlapi_range_t s[n];
for (i=0; i<n; i++) {
jlongArray jl = (*jenv)->GetObjectArrayElement(jenv, js, i);
jlong *l = (*jenv)->GetLongArrayElements(jenv, jl, NULL);
s[i].first = l[0];
s[i].last = l[1];
(*jenv)->ReleaseLongArrayElements(jenv, jl, l, JNI_ABORT);
}
if (brlapi__ignoreKeyRanges(handle, s, n)) {
ThrowError(jenv, __func__);
return;
}
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_acceptKeyRanges(JNIEnv *jenv, jobject jobj, jobjectArray js) {
unsigned int n;
GET_HANDLE(jenv, jobj, );
env = jenv;
if (!js) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, js);
{
unsigned int i;
brlapi_range_t s[n];
for (i=0; i<n; i++) {
jlongArray jl = (*jenv)->GetObjectArrayElement(jenv, js, i);
jlong *l = (*jenv)->GetLongArrayElements(jenv, jl, NULL);
s[i].first = l[0];
s[i].last = l[1];
(*jenv)->ReleaseLongArrayElements(jenv, jl, l, JNI_ABORT);
}
if (brlapi__acceptKeyRanges(handle, s, n)) {
ThrowError(jenv, __func__);
return;
}
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_enterRawMode(JNIEnv *jenv, jobject jobj, jstring jdriver) {
env = jenv;
char *driver;
int res;
GET_HANDLE(jenv, jobj, );
if (!jdriver) {
driver = NULL;
} else if (!(driver = (char *)(*jenv)->GetStringUTFChars(jenv, jdriver, NULL))) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return;
}
res = brlapi__enterRawMode(handle, driver);
if (jdriver) (*jenv)->ReleaseStringUTFChars(jenv, jdriver, driver);
if (res < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Native_leaveRawMode(JNIEnv *jenv, jobject jobj) {
env = jenv;
GET_HANDLE(jenv, jobj, );
if (brlapi__leaveRawMode(handle) < 0) {
ThrowError(jenv, __func__);
return;
}
}
JNIEXPORT jint JNICALL Java_org_a11y_BrlAPI_Native_sendRaw(JNIEnv *jenv, jobject jobj, jbyteArray jbuf) {
jbyte *buf;
unsigned int n;
int result;
GET_HANDLE(jenv, jobj, -1);
env = jenv;
if (!jbuf) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return -1;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, jbuf);
buf = (*jenv)->GetByteArrayElements(jenv, jbuf, NULL);
result = brlapi__sendRaw(handle, (const unsigned char *)buf, n);
(*jenv)->ReleaseByteArrayElements(jenv, jbuf, buf, JNI_ABORT);
if (result < 0) {
ThrowError(jenv, __func__);
return -1;
}
return (jint) result;
}
JNIEXPORT jint JNICALL Java_org_a11y_BrlAPI_Native_recvRaw(JNIEnv *jenv, jobject jobj, jbyteArray jbuf) {
jbyte *buf;
unsigned int n;
int result;
GET_HANDLE(jenv, jobj, -1);
env = jenv;
if (!jbuf) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return -1;
}
n = (unsigned int) (*jenv)->GetArrayLength(jenv, jbuf);
buf = (*jenv)->GetByteArrayElements(jenv, jbuf, NULL);
result = brlapi__recvRaw(handle, (unsigned char *)buf, n);
if (result < 0) {
(*jenv)->ReleaseByteArrayElements(jenv, jbuf, buf, JNI_ABORT);
ThrowError(jenv, __func__);
return -1;
}
(*jenv)->ReleaseByteArrayElements(jenv, jbuf, buf, 0);
return (jint) result;
}
JNIEXPORT jstring JNICALL Java_org_a11y_BrlAPI_Native_getPacketTypeName(JNIEnv *jenv, jclass jcls, jlong jtype) {
const char *type;
env = jenv;
if (!(type = brlapi_getPacketTypeName((brlapi_packetType_t) jtype))) {
ThrowError(jenv, __func__);
return NULL;
}
return (*jenv)->NewStringUTF(jenv, type);
}
JNIEXPORT jstring JNICALL Java_org_a11y_BrlAPI_Error_toString (JNIEnv *jenv, jobject jerr) {
jclass jcerr;
jfieldID brlerrnoID, libcerrnoID, gaierrnoID, errfunID;
jstring jerrfun;
brlapi_error_t error;
const char *res;
env = jenv;
GET_CLASS(jenv, jcerr, jerr, NULL);
GET_ID(jenv, brlerrnoID, jcerr, "brlerrno", "I", NULL);
GET_ID(jenv, libcerrnoID, jcerr, "libcerrno", "I", NULL);
GET_ID(jenv, gaierrnoID, jcerr, "gaierrno", "I", NULL);
GET_ID(jenv, errfunID, jcerr, "errfun", "Ljava/lang/String;", NULL);
error.brlerrno = (*jenv)->GetIntField(jenv, jerr, brlerrnoID);
error.libcerrno = (*jenv)->GetIntField(jenv, jerr, libcerrnoID);
error.gaierrno = (*jenv)->GetIntField(jenv, jerr, gaierrnoID);
if (!(jerrfun = (*jenv)->GetObjectField(jenv, jerr, errfunID))) {
error.errfun = NULL;
} else if (!(error.errfun = (char *)(*jenv)->GetStringUTFChars(jenv, jerrfun, NULL))) {
ThrowException(jenv, ERR_OUTOFMEM, __func__);
return NULL;
}
res = brlapi_strerror(&error);
if (jerrfun)
(*jenv)->ReleaseStringUTFChars(jenv, jerrfun, error.errfun);
return (*jenv)->NewStringUTF(jenv, res);
}
JNIEXPORT jstring JNICALL Java_org_a11y_BrlAPI_Exception_toString (JNIEnv *jenv, jobject jerr) {
jclass jcerr;
jfieldID handleID, errnoID, typeID, bufID;
jarray jbuf;
brlapi_handle_t *handle;
int errno;
long type;
jbyte *buf;
int size;
char errmsg[256];
brlapi_error_t error;
env = jenv;
if (!jerr) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return NULL;
}
GET_CLASS(jenv, jcerr, jerr, NULL);
GET_ID(jenv, handleID, jcerr, "handle", "I", NULL);
GET_ID(jenv, errnoID, jcerr, "errno", "I", NULL);
GET_ID(jenv, typeID, jcerr, "type", "I", NULL);
GET_ID(jenv, bufID, jcerr, "buf", "I", NULL);
handle = (void*)(intptr_t)(*jenv)->GetLongField(jenv, jerr, handleID);
error.brlerrno = (*jenv)->GetIntField(jenv, jerr, errnoID);
type = (*jenv)->GetIntField(jenv, jerr, typeID);
if (!(jbuf = (*jenv)->GetObjectField(jenv, jerr, typeID))) {
ThrowException(jenv, ERR_NULLPTR, __func__);
return NULL;
}
size = (*jenv)->GetArrayLength(jenv, jbuf);
buf = (*jenv)->GetByteArrayElements(jenv, jbuf, NULL);
brlapi__strexception(handle, errmsg, sizeof(errmsg), errno, type, buf, size);
return (*jenv)->NewStringUTF(jenv, errmsg);
}
JNIEXPORT void JNICALL Java_org_a11y_BrlAPI_Key_expandKeyCode (JNIEnv *jenv, jobject obj, jlong jkey) {
jclass jckey;
jfieldID typeID, commandID, argumentID, flagsID;
brlapi_keyCode_t key = jkey;
brlapi_expandedKeyCode_t ekc;
GET_CLASS(jenv, jckey, obj, );
GET_ID(jenv, typeID, jckey, "type", "I", );
GET_ID(jenv, commandID, jckey, "command", "I", );
GET_ID(jenv, argumentID, jckey, "argument", "I", );
GET_ID(jenv, flagsID, jckey, "flags", "I", );
brlapi_expandKeyCode(key, &ekc);
(*jenv)->SetIntField(jenv, obj, typeID, ekc.type);
(*jenv)->SetIntField(jenv, obj, commandID, ekc.command);
(*jenv)->SetIntField(jenv, obj, argumentID, ekc.argument);
(*jenv)->SetIntField(jenv, obj, flagsID, ekc.flags);
}

View File

@@ -0,0 +1,110 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
# Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
AC_DEFUN([BRLTTY_JAVA_BINDINGS], [dnl
if test -n "${JAVA_HOME}"
then
BRLTTY_JAVA_COMPILER([javac], ["${JAVA_HOME}/bin"])
else
BRLTTY_JAVA_COMPILER([javac], [], [dnl
BRLTTY_JAVA_COMPILER([javac], [/usr/java/bin /usr/java/jdk*/bin], [dnl
BRLTTY_JAVA_COMPILER([gcj])
])
])
fi
JAVA_OK=false
if test -n "${JAVAC_PATH}"
then
AC_MSG_NOTICE([Java compiler is ${JAVAC_PATH}])
JAVA_OK=true
JAVA_ENCODING="UTF-8"
case "${JAVAC_NAME}"
in
javac) JAVAC_OPTIONS="-encoding ${JAVA_ENCODING}";;
gcj) JAVAC_OPTIONS="-C --encoding=${JAVA_ENCODING}";;
*) JAVAC_OPTIONS="";;
esac
AC_SUBST([JAVAC], ["${JAVAC_PATH} ${JAVAC_OPTIONS}"])
JAVA_BIN=`AS_DIRNAME("${JAVAC_PATH}")`
JAVA_ROOT=`AS_DIRNAME("${JAVA_BIN}")`
AC_CHECK_PROGS([JAVADOC_NAME], [javadoc gjdoc], [], ["${JAVA_BIN}"])
if test -n "${JAVADOC_NAME}"
then
JAVADOC_PATH="${JAVA_BIN}/${JAVADOC_NAME}"
else
JAVADOC_PATH=":"
fi
AC_SUBST([JAVADOC], ["${JAVADOC_PATH} -encoding ${JAVA_ENCODING}"])
AC_CHECK_PROGS([JAR_NAME], [jar gjar], [JAR_NOT_FOUND_BY_CONFIGURE], ["${JAVA_BIN}"])
AC_SUBST([JAR], ["${JAVA_BIN}/${JAR_NAME}"])
BRLTTY_JAVA_DIRECTORY([JAR], [/usr/share/java])
JAVA_JNI_INC="${JAVA_ROOT}/include"
JAVA_JNI_HDR="jni.h"
JAVA_JNI_FLAGS=""
AC_CHECK_HEADER([${JAVA_JNI_HDR}], [], [AC_CHECK_FILE(["${JAVA_JNI_INC}/${JAVA_JNI_HDR}"], [JAVA_JNI_FLAGS="-I${JAVA_JNI_INC}"], [JAVA_OK=false])])
AC_SUBST([JAVA_JNI_HDR])
AC_SUBST([JAVA_JNI_INC])
AC_SUBST([JAVA_JNI_FLAGS])
BRLTTY_JAVA_DIRECTORY([JNI], [/usr/lib/java /usr/lib/jni])
else
AC_MSG_WARN([Java compiler not found])
fi
AC_SUBST([JAVA_OK])
])
AC_DEFUN([BRLTTY_JAVA_COMPILER], [dnl
AC_PATH_PROG([JAVAC_PATH], [$1], [], [$2])
if test -n "${JAVAC_PATH}"
then
JAVAC_NAME="$1"
ifelse(len([$3]), 0, [], [dnl
else
$3
])dnl
fi])
AC_DEFUN([BRLTTY_JAVA_DIRECTORY], [dnl
JAVA_$1_DIR=""
for directory in $2
do
test -d "${directory}" && {
JAVA_$1_DIR="${directory}"
break
}
done
if test -n "${JAVA_$1_DIR}"
then
JAVA_$1="yes"
AC_MSG_NOTICE([Java] m4_tolower([$1]) [installation directory is ${JAVA_$1_DIR}])
else
JAVA_$1="no"
AC_MSG_WARN([no commonly used] m4_tolower([$1]) [installation directory])
fi
AC_SUBST([JAVA_$1])
AC_SUBST([JAVA_$1_DIR])
])

View File

@@ -0,0 +1,121 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
# Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
BEGIN {
print "package org.a11y.BrlAPI;"
print ""
print "public interface Constants {"
}
END {
print "}"
}
function brlCommand(name, symbol, value, help) {
writeCommandDefinition(name, value, help)
}
function brlBlock(name, symbol, value, help) {
if (name == "PASSCHAR") return
if (name == "PASSKEY") return
if (value ~ /^0[xX][0-9a-fA-F]+00$/) {
writeCommandDefinition(name, hexadecimalValue(value) "00", help)
}
}
function brlKey(name, symbol, value, help) {
}
function brlFlag(name, symbol, value, help) {
if (value ~ /^0[xX][0-9a-fA-F]+0000$/) {
value = hexadecimalValue(substr(value, 1, length(value)-4))
if (name ~ /^CHAR_/) {
name = substr(name, 6)
} else {
value = value "00"
}
} else if (value ~ /^\(/) {
gsub("BRL_FLG_", "KEY_FLG_", value)
} else {
return
}
writeJavaConstant("int", "KEY_FLG_" name, value, help)
}
function brlDot(number, symbol, value, help) {
writeJavaConstant("byte", "DOT" number, "(byte) (" value ")", help)
}
function apiConstant(name, symbol, value, help) {
writeJavaConstant("int", name, value);
}
function apiMask(name, symbol, value, help) {
writeJavaConstant("long", "KEY_" name, hexadecimalValue(value) "L");
}
function apiShift(name, symbol, value, help) {
writeJavaConstant("int", "KEY_" name, hexadecimalValue(value));
}
function apiType(name, symbol, value, help) {
writeJavaConstant("int", "KEY_TYPE_" name, hexadecimalValue(value));
}
function apiKey(name, symbol, value, help) {
value = hexadecimalValue(value)
if (name == "FUNCTION") {
for (i=0; i<35; ++i) {
writeKeyDefinition("F" (i+1), "(" value " + " i ")")
}
} else {
writeKeyDefinition(name, value)
}
}
function apiRangeType(name, symbol, value, help) {
writeJavaConstant("int", "rangeType_" name, value, help)
}
function writeCommandDefinition(name, value, help) {
writeJavaConstant("int", "KEY_CMD_" name, value, help)
}
function writeKeyDefinition(name, value) {
writeJavaConstant("int", "KEY_SYM_" name, value)
}
function writeJavaConstant(type, name, value, help) {
writeJavadocComment(help)
print " " type " " name " = " value ";"
}
function writeJavadocComment(text) {
if (length(text) > 0) print " /** " text " */"
}
function hexadecimalValue(value) {
value = tolower(value)
gsub("x0+", "x", value)
gsub("x$", "x0", value)
return value
}

View File

@@ -0,0 +1,49 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
All Classes
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<FONT size="+1" CLASS="FrameHeadingFont">
<B>All Classes</B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI" target="classFrame">Brlapi</A>
<BR>
<A HREF="org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI" target="classFrame">ConnectionSettings</A>
<BR>
<A HREF="org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI" target="classFrame"><I>Constants</I></A>
<BR>
<A HREF="org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI" target="classFrame">DisplaySize</A>
<BR>
<A HREF="org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI" target="classFrame">Error</A>
<BR>
<A HREF="org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI" target="classFrame">Exception</A>
<BR>
<A HREF="org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI" target="classFrame">Key</A>
<BR>
<A HREF="org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI" target="classFrame">Native</A>
<BR>
<A HREF="org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI" target="classFrame">Test</A>
<BR>
<A HREF="org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI" target="classFrame">WriteArguments</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
All Classes
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<FONT size="+1" CLASS="FrameHeadingFont">
<B>All Classes</B></FONT>
<BR>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI">Brlapi</A>
<BR>
<A HREF="org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>
<BR>
<A HREF="org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><I>Constants</I></A>
<BR>
<A HREF="org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A>
<BR>
<A HREF="org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A>
<BR>
<A HREF="org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI">Exception</A>
<BR>
<A HREF="org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI">Key</A>
<BR>
<A HREF="org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI">Native</A>
<BR>
<A HREF="org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI">Test</A>
<BR>
<A HREF="org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A>
<BR>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,144 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Deprecated List
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Deprecated List";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Deprecated API</B></H2>
</CENTER>
<HR SIZE="4" NOSHADE>
<B>Contents</B><UL>
</UL>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,215 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
API Help
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="API Help";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H1>
How This API Document Is Organized</H1>
</CENTER>
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
Package</H3>
<BLOCKQUOTE>
<P>
Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
</BLOCKQUOTE>
<H3>
Class/Interface</H3>
<BLOCKQUOTE>
<P>
Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
<P>
<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
<P>
<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
</BLOCKQUOTE>
<H3>
Annotation Type</H3>
<BLOCKQUOTE>
<P>
Each annotation type has its own separate page with the following sections:<UL>
<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
</BLOCKQUOTE>
</BLOCKQUOTE>
<H3>
Enum</H3>
<BLOCKQUOTE>
<P>
Each enum has its own separate page with the following sections:<UL>
<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
</BLOCKQUOTE>
<H3>
Use</H3>
<BLOCKQUOTE>
Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</BLOCKQUOTE>
<H3>
Tree (Class Hierarchy)</H3>
<BLOCKQUOTE>
There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
</BLOCKQUOTE>
<H3>
Deprecated API</H3>
<BLOCKQUOTE>
The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
<H3>
Index</H3>
<BLOCKQUOTE>
The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
<H3>
Prev/Next</H3>
These links take you to the next or previous class, interface, package, or related page.<H3>
Frames/No Frames</H3>
These links show and hide the HTML frames. All pages are available with or without frames.
<P>
<H3>
Serialized Form</H3>
Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
<P>
<H3>
Constant Field Values</H3>
The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
<P>
<FONT SIZE="-1">
<EM>
This help file applies to API documentation generated using the standard doclet.</EM>
</FONT>
<BR>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Fri Nov 19 06:05:12 CET 2010-->
<TITLE>
Generated Documentation (Untitled)
</TITLE>
<SCRIPT type="text/javascript">
targetPage = "" + window.location.search;
if (targetPage != "" && targetPage != "undefined")
targetPage = targetPage.substring(1);
if (targetPage.indexOf(":") != -1)
targetPage = "undefined";
function loadFrames() {
if (targetPage != "" && targetPage != "undefined")
top.classFrame.location = top.targetPage;
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
<FRAME src="org/a11y/BrlAPI/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
<NOFRAMES>
<H2>
Frame Alert</H2>
<P>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
<BR>
Link to<A HREF="org/a11y/BrlAPI/package-summary.html">Non-frame version.</A>
</NOFRAMES>
</FRAMESET>
</HTML>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,306 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
ConnectionSettings
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ConnectionSettings";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConnectionSettings.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/ConnectionSettings.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ConnectionSettings.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class ConnectionSettings</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.ConnectionSettings</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>ConnectionSettings</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html#auth">auth</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html#host">host</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html#ConnectionSettings()">ConnectionSettings</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html#ConnectionSettings(java.lang.String)">ConnectionSettings</A></B>(java.lang.String&nbsp;host)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html#ConnectionSettings(java.lang.String, java.lang.String)">ConnectionSettings</A></B>(java.lang.String&nbsp;host,
java.lang.String&nbsp;auth)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="host"><!-- --></A><H3>
host</H3>
<PRE>
public java.lang.String <B>host</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="auth"><!-- --></A><H3>
auth</H3>
<PRE>
public java.lang.String <B>auth</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="ConnectionSettings(java.lang.String, java.lang.String)"><!-- --></A><H3>
ConnectionSettings</H3>
<PRE>
public <B>ConnectionSettings</B>(java.lang.String&nbsp;host,
java.lang.String&nbsp;auth)</PRE>
<DL>
</DL>
<HR>
<A NAME="ConnectionSettings(java.lang.String)"><!-- --></A><H3>
ConnectionSettings</H3>
<PRE>
public <B>ConnectionSettings</B>(java.lang.String&nbsp;host)</PRE>
<DL>
</DL>
<HR>
<A NAME="ConnectionSettings()"><!-- --></A><H3>
ConnectionSettings</H3>
<PRE>
public <B>ConnectionSettings</B>()</PRE>
<DL>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConnectionSettings.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/ConnectionSettings.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ConnectionSettings.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,325 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
DisplaySize
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DisplaySize";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DisplaySize.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/DisplaySize.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DisplaySize.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class DisplaySize</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.DisplaySize</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>DisplaySize</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html#height">height</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html#width">width</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html#DisplaySize(int, int)">DisplaySize</A></B>(int&nbsp;width,
int&nbsp;height)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html#getHeight()">getHeight</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html#getWidth()">getWidth</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="width"><!-- --></A><H3>
width</H3>
<PRE>
protected final int <B>width</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="height"><!-- --></A><H3>
height</H3>
<PRE>
protected final int <B>height</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="DisplaySize(int, int)"><!-- --></A><H3>
DisplaySize</H3>
<PRE>
public <B>DisplaySize</B>(int&nbsp;width,
int&nbsp;height)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getWidth()"><!-- --></A><H3>
getWidth</H3>
<PRE>
public int <B>getWidth</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getHeight()"><!-- --></A><H3>
getHeight</H3>
<PRE>
public int <B>getHeight</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DisplaySize.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/DisplaySize.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DisplaySize.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,599 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
Error
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Error";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Error.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Error.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Error.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class Error</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
<IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Error
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.Error</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Error</B><DT>extends java.lang.Error</DL>
</PRE>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.a11y.BrlAPI.Error">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#CONNREFUSED">CONNREFUSED</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#DEVICEBUSY">DEVICEBUSY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#DRIVERERROR">DRIVERERROR</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#EMPTYKEY">EMPTYKEY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#EOF">EOF</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#GAIERR">GAIERR</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#ILLEGAL_INSTRUCTION">ILLEGAL_INSTRUCTION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#INVALID_PACKET">INVALID_PACKET</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#INVALID_PARAMETER">INVALID_PARAMETER</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#LIBCERR">LIBCERR</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#NOMEM">NOMEM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#OPNOTSUPP">OPNOTSUPP</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#PROTOCOL_VERSION">PROTOCOL_VERSION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#SUCCESS">SUCCESS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#TTYBUSY">TTYBUSY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#UNKNOWN_INSTRUCTION">UNKNOWN_INSTRUCTION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#UNKNOWNTTY">UNKNOWNTTY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#Error(int, int, int, java.lang.String)">Error</A></B>(int&nbsp;brlerrno,
int&nbsp;libcerrno,
int&nbsp;gaierrno,
java.lang.String&nbsp;errfun)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Error.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SUCCESS"><!-- --></A><H3>
SUCCESS</H3>
<PRE>
public static final int <B>SUCCESS</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.SUCCESS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NOMEM"><!-- --></A><H3>
NOMEM</H3>
<PRE>
public static final int <B>NOMEM</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.NOMEM">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TTYBUSY"><!-- --></A><H3>
TTYBUSY</H3>
<PRE>
public static final int <B>TTYBUSY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.TTYBUSY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DEVICEBUSY"><!-- --></A><H3>
DEVICEBUSY</H3>
<PRE>
public static final int <B>DEVICEBUSY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.DEVICEBUSY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="UNKNOWN_INSTRUCTION"><!-- --></A><H3>
UNKNOWN_INSTRUCTION</H3>
<PRE>
public static final int <B>UNKNOWN_INSTRUCTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.UNKNOWN_INSTRUCTION">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="ILLEGAL_INSTRUCTION"><!-- --></A><H3>
ILLEGAL_INSTRUCTION</H3>
<PRE>
public static final int <B>ILLEGAL_INSTRUCTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.ILLEGAL_INSTRUCTION">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="INVALID_PARAMETER"><!-- --></A><H3>
INVALID_PARAMETER</H3>
<PRE>
public static final int <B>INVALID_PARAMETER</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.INVALID_PARAMETER">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="INVALID_PACKET"><!-- --></A><H3>
INVALID_PACKET</H3>
<PRE>
public static final int <B>INVALID_PACKET</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.INVALID_PACKET">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CONNREFUSED"><!-- --></A><H3>
CONNREFUSED</H3>
<PRE>
public static final int <B>CONNREFUSED</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.CONNREFUSED">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="OPNOTSUPP"><!-- --></A><H3>
OPNOTSUPP</H3>
<PRE>
public static final int <B>OPNOTSUPP</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.OPNOTSUPP">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="GAIERR"><!-- --></A><H3>
GAIERR</H3>
<PRE>
public static final int <B>GAIERR</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.GAIERR">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="LIBCERR"><!-- --></A><H3>
LIBCERR</H3>
<PRE>
public static final int <B>LIBCERR</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.LIBCERR">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="UNKNOWNTTY"><!-- --></A><H3>
UNKNOWNTTY</H3>
<PRE>
public static final int <B>UNKNOWNTTY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.UNKNOWNTTY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PROTOCOL_VERSION"><!-- --></A><H3>
PROTOCOL_VERSION</H3>
<PRE>
public static final int <B>PROTOCOL_VERSION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.PROTOCOL_VERSION">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="EOF"><!-- --></A><H3>
EOF</H3>
<PRE>
public static final int <B>EOF</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.EOF">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="EMPTYKEY"><!-- --></A><H3>
EMPTYKEY</H3>
<PRE>
public static final int <B>EMPTYKEY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.EMPTYKEY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DRIVERERROR"><!-- --></A><H3>
DRIVERERROR</H3>
<PRE>
public static final int <B>DRIVERERROR</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.a11y.BrlAPI.Error.DRIVERERROR">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Error(int, int, int, java.lang.String)"><!-- --></A><H3>
Error</H3>
<PRE>
public <B>Error</B>(int&nbsp;brlerrno,
int&nbsp;libcerrno,
int&nbsp;gaierrno,
java.lang.String&nbsp;errfun)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public final java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Throwable</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Error.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Error.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Error.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,275 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
Exception
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Exception";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Exception.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Exception.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Exception.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class Exception</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
<IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.Exception</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Exception</B><DT>extends java.lang.Exception</DL>
</PRE>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.a11y.BrlAPI.Exception">Serialized Form</A></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Exception.html#Exception(long, int, int, byte[])">Exception</A></B>(long&nbsp;handle,
int&nbsp;errno,
int&nbsp;packettype,
byte[]&nbsp;buf)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Exception.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Exception(long, int, int, byte[])"><!-- --></A><H3>
Exception</H3>
<PRE>
public <B>Exception</B>(long&nbsp;handle,
int&nbsp;errno,
int&nbsp;packettype,
byte[]&nbsp;buf)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public final java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Throwable</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Exception.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Exception.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Exception.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,453 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
Key
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Key";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Key.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Key.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Key.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class Key</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.Key</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>Key</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#argument">argument</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#code">code</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#command">command</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#flags">flags</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#type">type</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#Key(long)">Key</A></B>(long&nbsp;code)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#expandKeyCode(long)">expandKeyCode</A></B>(long&nbsp;code)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#getArgument()">getArgument</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#getCode()">getCode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#getCommand()">getCommand</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#getFlags()">getFlags</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Key.html#getType()">getType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="code"><!-- --></A><H3>
code</H3>
<PRE>
protected final long <B>code</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="type"><!-- --></A><H3>
type</H3>
<PRE>
protected int <B>type</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="command"><!-- --></A><H3>
command</H3>
<PRE>
protected int <B>command</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="argument"><!-- --></A><H3>
argument</H3>
<PRE>
protected int <B>argument</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="flags"><!-- --></A><H3>
flags</H3>
<PRE>
protected int <B>flags</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Key(long)"><!-- --></A><H3>
Key</H3>
<PRE>
public <B>Key</B>(long&nbsp;code)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="expandKeyCode(long)"><!-- --></A><H3>
expandKeyCode</H3>
<PRE>
public final void <B>expandKeyCode</B>(long&nbsp;code)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getCode()"><!-- --></A><H3>
getCode</H3>
<PRE>
public long <B>getCode</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getType()"><!-- --></A><H3>
getType</H3>
<PRE>
public int <B>getType</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getCommand()"><!-- --></A><H3>
getCommand</H3>
<PRE>
public int <B>getCommand</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getArgument()"><!-- --></A><H3>
getArgument</H3>
<PRE>
public int <B>getArgument</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getFlags()"><!-- --></A><H3>
getFlags</H3>
<PRE>
public int <B>getFlags</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Key.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Key.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Key.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,782 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
Native
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Native";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Native.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Native.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Native.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class Native</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.Native</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI">Brlapi</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Native</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#handle">handle</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#Native()">Native</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#acceptAllKeys()">acceptAllKeys</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#acceptKeyRanges(long[][])">acceptKeyRanges</A></B>(long[][]&nbsp;ranges)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#acceptKeys(long, long[])">acceptKeys</A></B>(long&nbsp;type,
long[]&nbsp;keys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#closeConnection()">closeConnection</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#enterRawMode(java.lang.String)">enterRawMode</A></B>(java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#enterTtyMode(int, java.lang.String)">enterTtyMode</A></B>(int&nbsp;tty,
java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#enterTtyModeWithPath(int[], java.lang.String)">enterTtyModeWithPath</A></B>(int[]&nbsp;ttys,
java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#getDisplaySize()">getDisplaySize</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#getDriverName()">getDriverName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#getPacketTypeName(long)">getPacketTypeName</A></B>(long&nbsp;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#ignoreAllKeys()">ignoreAllKeys</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#ignoreKeyRanges(long[][])">ignoreKeyRanges</A></B>(long[][]&nbsp;ranges)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#ignoreKeys(long, long[])">ignoreKeys</A></B>(long&nbsp;type,
long[]&nbsp;keys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#leaveRawMode()">leaveRawMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#leaveTtyMode()">leaveTtyMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#openConnection(org.a11y.BrlAPI.ConnectionSettings, org.a11y.BrlAPI.ConnectionSettings)">openConnection</A></B>(<A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;desiredSettings,
<A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;actualSettings)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#readKey(boolean)">readKey</A></B>(boolean&nbsp;wait)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#recvRaw(byte[])">recvRaw</A></B>(byte[]&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#sendRaw(byte[])">sendRaw</A></B>(byte[]&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#setFocus(int)">setFocus</A></B>(int&nbsp;tty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#write(org.a11y.BrlAPI.WriteArguments)">write</A></B>(<A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A>&nbsp;arguments)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#writeDots(byte[])">writeDots</A></B>(byte[]&nbsp;dots)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Native.html#writeTextNative(int, java.lang.String)">writeTextNative</A></B>(int&nbsp;cursor,
java.lang.String&nbsp;text)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="handle"><!-- --></A><H3>
handle</H3>
<PRE>
protected long <B>handle</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Native()"><!-- --></A><H3>
Native</H3>
<PRE>
public <B>Native</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="openConnection(org.a11y.BrlAPI.ConnectionSettings, org.a11y.BrlAPI.ConnectionSettings)"><!-- --></A><H3>
openConnection</H3>
<PRE>
protected int <B>openConnection</B>(<A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;desiredSettings,
<A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;actualSettings)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="closeConnection()"><!-- --></A><H3>
closeConnection</H3>
<PRE>
public void <B>closeConnection</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDriverName()"><!-- --></A><H3>
getDriverName</H3>
<PRE>
public java.lang.String <B>getDriverName</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getDisplaySize()"><!-- --></A><H3>
getDisplaySize</H3>
<PRE>
public <A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A> <B>getDisplaySize</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="enterTtyMode(int, java.lang.String)"><!-- --></A><H3>
enterTtyMode</H3>
<PRE>
public int <B>enterTtyMode</B>(int&nbsp;tty,
java.lang.String&nbsp;driver)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="enterTtyModeWithPath(int[], java.lang.String)"><!-- --></A><H3>
enterTtyModeWithPath</H3>
<PRE>
public void <B>enterTtyModeWithPath</B>(int[]&nbsp;ttys,
java.lang.String&nbsp;driver)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="leaveTtyMode()"><!-- --></A><H3>
leaveTtyMode</H3>
<PRE>
public void <B>leaveTtyMode</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="setFocus(int)"><!-- --></A><H3>
setFocus</H3>
<PRE>
public void <B>setFocus</B>(int&nbsp;tty)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="writeTextNative(int, java.lang.String)"><!-- --></A><H3>
writeTextNative</H3>
<PRE>
protected void <B>writeTextNative</B>(int&nbsp;cursor,
java.lang.String&nbsp;text)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="writeDots(byte[])"><!-- --></A><H3>
writeDots</H3>
<PRE>
public void <B>writeDots</B>(byte[]&nbsp;dots)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="write(org.a11y.BrlAPI.WriteArguments)"><!-- --></A><H3>
write</H3>
<PRE>
public void <B>write</B>(<A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A>&nbsp;arguments)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="readKey(boolean)"><!-- --></A><H3>
readKey</H3>
<PRE>
public long <B>readKey</B>(boolean&nbsp;wait)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="ignoreKeys(long, long[])"><!-- --></A><H3>
ignoreKeys</H3>
<PRE>
public void <B>ignoreKeys</B>(long&nbsp;type,
long[]&nbsp;keys)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="acceptKeys(long, long[])"><!-- --></A><H3>
acceptKeys</H3>
<PRE>
public void <B>acceptKeys</B>(long&nbsp;type,
long[]&nbsp;keys)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="ignoreAllKeys()"><!-- --></A><H3>
ignoreAllKeys</H3>
<PRE>
public void <B>ignoreAllKeys</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="acceptAllKeys()"><!-- --></A><H3>
acceptAllKeys</H3>
<PRE>
public void <B>acceptAllKeys</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="ignoreKeyRanges(long[][])"><!-- --></A><H3>
ignoreKeyRanges</H3>
<PRE>
public void <B>ignoreKeyRanges</B>(long[][]&nbsp;ranges)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="acceptKeyRanges(long[][])"><!-- --></A><H3>
acceptKeyRanges</H3>
<PRE>
public void <B>acceptKeyRanges</B>(long[][]&nbsp;ranges)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="enterRawMode(java.lang.String)"><!-- --></A><H3>
enterRawMode</H3>
<PRE>
public void <B>enterRawMode</B>(java.lang.String&nbsp;driver)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="leaveRawMode()"><!-- --></A><H3>
leaveRawMode</H3>
<PRE>
public void <B>leaveRawMode</B>()
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="sendRaw(byte[])"><!-- --></A><H3>
sendRaw</H3>
<PRE>
public int <B>sendRaw</B>(byte[]&nbsp;buffer)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="recvRaw(byte[])"><!-- --></A><H3>
recvRaw</H3>
<PRE>
public int <B>recvRaw</B>(byte[]&nbsp;buffer)
throws <A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getPacketTypeName(long)"><!-- --></A><H3>
getPacketTypeName</H3>
<PRE>
public static java.lang.String <B>getPacketTypeName</B>(long&nbsp;type)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Native.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Native.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Native.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,250 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
Test
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Test";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Test.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Test.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Test.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class Test</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.Test</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>Test</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Test.html#Test()">Test</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/Test.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;argv)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Test()"><!-- --></A><H3>
Test</H3>
<PRE>
public <B>Test</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(java.lang.String[]&nbsp;argv)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Test.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/Test.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Test.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,366 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
WriteArguments
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="WriteArguments";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/WriteArguments.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/WriteArguments.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WriteArguments.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.a11y.BrlAPI</FONT>
<BR>
Class WriteArguments</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.a11y.BrlAPI.WriteArguments</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>WriteArguments</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#andMask">andMask</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#cursor">cursor</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#displayNumber">displayNumber</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#orMask">orMask</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#regionBegin">regionBegin</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#regionSize">regionSize</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#text">text</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html#WriteArguments()">WriteArguments</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="displayNumber"><!-- --></A><H3>
displayNumber</H3>
<PRE>
public int <B>displayNumber</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="regionBegin"><!-- --></A><H3>
regionBegin</H3>
<PRE>
public int <B>regionBegin</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="regionSize"><!-- --></A><H3>
regionSize</H3>
<PRE>
public int <B>regionSize</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="text"><!-- --></A><H3>
text</H3>
<PRE>
public java.lang.String <B>text</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="andMask"><!-- --></A><H3>
andMask</H3>
<PRE>
public byte[] <B>andMask</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="orMask"><!-- --></A><H3>
orMask</H3>
<PRE>
public byte[] <B>orMask</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="cursor"><!-- --></A><H3>
cursor</H3>
<PRE>
public int <B>cursor</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="WriteArguments()"><!-- --></A><H3>
WriteArguments</H3>
<PRE>
public <B>WriteArguments</B>()</PRE>
<DL>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/WriteArguments.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/WriteArguments.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WriteArguments.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Brlapi
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Brlapi";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useBrlapi.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Brlapi.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Brlapi</B></H2>
</CENTER>
No usage of org.a11y.BrlAPI.Brlapi
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useBrlapi.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Brlapi.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,196 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.ConnectionSettings
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.ConnectionSettings";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useConnectionSettings.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ConnectionSettings.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.ConnectionSettings</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> declared as <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A></CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#settings">settings</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> with parameters of type <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#openConnection(org.a11y.BrlAPI.ConnectionSettings, org.a11y.BrlAPI.ConnectionSettings)">openConnection</A></B>(<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;desiredSettings,
<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;actualSettings)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> with parameters of type <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#Brlapi(org.a11y.BrlAPI.ConnectionSettings)">Brlapi</A></B>(<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;settings)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useConnectionSettings.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ConnectionSettings.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Interface org.a11y.BrlAPI.Constants
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Interface org.a11y.BrlAPI.Constants";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useConstants.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Constants.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Interface<br>org.a11y.BrlAPI.Constants</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI">Constants</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> that implement <A HREF="../../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI">Constants</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI">Brlapi</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useConstants.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Constants.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.DisplaySize
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.DisplaySize";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useDisplaySize.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DisplaySize.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.DisplaySize</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> that return <A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A></CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#getDisplaySize()">getDisplaySize</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useDisplaySize.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DisplaySize.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,411 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Error
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Error";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useError.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Error.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Error</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> that throw <A HREF="../../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#acceptAllKeys()">acceptAllKeys</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#acceptKeyRanges(long[][])">acceptKeyRanges</A></B>(long[][]&nbsp;ranges)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#acceptKeys(long, long[])">acceptKeys</A></B>(long&nbsp;type,
long[]&nbsp;keys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#enterRawMode(java.lang.String)">enterRawMode</A></B>(java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#enterTtyMode()">enterTtyMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#enterTtyMode(int)">enterTtyMode</A></B>(int&nbsp;tty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#enterTtyMode(int, java.lang.String)">enterTtyMode</A></B>(int&nbsp;tty,
java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#enterTtyMode(java.lang.String)">enterTtyMode</A></B>(java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#enterTtyModeWithPath(int[])">enterTtyModeWithPath</A></B>(int[]&nbsp;ttys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#enterTtyModeWithPath(int[], java.lang.String)">enterTtyModeWithPath</A></B>(int[]&nbsp;ttys,
java.lang.String&nbsp;driver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A></CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#getDisplaySize()">getDisplaySize</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#getDriverName()">getDriverName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#ignoreAllKeys()">ignoreAllKeys</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#ignoreKeyRanges(long[][])">ignoreKeyRanges</A></B>(long[][]&nbsp;ranges)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#ignoreKeys(long, long[])">ignoreKeys</A></B>(long&nbsp;type,
long[]&nbsp;keys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#leaveRawMode()">leaveRawMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#leaveTtyMode()">leaveTtyMode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#openConnection(org.a11y.BrlAPI.ConnectionSettings, org.a11y.BrlAPI.ConnectionSettings)">openConnection</A></B>(<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;desiredSettings,
<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;actualSettings)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#readKey(boolean)">readKey</A></B>(boolean&nbsp;wait)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#recvRaw(byte[])">recvRaw</A></B>(byte[]&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#sendRaw(byte[])">sendRaw</A></B>(byte[]&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#setFocus(int)">setFocus</A></B>(int&nbsp;tty)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#write(org.a11y.BrlAPI.WriteArguments)">write</A></B>(<A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A>&nbsp;arguments)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#writeDots(byte[])">writeDots</A></B>(byte[]&nbsp;dots)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#writeText(int)">writeText</A></B>(int&nbsp;cursor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#writeText(int, java.lang.String)">writeText</A></B>(int&nbsp;cursor,
java.lang.String&nbsp;text)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#writeText(java.lang.String)">writeText</A></B>(java.lang.String&nbsp;text)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Brlapi.</B><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#writeText(java.lang.String, int)">writeText</A></B>(java.lang.String&nbsp;text,
int&nbsp;cursor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#writeTextNative(int, java.lang.String)">writeTextNative</A></B>(int&nbsp;cursor,
java.lang.String&nbsp;text)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> that throw <A HREF="../../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html#Brlapi(org.a11y.BrlAPI.ConnectionSettings)">Brlapi</A></B>(<A HREF="../../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A>&nbsp;settings)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useError.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Error.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Exception
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Exception";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useException.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Exception.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Exception</B></H2>
</CENTER>
No usage of org.a11y.BrlAPI.Exception
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useException.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Exception.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Key
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Key";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useKey.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Key.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Key</B></H2>
</CENTER>
No usage of org.a11y.BrlAPI.Key
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useKey.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Key.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Native
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Native";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useNative.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Native.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Native</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI">Native</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI">Native</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI">Brlapi</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useNative.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Native.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.Test
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.Test";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useTest.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Test.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.Test</B></H2>
</CENTER>
No usage of org.a11y.BrlAPI.Test
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useTest.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Test.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Class org.a11y.BrlAPI.WriteArguments
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.a11y.BrlAPI.WriteArguments";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useWriteArguments.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WriteArguments.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.a11y.BrlAPI.WriteArguments</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A> in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> with parameters of type <A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>Native.</B><B><A HREF="../../../../org/a11y/BrlAPI/Native.html#write(org.a11y.BrlAPI.WriteArguments)">write</A></B>(<A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A>&nbsp;arguments)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/a11y/BrlAPI//class-useWriteArguments.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WriteArguments.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
org.a11y.BrlAPI
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<FONT size="+1" CLASS="FrameTitleFont">
<A HREF="../../../org/a11y/BrlAPI/package-summary.html" target="classFrame">org.a11y.BrlAPI</A></FONT>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
Interfaces</FONT>&nbsp;
<FONT CLASS="FrameItemFont">
<BR>
<A HREF="Constants.html" title="interface in org.a11y.BrlAPI" target="classFrame"><I>Constants</I></A></FONT></TD>
</TR>
</TABLE>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
Classes</FONT>&nbsp;
<FONT CLASS="FrameItemFont">
<BR>
<A HREF="Brlapi.html" title="class in org.a11y.BrlAPI" target="classFrame">Brlapi</A>
<BR>
<A HREF="ConnectionSettings.html" title="class in org.a11y.BrlAPI" target="classFrame">ConnectionSettings</A>
<BR>
<A HREF="DisplaySize.html" title="class in org.a11y.BrlAPI" target="classFrame">DisplaySize</A>
<BR>
<A HREF="Key.html" title="class in org.a11y.BrlAPI" target="classFrame">Key</A>
<BR>
<A HREF="Native.html" title="class in org.a11y.BrlAPI" target="classFrame">Native</A>
<BR>
<A HREF="Test.html" title="class in org.a11y.BrlAPI" target="classFrame">Test</A>
<BR>
<A HREF="WriteArguments.html" title="class in org.a11y.BrlAPI" target="classFrame">WriteArguments</A></FONT></TD>
</TR>
</TABLE>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
Exceptions</FONT>&nbsp;
<FONT CLASS="FrameItemFont">
<BR>
<A HREF="Exception.html" title="class in org.a11y.BrlAPI" target="classFrame">Exception</A></FONT></TD>
</TR>
</TABLE>
<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
<TR>
<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
Errors</FONT>&nbsp;
<FONT CLASS="FrameItemFont">
<BR>
<A HREF="Error.html" title="class in org.a11y.BrlAPI" target="classFrame">Error</A></FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View File

@@ -0,0 +1,221 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
org.a11y.BrlAPI
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.a11y.BrlAPI";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV PACKAGE&nbsp;
&nbsp;NEXT PACKAGE</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<H2>
Package org.a11y.BrlAPI
</H2>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Interface Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI">Constants</A></B></TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI">Brlapi</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI">ConnectionSettings</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI">DisplaySize</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI">Key</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI">Native</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI">Test</A></B></TD>
<TD>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI">WriteArguments</A></B></TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Exception Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI">Exception</A></B></TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Error Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="15%"><B><A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">Error</A></B></TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<DL>
</DL>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV PACKAGE&nbsp;
&nbsp;NEXT PACKAGE</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-summary.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,163 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:11 CET 2010 -->
<TITLE>
org.a11y.BrlAPI Class Hierarchy
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.a11y.BrlAPI Class Hierarchy";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
Hierarchy For Package org.a11y.BrlAPI
</H2>
</CENTER>
<H2>
Class Hierarchy
</H2>
<UL>
<LI TYPE="circle">java.lang.Object<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI"><B>ConnectionSettings</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><B>DisplaySize</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>Key</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>Native</B></A><UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><B>Brlapi</B></A> (implements org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI">Constants</A>)
</UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>Test</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
<UL>
<LI TYPE="circle">java.lang.Error<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>Error</B></A></UL>
<LI TYPE="circle">java.lang.Exception<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>Exception</B></A></UL>
</UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><B>WriteArguments</B></A></UL>
</UL>
<H2>
Interface Hierarchy
</H2>
<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="../../../org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>Constants</B></A></UL>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-tree.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,185 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Uses of Package org.a11y.BrlAPI
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Package org.a11y.BrlAPI";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
<B>Uses of Package<br>org.a11y.BrlAPI</B></H2>
</CENTER>
<A NAME="org.a11y.BrlAPI"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Classes in <A HREF="../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A> used by <A HREF="../../../org/a11y/BrlAPI/package-summary.html">org.a11y.BrlAPI</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/ConnectionSettings.html#org.a11y.BrlAPI"><B>ConnectionSettings</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/Constants.html#org.a11y.BrlAPI"><B>Constants</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/DisplaySize.html#org.a11y.BrlAPI"><B>DisplaySize</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/Error.html#org.a11y.BrlAPI"><B>Error</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/Native.html#org.a11y.BrlAPI"><B>Native</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><B><A HREF="../../../org/a11y/BrlAPI/class-use/WriteArguments.html#org.a11y.BrlAPI"><B>WriteArguments</B></A></B>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/a11y/BrlAPI/package-use.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Class Hierarchy
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Class Hierarchy";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H2>
Hierarchy For All Packages</H2>
</CENTER>
<DL>
<DT><B>Package Hierarchies:</B><DD><A HREF="org/a11y/BrlAPI/package-tree.html">org.a11y.BrlAPI</A></DL>
<HR>
<H2>
Class Hierarchy
</H2>
<UL>
<LI TYPE="circle">java.lang.Object<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/ConnectionSettings.html" title="class in org.a11y.BrlAPI"><B>ConnectionSettings</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/DisplaySize.html" title="class in org.a11y.BrlAPI"><B>DisplaySize</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Key.html" title="class in org.a11y.BrlAPI"><B>Key</B></A><LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Native.html" title="class in org.a11y.BrlAPI"><B>Native</B></A><UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Brlapi.html" title="class in org.a11y.BrlAPI"><B>Brlapi</B></A> (implements org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI">Constants</A>)
</UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Test.html" title="class in org.a11y.BrlAPI"><B>Test</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
<UL>
<LI TYPE="circle">java.lang.Error<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI"><B>Error</B></A></UL>
<LI TYPE="circle">java.lang.Exception<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI"><B>Exception</B></A></UL>
</UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/WriteArguments.html" title="class in org.a11y.BrlAPI"><B>WriteArguments</B></A></UL>
</UL>
<H2>
Interface Hierarchy
</H2>
<UL>
<LI TYPE="circle">org.a11y.BrlAPI.<A HREF="org/a11y/BrlAPI/Constants.html" title="interface in org.a11y.BrlAPI"><B>Constants</B></A></UL>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1 @@
org.a11y.BrlAPI

View File

@@ -0,0 +1,264 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Nov 19 06:05:12 CET 2010 -->
<TITLE>
Serialized Form
</TITLE>
<META NAME="date" CONTENT="2010-11-19">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Serialized Form";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<CENTER>
<H1>
Serialized Form</H1>
</CENTER>
<HR SIZE="4" NOSHADE>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="center"><FONT SIZE="+2">
<B>Package</B> <B>org.a11y.BrlAPI</B></FONT></TH>
</TR>
</TABLE>
<P>
<A NAME="org.a11y.BrlAPI.Error"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class <A HREF="org/a11y/BrlAPI/Error.html" title="class in org.a11y.BrlAPI">org.a11y.BrlAPI.Error</A> extends java.lang.Error implements Serializable</B></FONT></TH>
</TR>
</TABLE>
<P>
<B>serialVersionUID:&nbsp;</B>0L
<P>
<A NAME="serializedForm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Serialized Fields</B></FONT></TH>
</TR>
</TABLE>
<H3>
brlerrno</H3>
<PRE>
int <B>brlerrno</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
libcerrno</H3>
<PRE>
int <B>libcerrno</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
gaierrno</H3>
<PRE>
int <B>gaierrno</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
errfun</H3>
<PRE>
java.lang.String <B>errfun</B></PRE>
<DL>
<DL>
</DL>
</DL>
<P>
<A NAME="org.a11y.BrlAPI.Exception"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Class <A HREF="org/a11y/BrlAPI/Exception.html" title="class in org.a11y.BrlAPI">org.a11y.BrlAPI.Exception</A> extends java.lang.Exception implements Serializable</B></FONT></TH>
</TR>
</TABLE>
<P>
<B>serialVersionUID:&nbsp;</B>0L
<P>
<A NAME="serializedForm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Serialized Fields</B></FONT></TH>
</TR>
</TABLE>
<H3>
handle</H3>
<PRE>
long <B>handle</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
errno</H3>
<PRE>
int <B>errno</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
packettype</H3>
<PRE>
long <B>packettype</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<H3>
buf</H3>
<PRE>
byte[] <B>buf</B></PRE>
<DL>
<DL>
</DL>
</DL>
<P>
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="org/a11y/BrlAPI/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>

View File

@@ -0,0 +1,29 @@
/* Javadoc style sheet */
/* Define colors, fonts and other style attributes here to override the defaults */
/* Page background color */
body { background-color: #FFFFFF; color:#000000 }
/* Headings */
h1 { font-size: 145% }
/* Table colors */
.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
/* Font used in left-hand frame lists */
.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
/* Navigation bar fonts and colors */
.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}

View File

@@ -0,0 +1,6 @@
# Dependencies for bindings.$O:
bindings.$O: $(SRC_DIR)/bindings.c
bindings.$O: $(BLD_TOP)Programs/brlapi.h
bindings.$O: $(BLD_TOP)Programs/brlapi_constants.h
bindings.$O: $(SRC_TOP)Programs/brlapi_keycodes.h

View File

@@ -0,0 +1,21 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by Dave Mielke <dave@mielke.cc>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
AC_DEFUN([BRLTTY_LISP_BINDINGS], [dnl
LISP_OK=true
AC_SUBST([LISP_OK])
])

View File

@@ -0,0 +1,27 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; libbrlapi - A library providing access to braille terminals for applications.
;
; Copyright (C) 2006-2012 by Mario Lang <mlang@delysid.org>
;
; libbrlapi comes with ABSOLUTELY NO WARRANTY.
;
; This is free software, placed under the terms of the
; GNU Lesser General Public License, as published by the Free Software
; Foundation; either version 2.1 of the License, or (at your option) any
; later version. Please see the file LICENSE-LGPL for details.
;
; Web Page: http://mielke.cc/brltty/
;
; This software is maintained by Dave Mielke <dave@mielke.cc>.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; * BrlAPI System Definition
(asdf:defsystem :brlapi
:name "brlapi"
:author "Mario Lang <mlang@delysid.org>"
:depends-on (:cffi)
:serial t
:components ((:file "brlapi")))
;;;;@include "brlapi.lisp"

View File

@@ -0,0 +1,246 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; libbrlapi - A library providing access to braille terminals for applications.
;
; Copyright (C) 2006-2012 by Mario Lang <mlang@delysid.org>
;
; libbrlapi comes with ABSOLUTELY NO WARRANTY.
;
; This is free software, placed under the terms of the
; GNU Lesser General Public License, as published by the Free Software
; Foundation; either version 2.1 of the License, or (at your option) any
; later version. Please see the file LICENSE-LGPL for details.
;
; Web Page: http://mielke.cc/brltty/
;
; This software is maintained by Dave Mielke <dave@mielke.cc>.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(eval-when (:compile-toplevel)
(declaim (optimize (safety 3) (debug 3))))
;;;; * Package definition
(defpackage :brlapi
(:use :common-lisp :cffi)
(:export #:open-connection #:close-connection
#:driver-name #:display-size
#:enter-tty-mode #:leave-tty-mode
#:write-text #:write-dots #:write-region
#:read-key #:expand-key))
(in-package :brlapi)
;;;; * C BrlAPI Library loading
(define-foreign-library libbrlapi
(:unix (:or "libbrlapi.so.0.5.5" "libbrlapi.so.0.5"))
(t (:default "libbrlapi")))
(use-foreign-library libbrlapi)
;;;; * The DISPLAY class
(defclass display ()
((handle :initarg :handle :reader display-handle)
(fd :initarg :fd :reader display-file-descriptor)
(auth :initarg :auth :reader display-auth)
(host :initarg :host :reader display-host)
(tty :initform nil :reader display-tty)))
(defmethod print-object ((obj display) stream)
(print-unreadable-object (obj stream :type t)
(if (not (display-file-descriptor obj))
(format stream "disconnected")
(apply #'format stream "~Dx~D fd=~D, host=~A, driver=~A"
(concatenate 'list (multiple-value-list (display-size obj))
(list (display-file-descriptor obj) (display-host obj)
(driver-name obj)))))))
;;;; * Error handling
(defctype brlapi-code :int)
(define-condition brlapi-error (error)
((text :initarg :text :reader brlapi-error-text))
(:report (lambda (c stream)
(format stream "libbrlapi function returned ~A"
(brlapi-error-text c))))
(:documentation "Signalled when a libbrlapi function answers with -1."))
(defmethod translate-from-foreign (value (name (eql 'brlapi-code)))
"Raise a BRLAPI-ERROR if VALUE, a brlapi-code, is -1."
(declare (integer value))
(if (eql value -1)
(error 'brlapi-error
:text (foreign-funcall "brlapi_strerror"
:pointer
(foreign-funcall "brlapi_error_location"
:pointer)
:string))
value))
;;;; * Connection management
(defcstruct settings
"Connection setting structure."
(auth :string)
(host :string))
(defun open-connection (&optional auth host)
"Open a new connection to BRLTTY on HOST usng AUTH for authorization.
Return a DISPLAY object which can further be used to interact with BRLTTY."
(with-foreign-object (settings 'settings)
(setf (foreign-slot-value settings 'settings 'auth)
(if (stringp auth) auth (null-pointer))
(foreign-slot-value settings 'settings 'host)
(if (stringp host) host (null-pointer)))
(let* ((handle (foreign-alloc :char :count (foreign-funcall "brlapi_getHandleSize" :int)))
(fd (foreign-funcall "brlapi__openConnection"
:pointer handle
:pointer settings
:pointer settings
brlapi-code))
(display (make-instance 'display :handle handle :fd fd
:auth (foreign-slot-value settings 'settings 'auth)
:host (foreign-slot-value settings 'settings 'host))))
#+sbcl (sb-ext:finalize display (lambda ()
(foreign-funcall "brlapi__closeConnection" :pointer handle :void)
(foreign-free handle)))
display)))
(defmethod close-connection ((obj display))
(foreign-funcall "brlapi__closeConnection" :pointer (display-handle obj) :void)
(setf (slot-value obj 'fd) nil)
(foreign-free (display-handle obj))
(setf (slot-value obj 'handle) nil))
;;;; * Querying the display
(defmethod driver-name ((obj display))
"Return the currently used driver name."
(with-foreign-pointer-as-string ((str str-size) 64)
(foreign-funcall "brlapi__getDriverName" :pointer (display-handle obj)
:string str :int str-size brlapi-code)))
(defmethod display-size ((obj display))
"Return the dimensions of DISPLAY as multiple values.
The first value represents the x dimension and the second the y dimension."
(with-foreign-objects ((x :int) (y :int))
(foreign-funcall "brlapi__getDisplaySize" :pointer (display-handle obj) :pointer x :pointer y brlapi-code)
(values (mem-ref x :int) (mem-ref y :int))))
;;;; * TTY mode
(defmethod enter-tty-mode ((obj display) tty &optional (driver ""))
(declare (integer tty))
(declare (string driver))
(setf (slot-value obj 'tty) (foreign-funcall "brlapi__enterTtyMode" :pointer (display-handle obj) :int tty :string driver brlapi-code)))
(defmethod leave-tty-mode ((obj display))
(foreign-funcall "brlapi__leaveTtyMode" :pointer (display-handle obj) brlapi-code)
(setf (slot-value obj 'tty) nil))
;;;; * Output
(defmethod write-text ((obj display) text &key (cursor -1))
"Write TEXT (a string) to the braille display."
(declare (string text))
(declare (integer cursor))
(if (eql (foreign-funcall "brlapi__writeText"
:pointer (display-handle obj)
:int cursor :string text
brlapi-code)
0)
text))
(defbitfield (dots :uint8)
(:dot1 #x01) :dot2 :dot3 :dot4 :dot5 :dot6 :dot7 :dot8)
(defmethod write-dots ((obj display) &rest dots-list)
"Write the given dots list to the display."
(with-foreign-object (dots 'dots (display-size obj))
(loop for i below (min (display-size obj) (length dots-list))
do (setf (mem-aref dots 'dots i)
(foreign-bitfield-value 'dots (nth i dots-list))))
(loop for i from (length dots-list) below (display-size obj)
do (setf (mem-aref dots 'dots i) 0))
(foreign-funcall "brlapi__writeDots" :pointer (display-handle obj) :pointer dots brlapi-code)))
(defcstruct write-struct
(display-number :int)
(region-begin :int)
(region-size :int)
(text :pointer)
(attr-and :pointer)
(attr-or :pointer)
(cursor :int)
(charset :string))
(defmethod write-region ((obj display) text &key (begin 1) size (cursor -1) (display-number -1)
(charset "") attr-and attr-or)
"Update a specific region of the braille display and apply and/or masks."
(let ((size (or size (min (display-size obj)
(max (length text)
(length attr-and)
(length attr-or))))))
(with-foreign-objects ((ws 'write-struct)
(txt :string (1+ size))
(attra 'dots size)
(attro 'dots size))
(loop for i below size
do (setf (mem-aref txt :uint8 i) (char-code #\SPACE)))
(setf (mem-aref txt :uint8 size) 0)
(loop for i below (min size (length text))
do (setf (mem-aref txt :uint8 i) (char-code (aref text i))))
(loop for i below size
do (setf (mem-aref attra :uint8 i) #XFF (mem-aref attro :uint8 i) 0))
(loop for i below (min size (length attr-and))
do (setf (mem-aref attra :uint8 i) (foreign-bitfield-value 'dots (nth i attr-and))))
(loop for i below (min size (length attr-or))
do (setf (mem-aref attro :uint8 i) (foreign-bitfield-value 'dots (nth i attr-or))))
(setf (foreign-slot-value ws 'write-struct 'display-number) display-number
(foreign-slot-value ws 'write-struct 'cursor) cursor
(foreign-slot-value ws 'write-struct 'region-begin) begin
(foreign-slot-value ws 'write-struct 'region-size) size
(foreign-slot-value ws 'write-struct 'charset) charset
(foreign-slot-value ws 'write-struct 'text) txt
(foreign-slot-value ws 'write-struct 'attr-or) attro
(foreign-slot-value ws 'write-struct 'attr-and) attra)
(eql (foreign-funcall "brlapi__write" :pointer (display-handle obj) :pointer ws brlapi-code) 0))))
;;;; * Input
(defctype key-code :uint64)
(defmethod read-key ((obj display) &optional block)
(with-foreign-object (key 'key-code)
(case (foreign-funcall "brlapi__readKey" :pointer (display-handle obj) :boolean block :pointer key brlapi-code)
(0 nil)
(1 (mem-ref key 'key-code)))))
(defun expand-key (code)
(with-foreign-objects ((command :int) (arg :int) (flags :int))
(foreign-funcall "brlapi_expandKeyCode"
key-code code
:pointer command :pointer arg :pointer flags
:int)
(values (intern (foreign-funcall "brlapi_getKeyName"
:int (mem-ref command :int)
:int (mem-ref arg :int)
:string))
(mem-ref arg :int)
(mem-ref flags :int))))
;;;; * Example usage
(defun example (&optional (tty -1))
"A basic example."
(let ((display (open-connection)))
(enter-tty-mode display tty)
(write-text display "Press any key to continue...")
(apply #'format t "; Command: ~A, argument: ~D, flags: ~D"
(multiple-value-list (expand-key (read-key display t))))
(leave-tty-mode display)
(close-connection display)))

View File

@@ -0,0 +1,246 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; libbrlapi - A library providing access to braille terminals for applications.
;
; Copyright (C) 2006-2012 by Mario Lang <mlang@delysid.org>
;
; libbrlapi comes with ABSOLUTELY NO WARRANTY.
;
; This is free software, placed under the terms of the
; GNU Lesser General Public License, as published by the Free Software
; Foundation; either version 2.1 of the License, or (at your option) any
; later version. Please see the file LICENSE-LGPL for details.
;
; Web Page: http://mielke.cc/brltty/
;
; This software is maintained by Dave Mielke <dave@mielke.cc>.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(eval-when (:compile-toplevel)
(declaim (optimize (safety 3) (debug 3))))
;;;; * Package definition
(defpackage :brlapi
(:use :common-lisp :cffi)
(:export #:open-connection #:close-connection
#:driver-name #:display-size
#:enter-tty-mode #:leave-tty-mode
#:write-text #:write-dots #:write-region
#:read-key #:expand-key))
(in-package :brlapi)
;;;; * C BrlAPI Library loading
(define-foreign-library libbrlapi
(:unix (:or "libbrlapi.@library_extension@.@api_release@" "libbrlapi.@library_extension@.@api_version@"))
(t (:default "libbrlapi")))
(use-foreign-library libbrlapi)
;;;; * The DISPLAY class
(defclass display ()
((handle :initarg :handle :reader display-handle)
(fd :initarg :fd :reader display-file-descriptor)
(auth :initarg :auth :reader display-auth)
(host :initarg :host :reader display-host)
(tty :initform nil :reader display-tty)))
(defmethod print-object ((obj display) stream)
(print-unreadable-object (obj stream :type t)
(if (not (display-file-descriptor obj))
(format stream "disconnected")
(apply #'format stream "~Dx~D fd=~D, host=~A, driver=~A"
(concatenate 'list (multiple-value-list (display-size obj))
(list (display-file-descriptor obj) (display-host obj)
(driver-name obj)))))))
;;;; * Error handling
(defctype brlapi-code :int)
(define-condition brlapi-error (error)
((text :initarg :text :reader brlapi-error-text))
(:report (lambda (c stream)
(format stream "libbrlapi function returned ~A"
(brlapi-error-text c))))
(:documentation "Signalled when a libbrlapi function answers with -1."))
(defmethod translate-from-foreign (value (name (eql 'brlapi-code)))
"Raise a BRLAPI-ERROR if VALUE, a brlapi-code, is -1."
(declare (integer value))
(if (eql value -1)
(error 'brlapi-error
:text (foreign-funcall "brlapi_strerror"
:pointer
(foreign-funcall "brlapi_error_location"
:pointer)
:string))
value))
;;;; * Connection management
(defcstruct settings
"Connection setting structure."
(auth :string)
(host :string))
(defun open-connection (&optional auth host)
"Open a new connection to BRLTTY on HOST usng AUTH for authorization.
Return a DISPLAY object which can further be used to interact with BRLTTY."
(with-foreign-object (settings 'settings)
(setf (foreign-slot-value settings 'settings 'auth)
(if (stringp auth) auth (null-pointer))
(foreign-slot-value settings 'settings 'host)
(if (stringp host) host (null-pointer)))
(let* ((handle (foreign-alloc :char :count (foreign-funcall "brlapi_getHandleSize" :int)))
(fd (foreign-funcall "brlapi__openConnection"
:pointer handle
:pointer settings
:pointer settings
brlapi-code))
(display (make-instance 'display :handle handle :fd fd
:auth (foreign-slot-value settings 'settings 'auth)
:host (foreign-slot-value settings 'settings 'host))))
#+sbcl (sb-ext:finalize display (lambda ()
(foreign-funcall "brlapi__closeConnection" :pointer handle :void)
(foreign-free handle)))
display)))
(defmethod close-connection ((obj display))
(foreign-funcall "brlapi__closeConnection" :pointer (display-handle obj) :void)
(setf (slot-value obj 'fd) nil)
(foreign-free (display-handle obj))
(setf (slot-value obj 'handle) nil))
;;;; * Querying the display
(defmethod driver-name ((obj display))
"Return the currently used driver name."
(with-foreign-pointer-as-string ((str str-size) 64)
(foreign-funcall "brlapi__getDriverName" :pointer (display-handle obj)
:string str :int str-size brlapi-code)))
(defmethod display-size ((obj display))
"Return the dimensions of DISPLAY as multiple values.
The first value represents the x dimension and the second the y dimension."
(with-foreign-objects ((x :int) (y :int))
(foreign-funcall "brlapi__getDisplaySize" :pointer (display-handle obj) :pointer x :pointer y brlapi-code)
(values (mem-ref x :int) (mem-ref y :int))))
;;;; * TTY mode
(defmethod enter-tty-mode ((obj display) tty &optional (driver ""))
(declare (integer tty))
(declare (string driver))
(setf (slot-value obj 'tty) (foreign-funcall "brlapi__enterTtyMode" :pointer (display-handle obj) :int tty :string driver brlapi-code)))
(defmethod leave-tty-mode ((obj display))
(foreign-funcall "brlapi__leaveTtyMode" :pointer (display-handle obj) brlapi-code)
(setf (slot-value obj 'tty) nil))
;;;; * Output
(defmethod write-text ((obj display) text &key (cursor -1))
"Write TEXT (a string) to the braille display."
(declare (string text))
(declare (integer cursor))
(if (eql (foreign-funcall "brlapi__writeText"
:pointer (display-handle obj)
:int cursor :string text
brlapi-code)
0)
text))
(defbitfield (dots :uint8)
(:dot1 #x01) :dot2 :dot3 :dot4 :dot5 :dot6 :dot7 :dot8)
(defmethod write-dots ((obj display) &rest dots-list)
"Write the given dots list to the display."
(with-foreign-object (dots 'dots (display-size obj))
(loop for i below (min (display-size obj) (length dots-list))
do (setf (mem-aref dots 'dots i)
(foreign-bitfield-value 'dots (nth i dots-list))))
(loop for i from (length dots-list) below (display-size obj)
do (setf (mem-aref dots 'dots i) 0))
(foreign-funcall "brlapi__writeDots" :pointer (display-handle obj) :pointer dots brlapi-code)))
(defcstruct write-struct
(display-number :int)
(region-begin :int)
(region-size :int)
(text :pointer)
(attr-and :pointer)
(attr-or :pointer)
(cursor :int)
(charset :string))
(defmethod write-region ((obj display) text &key (begin 1) size (cursor -1) (display-number -1)
(charset "") attr-and attr-or)
"Update a specific region of the braille display and apply and/or masks."
(let ((size (or size (min (display-size obj)
(max (length text)
(length attr-and)
(length attr-or))))))
(with-foreign-objects ((ws 'write-struct)
(txt :string (1+ size))
(attra 'dots size)
(attro 'dots size))
(loop for i below size
do (setf (mem-aref txt :uint8 i) (char-code #\SPACE)))
(setf (mem-aref txt :uint8 size) 0)
(loop for i below (min size (length text))
do (setf (mem-aref txt :uint8 i) (char-code (aref text i))))
(loop for i below size
do (setf (mem-aref attra :uint8 i) #XFF (mem-aref attro :uint8 i) 0))
(loop for i below (min size (length attr-and))
do (setf (mem-aref attra :uint8 i) (foreign-bitfield-value 'dots (nth i attr-and))))
(loop for i below (min size (length attr-or))
do (setf (mem-aref attro :uint8 i) (foreign-bitfield-value 'dots (nth i attr-or))))
(setf (foreign-slot-value ws 'write-struct 'display-number) display-number
(foreign-slot-value ws 'write-struct 'cursor) cursor
(foreign-slot-value ws 'write-struct 'region-begin) begin
(foreign-slot-value ws 'write-struct 'region-size) size
(foreign-slot-value ws 'write-struct 'charset) charset
(foreign-slot-value ws 'write-struct 'text) txt
(foreign-slot-value ws 'write-struct 'attr-or) attro
(foreign-slot-value ws 'write-struct 'attr-and) attra)
(eql (foreign-funcall "brlapi__write" :pointer (display-handle obj) :pointer ws brlapi-code) 0))))
;;;; * Input
(defctype key-code :uint64)
(defmethod read-key ((obj display) &optional block)
(with-foreign-object (key 'key-code)
(case (foreign-funcall "brlapi__readKey" :pointer (display-handle obj) :boolean block :pointer key brlapi-code)
(0 nil)
(1 (mem-ref key 'key-code)))))
(defun expand-key (code)
(with-foreign-objects ((command :int) (arg :int) (flags :int))
(foreign-funcall "brlapi_expandKeyCode"
key-code code
:pointer command :pointer arg :pointer flags
:int)
(values (intern (foreign-funcall "brlapi_getKeyName"
:int (mem-ref command :int)
:int (mem-ref arg :int)
:string))
(mem-ref arg :int)
(mem-ref flags :int))))
;;;; * Example usage
(defun example (&optional (tty -1))
"A basic example."
(let ((display (open-connection)))
(enter-tty-mode display tty)
(write-text display "Press any key to continue...")
(apply #'format t "; Command: ~A, argument: ~D, flags: ~D"
(multiple-value-list (expand-key (read-key display t))))
(leave-tty-mode display)
(close-connection display)))

View File

@@ -0,0 +1,5 @@
requires = "unix"
description = "Bindings for the libbrlapi braille enabling library"
archive(byte) = "brlapi.cma"
archive(native) = "brlapi.cmxa"
version = "0.1"

View File

@@ -0,0 +1,156 @@
# autoconf input for Objective Caml programs
# Copyright (C) 2001 Jean-Christophe Filli<6C>tre
# from a first script by Georges Mariano
#
# Modified to be an autoconf m4 function in 2006
# for BRLTTY [http://mielke.cc/brltty/]
# by Dave Mielke <dave@mielke.cc>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License version 2, as published by the Free Software Foundation.
#
# This library 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 Library General Public License version 2 for more details
# (enclosed in the file LGPL).
# the script generated by autoconf from this input will set the following
# variables:
# OCAMLC "ocamlc" if present in the path, or a failure
# or "ocamlc.opt" if present with same version number as ocamlc
# OCAMLOPT "ocamlopt" (or "ocamlopt.opt" if present), or "no"
# OCAMLMKLIB "ocamlkmlib", or "no"
# OCAMLBEST either "byte" if no native compiler was found,
# or "opt" otherwise
# OCAMLDEP "ocamldep"
# OCAMLLEX "ocamllex" (or "ocamllex.opt" if present)
# OCAMLYACC "ocamlyac"
# OCAMLLIB the path to the ocaml standard library
# OCAMLVERSION the ocaml version number
# OCAMLWEB "ocamlweb" (not mandatory)
# OCAMLWIN32 "yes"/"no" depending on Sys.os_type = "Win32"
AC_DEFUN([BRLTTY_OCAML_BINDINGS], [dnl
# Check for Ocaml compilers
# we first look for ocamlc in the path; if not present, we fail
AC_CHECK_PROG(OCAMLC,ocamlc,ocamlc,no)
if test "$OCAMLC" = no ; then
AC_MSG_WARN([Cannot find ocamlc.])
OCAML_OK=false
else
# checking for ocamlmklib
AC_CHECK_PROG(OCAMLMKLIB,ocamlmklib,ocamlmklib,no)
if test "$OCAMLMKLIB" = no ; then
AC_MSG_WARN([Cannot find ocamlmklib.])
OCAML_OK=false
else
OCAML_OK=true
# we extract Ocaml version number and library path
OCAMLVERSION=`$OCAMLC -version`
AC_MSG_NOTICE([OCaml version is $OCAMLVERSION])
OCAMLLIB=`$OCAMLC -where`
AC_MSG_NOTICE([OCaml library path is $OCAMLLIB])
# then we look for ocamlopt; if not present, we issue a warning
# if the version is not the same, we also discard it
# we set OCAMLBEST to "opt" or "byte", whether ocamlopt is available or not
AC_CHECK_PROG(OCAMLOPT,ocamlopt,ocamlopt,no)
OCAMLBEST=byte
OCAML_NCLIB=
if test "$OCAMLOPT" = no ; then
AC_MSG_WARN([Cannot find ocamlopt; bytecode compilation only.])
else
AC_MSG_CHECKING(ocamlopt version)
TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt discarded.)
OCAMLOPT=no
else
AC_MSG_RESULT(ok)
OCAMLBEST=opt
OCAML_NCLIB="\$(OCAML_LIB).cmxa"
fi
fi
# checking for ocamlc.opt
AC_CHECK_PROG(OCAMLCDOTOPT,ocamlc.opt,ocamlc.opt,no)
if test "$OCAMLCDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlc.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLC=$OCAMLCDOTOPT
fi
fi
# checking for ocamlopt.opt
if test "$OCAMLOPT" != no ; then
AC_CHECK_PROG(OCAMLOPTDOTOPT,ocamlopt.opt,ocamlopt.opt,no)
if test "$OCAMLOPTDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVER=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVER" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLOPT=$OCAMLOPTDOTOPT
fi
fi
fi
# platform
AC_MSG_CHECKING(platform)
if echo "let _ = Sys.os_type;;" | ocaml | grep -q Win32; then
AC_MSG_RESULT(Win32)
OCAMLWIN32=yes
OCAML_CLIBS=libbrlapi_stubs.a
elif echo "let _ = Sys.os_type;;" | ocaml | grep -q Cygwin; then
AC_MSG_RESULT(Cygwin)
OCAMLWIN32=yes
OCAML_CLIBS=libbrlapi_stubs.a
else
AC_MSG_RESULT(Unix)
OCAMLWIN32=no
OCAML_CLIBS="libbrlapi_stubs.a dllbrlapi_stubs.so"
fi
# checking for ocamlfindlib
AC_CHECK_PROG(OCAMLFIND,ocamlfind,ocamlfind,no)
if test "$OCAMLFIND" = ocamlfind; then
OCAMLC='ocamlfind ocamlc'
if test "$OCAMLOPT" = ocamlopt; then
OCAMLOPT='ocamlfind ocamlopt'
fi
OCAML_INSTALL_TARGET=install-with-findlib
OCAML_UNINSTALL_TARGET=uninstall-without-findlib
else
OCAML_INSTALL_TARGET=install-without-findlib
OCAML_UNINSTALL_TARGET=uninstall-without-findlib
AC_MSG_WARN([Cannot find ocamlfind.])
fi
fi
fi
# substitutions to perform
AC_SUBST(OCAMLC)
AC_SUBST(OCAMLOPT)
AC_SUBST(OCAMLMKLIB)
AC_SUBST(OCAMLBEST)
AC_SUBST(OCAMLVERSION)
AC_SUBST(OCAMLLIB)
AC_SUBST(OCAMLWIN32)
AC_SUBST(OCAML_CLIBS)
AC_SUBST(OCAML_NCLIB)
AC_SUBST(OCAMLFIND)
AC_SUBST(OCAML_INSTALL_TARGET)
AC_SUBST(OCAML_UNINSTALL_TARGET)
AC_SUBST([OCAML_OK])
])

View File

@@ -0,0 +1,482 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2005-2012 by
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* All rights reserved.
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#define CAML_NAME_SPACE /* Don't import old names */
#include <caml/mlvalues.h> /* definition of the value type, and conversion macros */
#include <caml/memory.h> /* miscellaneous memory-related functions and macros (for GC interface, in-place modification of structures, etc). */
#include <caml/alloc.h> /* allocation functions (to create structured Caml objects) */
#include <caml/fail.h> /* functions for raising exceptions */
#include <caml/callback.h> /* callback from C to Caml */
#include <caml/custom.h> /* operations on custom blocks */
#include <caml/intext.h> /* operations for writing user-defined serialization and deserialization functions for custom blocks */
#define BRLAPI_NO_DEPRECATED
#include "brlapi.h"
#include "brlapi_protocol.h"
#ifndef MIN
#define MIN(x, y) (x<y)?(x):(y)
#endif /* MIN */
extern value unix_error_of_code (int errcode); /* TO BE REMOVED */
/* The following macros call a BrlAPI function */
/* The first one just calls the function, whereas */
/* the second one also checks the function's return code and raises */
/* an exception if this code is -1 */
/* The macros decide which version of a brlapi function should be called */
/* depending on whether the handle value is None or Some realHandle */
#define brlapi(function, ...) \
do { \
if (Is_long(handle)) brlapi_ ## function (__VA_ARGS__); \
else brlapi__ ## function ((brlapi_handle_t *) Data_custom_val(Field(handle, 0)), ## __VA_ARGS__); \
} while (0)
#define brlapiCheckError(function, ...) \
do { \
int res_; \
if (Is_long(handle)) res_ = brlapi_ ##function (__VA_ARGS__); \
else res_ = brlapi__ ##function ((brlapi_handle_t *) Data_custom_val(Field(handle, 0)), ## __VA_ARGS__); \
if (res_==-1) raise_brlapi_error(); \
} while (0)
#define brlapiCheckErrorWithCode(function, ret, ...) \
do { \
int res_; \
if (Is_long(handle)) res_ = brlapi_ ##function (__VA_ARGS__); \
else res_ = brlapi__ ##function ((brlapi_handle_t *) Data_custom_val(Field(handle, 0)), ## __VA_ARGS__); \
if (res_==-1) raise_brlapi_error(); \
(*(int *)ret) = res_; \
} while (0)
static int compareHandle(value h1, value h2)
{
CAMLparam2(h1, h2);
CAMLreturn(memcmp(Data_custom_val(h1), Data_custom_val(h2), brlapi_getHandleSize()));
}
static struct custom_operations customOperations = {
.identifier = "BrlAPI handle",
.finalize = custom_finalize_default,
.compare = compareHandle,
.hash = custom_hash_default, /* FIXME: provide a genuine hashing function */
.serialize = custom_serialize_default,
.deserialize = custom_deserialize_default,
};
/* Function : constrCamlError */
/* Converts a brlapi_error_t into its Caml representation */
static value constrCamlError(const brlapi_error_t *err)
{
value camlError;
camlError = caml_alloc_tuple(4);
Store_field(camlError, 0, Val_int(err->brlerrno));
Store_field(camlError, 1, Val_int(err->libcerrno));
Store_field(camlError, 2, Val_int(err->gaierrno));
if (err->errfun!=NULL)
Store_field(camlError, 3, caml_copy_string(err->errfun));
else
Store_field(camlError, 3, caml_copy_string(""));
return camlError;
}
CAMLprim value brlapiml_errorCode_of_error(value camlError)
{
CAMLparam1(camlError);
CAMLlocal1(result);
switch (Int_val(Field(camlError, 0))) {
case BRLAPI_ERROR_NOMEM: result = Val_int(0); break;
case BRLAPI_ERROR_TTYBUSY: result = Val_int(1); break;
case BRLAPI_ERROR_DEVICEBUSY: result = Val_int(2); break;
case BRLAPI_ERROR_UNKNOWN_INSTRUCTION: result = Val_int(3); break;
case BRLAPI_ERROR_ILLEGAL_INSTRUCTION: result = Val_int(4); break;
case BRLAPI_ERROR_INVALID_PARAMETER: result = Val_int(5); break;
case BRLAPI_ERROR_INVALID_PACKET: result = Val_int(6); break;
case BRLAPI_ERROR_CONNREFUSED: result = Val_int(7); break;
case BRLAPI_ERROR_OPNOTSUPP: result = Val_int(8); break;
case BRLAPI_ERROR_GAIERR: {
result = caml_alloc(1, 0);
Store_field(result, 0, Val_int(Field(camlError, 2)));
}; break;
case BRLAPI_ERROR_LIBCERR: {
result = caml_alloc(1, 1);
Store_field(result, 0, unix_error_of_code(Int_val(Field(camlError, 1))));
}; break;
case BRLAPI_ERROR_UNKNOWNTTY: result = Val_int(9); break;
case BRLAPI_ERROR_PROTOCOL_VERSION: result = Val_int(10); break;
case BRLAPI_ERROR_EOF: result = Val_int(11); break;
case BRLAPI_ERROR_EMPTYKEY: result = Val_int(12); break;
case BRLAPI_ERROR_DRIVERERROR: result = Val_int(13); break;
case BRLAPI_ERROR_AUTHENTICATION: result = Val_int(14); break;
default: {
result = caml_alloc(1, 2);
Store_field(result, 0, Val_int(Field(camlError, 0)));
}
}
CAMLreturn(result);
}
/* Function : raise_brlapi_error */
/* Raises the Brlapi_error exception */
static void raise_brlapi_error(void)
{
static value *exception = NULL;
CAMLlocal1(res);
if (exception==NULL) exception = caml_named_value("Brlapi_error");
res = caml_alloc(2,0);
Store_field(res, 0, *exception);
Store_field(res, 1, constrCamlError(&brlapi_error));
caml_raise(res);
}
/* Function : raise_brlapi_exception */
/* Raises Brlapi_exception */
static void BRLAPI_STDCALL raise_brlapi_exception(int err, brlapi_packetType_t type, const void *packet, size_t size)
{
static value *exception = NULL;
int i;
CAMLlocal2(str, res);
str = caml_alloc_string(size);
for (i=0; i<size; i++) Byte(str, i) = ((char *) packet)[i];
if (exception==NULL) exception = caml_named_value("Brlapi_exception");
res = caml_alloc (4, 0);
Store_field(res, 0, *exception);
Store_field(res, 1, Val_int(err));
Store_field(res, 2, caml_copy_int32(type));
Store_field(res, 3, str);
caml_raise(res);
}
/* function packDots */
/* Converts Caml dots in brltty dots */
static inline void packDots(value camlDots, unsigned char *dots, int size)
{
unsigned int i;
for (i=0; i<size; i++)
dots[i] = Int_val(Field(camlDots, i));
}
CAMLprim value brlapiml_openConnection(value settings)
{
CAMLparam1(settings);
CAMLlocal2(s, pair);
int res;
brlapi_connectionSettings_t brlapiSettings;
brlapiSettings.auth = String_val(Field(settings, 0));
brlapiSettings.host = String_val(Field(settings, 1));
res = brlapi_openConnection(&brlapiSettings, &brlapiSettings);
if (res<0) raise_brlapi_error();
s = caml_alloc_tuple(2);
Store_field(s, 0, caml_copy_string(brlapiSettings.auth));
Store_field(s, 1, caml_copy_string(brlapiSettings.host));
pair = caml_alloc_tuple(2);
Store_field(pair, 0, Val_int(res));
Store_field(pair, 1, s);
CAMLreturn(pair);
}
CAMLprim value brlapiml_openConnectionWithHandle(value settings)
{
CAMLparam1(settings);
CAMLlocal1(handle);
brlapi_connectionSettings_t brlapiSettings;
brlapiSettings.auth = String_val(Field(settings, 0));
brlapiSettings.host = String_val(Field(settings, 1));
handle = caml_alloc_custom(&customOperations, brlapi_getHandleSize(), 0, 1);
if (brlapi__openConnection(Data_custom_val(handle), &brlapiSettings, &brlapiSettings)<0) raise_brlapi_error();
CAMLreturn(handle);
}
CAMLprim value brlapiml_closeConnection(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapi(closeConnection);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_getDriverName(value handle, value unit)
{
CAMLparam2(handle, unit);
char name[BRLAPI_MAXNAMELENGTH];
brlapiCheckError(getDriverName, name, sizeof(name));
CAMLreturn(caml_copy_string(name));
}
CAMLprim value brlapiml_getDisplaySize(value handle, value unit)
{
CAMLparam2(handle, unit);
CAMLlocal1(size);
unsigned int x, y;
brlapiCheckError(getDisplaySize, &x, &y);
size = caml_alloc_tuple(2);
Store_field(size, 0, Val_int(x));
Store_field(size, 1, Val_int(y));
CAMLreturn(size);
}
CAMLprim value brlapiml_enterTtyMode(value handle, value tty, value driverName)
{
CAMLparam3(handle, tty, driverName);
int res;
brlapiCheckErrorWithCode(enterTtyMode, &res, Int_val(tty), String_val(driverName));
CAMLreturn(Val_int(res));
}
CAMLprim value brlapiml_enterTtyModeWithPath(value handle, value ttyPathCaml, value driverName)
{
CAMLparam3(handle, ttyPathCaml, driverName);
int i, size = Wosize_val(ttyPathCaml);
int ttyPath[size];
for (i=0; i<size; i++) ttyPath[i] = Int_val(Field(ttyPathCaml, i));
brlapiCheckError(enterTtyModeWithPath, ttyPath, size, String_val(driverName));
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_leaveTtyMode(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapi(leaveTtyMode);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_setFocus(value handle, value tty)
{
CAMLparam2(handle, tty);
brlapiCheckError(setFocus, Int_val(tty));
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_writeText(value handle, value cursor, value text)
{
CAMLparam3(handle, cursor, text);
brlapiCheckError(writeText, Int_val(cursor), String_val(text));
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_writeDots(value handle, value camlDots)
{
CAMLparam2(handle, camlDots);
int size = Wosize_val(camlDots);
unsigned char dots[size];
packDots(camlDots, dots, size);
brlapiCheckError(writeDots, dots);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_write(value handle, value writeArguments)
{
CAMLparam2(handle, writeArguments);
int andSize = Wosize_val(Field(writeArguments, 4));
int orSize = Wosize_val(Field(writeArguments, 5));
unsigned char andMask[andSize], orMask[orSize];
brlapi_writeArguments_t wa;
wa.displayNumber = Val_int(Field(writeArguments, 0));
wa.regionBegin = Val_int(Field(writeArguments, 1));
wa.regionSize = Val_int(Field(writeArguments, 2));
wa.text = String_val(Field(writeArguments, 3));
packDots(Field(writeArguments, 4), andMask, andSize);
wa.andMask = andMask;
packDots(Field(writeArguments, 5), orMask, orSize);
wa.orMask = orMask;
wa.cursor = Val_int(Field(writeArguments, 6));
wa.charset = String_val(Field(writeArguments, 7));
brlapiCheckError(write, &wa);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_readKey(value handle, value unit)
{
CAMLparam2(handle, unit);
int res;
brlapi_keyCode_t keyCode;
CAMLlocal1(retVal);
brlapiCheckErrorWithCode(readKey, &res, 0, &keyCode);
if (res==0) CAMLreturn(Val_int(0));
retVal = caml_alloc(1, 1);
Store_field(retVal, 0, caml_copy_int64(keyCode));
CAMLreturn(retVal);
}
CAMLprim value brlapiml_waitKey(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapi_keyCode_t keyCode;
brlapiCheckError(readKey, 1, &keyCode);
CAMLreturn(caml_copy_int64(keyCode));
}
#define brlapi__expandKeyCode(h,x,y) brlapi_expandKeyCode(x,y)
CAMLprim value brlapiml_expandKeyCode(value handle, value camlKeyCode)
{
CAMLparam2(handle, camlKeyCode);
CAMLlocal1(result);
brlapi_expandedKeyCode_t ekc;
brlapiCheckError(expandKeyCode, Int64_val(camlKeyCode), &ekc);
result = caml_alloc_tuple(4);
Store_field(result, 0, caml_copy_int32(ekc.type));
Store_field(result, 1, caml_copy_int32(ekc.command));
Store_field(result, 2, caml_copy_int32(ekc.argument));
Store_field(result, 2, caml_copy_int32(ekc.flags));
CAMLreturn(result);
}
CAMLprim value brlapiml_ignoreKeys(value handle, value rt, value camlKeys)
{
CAMLparam3(handle, rt, camlKeys);
unsigned int i, size = Wosize_val(camlKeys);
brlapi_keyCode_t keys[size];
for (i=0; i<size; i++) keys[i] = Int64_val(Field(camlKeys, i));
brlapiCheckError(ignoreKeys, Int_val(rt), keys, size);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_acceptKeys(value handle, value rt, value camlKeys)
{
CAMLparam3(handle, rt, camlKeys);
unsigned int i, size = Wosize_val(camlKeys);
brlapi_keyCode_t keys[size];
for (i=0; i<size; i++) keys[i] = Int64_val(Field(camlKeys, i));
brlapiCheckError(acceptKeys, Int_val(rt), keys, size);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_ignoreAllKeys(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapiCheckError(ignoreAllKeys);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_acceptAllKeys(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapiCheckError(acceptAllKeys);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_ignoreKeyRanges(value handle, value camlRanges)
{
CAMLparam2(handle, camlRanges);
CAMLlocal1(r);
unsigned int i, size = Wosize_val(camlRanges);
brlapi_range_t ranges[size];
for (i=0; i<size; i++) {
r = Field(camlRanges, i);
ranges[i].first = Int64_val(Field(r, 0));
ranges[i].last = Int64_val(Field(r, 1));
}
brlapiCheckError(ignoreKeyRanges, ranges, size);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_acceptKeyRanges(value handle, value camlRanges)
{
CAMLparam2(handle, camlRanges);
CAMLlocal1(r);
unsigned int i, size = Wosize_val(camlRanges);
brlapi_range_t ranges[size];
for (i=0; i<size; i++) {
r = Field(camlRanges, i);
ranges[i].first = Int64_val(Field(r, 0));
ranges[i].last = Int64_val(Field(r, 1));
}
brlapiCheckError(acceptKeyRanges, ranges, size);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_enterRawMode(value handle, value driverName)
{
CAMLparam2(handle, driverName);
brlapiCheckError(enterRawMode, String_val(driverName));
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_leaveRawMode(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapi(leaveRawMode);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_sendRaw(value handle, value str)
{
CAMLparam2(handle, str);
int res;
unsigned char packet[BRLAPI_MAXPACKETSIZE];
ssize_t i, size = MIN(sizeof(packet), caml_string_length(str));
for (i=0; i<size; i++) packet[i] = Byte(str, i);
brlapiCheckErrorWithCode(sendRaw, &res, packet, size);
CAMLreturn(Val_int(res));
}
CAMLprim value brlapiml_recvRaw(value handle, value unit)
{
CAMLparam2(handle, unit);
unsigned char packet[BRLAPI_MAXPACKETSIZE];
int i, size;
CAMLlocal1(str);
brlapiCheckErrorWithCode(recvRaw, &size, packet, sizeof(packet));
str = caml_alloc_string(size);
for (i=0; i<size; i++) Byte(str, i) = packet[i];
CAMLreturn(str);
}
CAMLprim value brlapiml_suspendDriver(value handle, value driverName)
{
CAMLparam2(handle, driverName);
brlapiCheckError(suspendDriver, String_val(driverName));
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_resumeDriver(value handle, value unit)
{
CAMLparam2(handle, unit);
brlapi(resumeDriver);
CAMLreturn(Val_unit);
}
CAMLprim value brlapiml_strerror(value camlError)
{
CAMLparam1(camlError);
brlapi_error_t error;
error.brlerrno = Int_val(Field(camlError,0));
error.libcerrno = Int_val(Field(camlError,1));
error.gaierrno = Int_val(Field(camlError,2));
error.errfun = String_val(Field(camlError,3));
CAMLreturn(caml_copy_string(brlapi_strerror(&error)));
}
/* Function : setExceptionHandler */
/* Sets a handler that raises a Caml exception each time a brlapi */
/* exception occurs */
CAMLprim value brlapiml_setExceptionHandler(value unit)
{
CAMLparam1(unit);
brlapi_setExceptionHandler(raise_brlapi_exception);
CAMLreturn(Val_unit);
}

View File

@@ -0,0 +1,117 @@
###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
# text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2012 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU General Public License, as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any
# later version. Please see the file LICENSE-GPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
BEGIN {
}
END {
}
function brlCommand(name, symbol, value, help) {
writeCommandDefinition("cmd_" name, "Int32.of_int " value, help)
}
function brlBlock(name, symbol, value, help) {
if (value ~ /^0[xX][0-9a-fA-F]+00$/) {
writeCommandDefinition("blk_" name, "Int32.of_int " hexadecimalValue(value) "00", help)
}
}
function brlKey(name, symbol, value, help) {
# not implemented for other bindings either
# print "braille key:"
# print name symbol value
# print "(** " help " *)"
}
function brlFlag(name, symbol, value, help) {
if (value ~ /^0[xX][0-9a-fA-F]+0000$/) {
value = hexadecimalValue(substr(value, 1, length(value)-4))
if (name ~ /^CHAR_/) {
name = substr(name, 6)
} else {
value = value "00"
}
} else if (value ~ /^\(/) {
return
} else {
return
}
writeCamlConstant("int32", "KEY_FLG_" name, "Int32.of_int " tolower(value), help)
}
function brlDot(number, symbol, value, help) {
writeCamlConstant("int", "dot" number, value, help)
}
function apiConstant(name, symbol, value, help) {
writeCamlConstant("int", name, value);
}
function apiMask(name, symbol, value, help) {
writeCamlConstant("int64", "key_" tolower(name), hexadecimalValue(value) "L");
}
function apiShift(name, symbol, value, help) {
writeCamlConstant("int", "key_" tolower(name), hexadecimalValue(value));
}
function apiType(name, symbol, value, help) {
writeCamlConstant("int", "key_type_" tolower(name), hexadecimalValue(value));
}
function apiKey(name, symbol, value, help) {
value = hexadecimalValue(value)
if (name == "FUNCTION") {
for (i=0; i<35; ++i) {
writeKeyDefinition("F" (i+1), "(" value " + " i ")")
}
} else {
writeKeyDefinition(name, value)
}
}
function apiRangeType(name, symbol, value, help) {
writeCamlConstant("int", "rangeType_" name, value, help)
}
function writeCommandDefinition(name, value, help) {
writeCamlConstant("int32", name, value, help)
}
function writeKeyDefinition(name, value) {
writeCamlConstant("int32", "KEY_SYM_" name, "Int32.of_int " value)
}
function writeCamlConstant(type, name, value, help) {
print "let " tolower(name) " : " type " = " value " " camldocComment(help)
}
function camldocComment(text) {
if (length(text) > 0) value = "(** " text " *)";
else value = "";
return value;
}
function hexadecimalValue(value) {
value = tolower(value)
gsub("x0+", "x", value)
gsub("x$", "x0", value)
return value
}

View File

@@ -0,0 +1,213 @@
(*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2002-2012 by
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* All rights reserved.
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*)
(* BrlAPI Interface for the OCaml language *)
let dot1 = 1 lsl 0
let dot2 = 1 lsl 1
let dot3 = 1 lsl 2
let dot4 = 1 lsl 3
let dot5 = 1 lsl 4
let dot6 = 1 lsl 5
let dot7 = 1 lsl 6
let dot8 = 1 lsl 7
type settings = {
auth : string;
host : string
}
let settings_initializer = {
auth = "";
host = ""
}
type writeArguments = {
mutable displayNumber : int;
mutable regionBegin : int;
mutable regionSize : int;
text : string;
attrAnd : int array;
attrOr : int array;
mutable cursor : int;
mutable charset : string
}
let writeArguments_initializer = {
displayNumber = -1;
regionBegin = 0;
regionSize = 0;
text = "";
attrAnd = [| |];
attrOr = [| |];
cursor = -1;
charset = ""
}
type handle
let max_packet_size = 512
type errorCode =
| SUCCESS
| NOMEM
| TTYBUSY
| DEVICEBUSY
| UNKNOWN_INSTRUCTION
| ILLEGAL_INSTRUCTION
| INVALID_PARAMETER
| INVALID_PACKET
| CONNREFUSED
| OPNOTSUPP
| GAIERR of int
| LIBCERR of Unix.error
| UNKNOWNTTY
| PROTOCOL_VERSION
| EOF
| EMPTYKEY
| DRIVERERROR
| AUTHENTICATION
| Unknown of int
type error = {
brlerrno : int;
libcerrno : int;
gaierrno : int;
errfun : string;
}
external errorCode_of_error :
error -> errorCode = "brlapiml_errorCode_of_error"
external strerror :
error -> string = "brlapiml_strerror"
exception Brlapi_error of error
exception Brlapi_exception of errorCode * int32 * string
external openConnection :
settings -> Unix.file_descr * settings = "brlapiml_openConnection"
external openConnectionWithHandle :
settings -> handle = "brlapiml_openConnectionWithHandle"
external closeConnection :
?h:handle -> unit -> unit = "brlapiml_closeConnection"
external getDriverName :
?h:handle -> unit -> string = "brlapiml_getDriverName"
external getDisplaySize :
?h:handle -> unit -> int * int = "brlapiml_getDisplaySize"
external enterTtyMode :
?h:handle -> int -> string -> int = "brlapiml_enterTtyMode"
external enterTtyModeWithPath :
?h:handle -> int array -> string -> int = "brlapiml_enterTtyModeWithPath"
external leaveTtyMode :
?h:handle -> unit -> unit = "brlapiml_leaveTtyMode"
external setFocus :
?h:handle -> int -> unit = "brlapiml_setFocus"
external writeText :
?h:handle -> int -> string -> unit = "brlapiml_writeText"
external writeDots :
?h:handle -> int array -> unit = "brlapiml_writeDots"
external write :
?h:handle -> writeArguments -> unit = "brlapiml_write"
external readKey :
?h:handle -> unit -> int64 option = "brlapiml_readKey"
external waitKey :
?h:handle -> unit -> int64 = "brlapiml_waitKey"
type expandedKeyCode = {
type_ : int32;
command : int32;
argument : int32;
flags : int32
}
external expandKeyCode :
?h:handle -> int64 -> expandedKeyCode = "brlapiml_expandKeyCode"
type rangeType =
| RT_all
| RT_type
| RT_command
| RT_key
| RT_code
external ignoreKeys :
?h:handle -> rangeType -> int64 array -> unit = "brlapiml_ignoreKeys"
external acceptKeys :
?h:handle -> rangeType -> int64 array -> unit = "brlapiml_acceptKeys"
external ignoreAllKeys :
?h:handle -> unit = "brlapiml_ignoreAllKeys"
external acceptAllKeys :
?h:handle -> unit = "brlapiml_acceptAllKeys"
external ignoreKeyRanges :
?h:handle -> (int64 * int64) array -> unit = "brlapiml_ignoreKeyRanges"
external acceptKeyRanges :
?h:handle -> (int64 * int64) array -> unit = "brlapiml_acceptKeyRanges"
external enterRawMode :
?h:handle -> string -> unit = "brlapiml_enterRawMode"
external leaveRawMode :
?h:handle -> unit -> unit = "brlapiml_leaveRawMode"
external sendRaw :
?h:handle -> string -> int = "brlapiml_sendRaw"
external recvRaw :
?h:handle -> unit -> string = "brlapiml_recvRaw"
external suspendDriver :
?h:handle -> string -> unit = "brlapiml_suspendDriver"
external resumeDriver :
?h:handle -> unit -> unit = "brlapiml_resumeDriver"
module type KEY = sig
type key
val key_of_int64 : int64 -> key
val int64_of_key : key -> int64
end
module MakeKeyHandlers (M1 : KEY) = struct
type key = M1.key
let readKey ?h () = match readKey ?h () with
| None -> None
| Some x -> Some (M1.key_of_int64 x)
let waitKey ?h () = M1.key_of_int64 (waitKey ?h ())
let ignoreKeys ?h t a = ignoreKeys ?h t (Array.map M1.int64_of_key a)
let acceptKeys ?h t a = acceptKeys ?h t (Array.map M1.int64_of_key a)
let f (x,y) = (M1.int64_of_key x, M1.int64_of_key y)
let g a = Array.map f a
let ignoreKeyRanges ?h a = ignoreKeyRanges ?h (g a)
let acceptKeyRanges ?h a = acceptKeyRanges ?h (g a)
end
external setExceptionHandler :
unit -> unit = "brlapiml_setExceptionHandler"
let _ =
let x = { brlerrno = 0; libcerrno = 0; gaierrno = 0; errfun = "" } in
Callback.register_exception "Brlapi_error"
(Brlapi_error x);
Callback.register_exception "Brlapi_exception"
(Brlapi_exception (SUCCESS, 0l, ""));
setExceptionHandler()

View File

@@ -0,0 +1,222 @@
(*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2002-2012 by
* Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
* All rights reserved.
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*)
(* BrlAPI Interface for the OCaml language *)
(*
Ajouter des fichiers .in
*)
(*
BRLAPI_RELEASE
BRLAPI_MAJOR
BRLAPI_MINOR
BRLAPI_REVISION
Faire un fichier .in: @VAR@ est remplacé par la valeur de VAR
telle que définie dans configure.ac.
*)
(*
BRLAPI_SOCKETPORTNUM
BRLAPI_SOCKETPORT (string)
BRLAPI_MAXPACKETSIZE
BRLAPI_MAXNAMELENGTH
BRLAPI_SOCKETPATH
BRLAPI_ETCDIR
BRLAPI_AUTHKEYFILE
BRLAPI_DEFAUTH
Idem que précédemmment
C'est du ni<eau proto. Faut-il binder ?
*)
type settings = {
auth : string;
host : string
}
val settings_initializer : settings
type writeArguments = {
mutable displayNumber : int;
mutable regionBegin : int;
mutable regionSize : int;
text : string;
attrAnd : int array;
attrOr : int array;
mutable cursor : int;
mutable charset : string
}
val writeArguments_initializer : writeArguments
type handle
val max_packet_size : int
type errorCode =
| SUCCESS
| NOMEM
| TTYBUSY
| DEVICEBUSY
| UNKNOWN_INSTRUCTION
| ILLEGAL_INSTRUCTION
| INVALID_PARAMETER
| INVALID_PACKET
| CONNREFUSED
| OPNOTSUPP
| GAIERR of int
| LIBCERR of Unix.error
| UNKNOWNTTY
| PROTOCOL_VERSION
| EOF
| EMPTYKEY
| DRIVERERROR
| AUTHENTICATION
| Unknown of int
type error = {
brlerrno : int;
libcerrno : int;
gaierrno : int;
errfun : string;
}
external errorCode_of_error :
error -> errorCode = "brlapiml_errorCode_of_error"
external strerror :
error -> string = "brlapiml_strerror"
exception Brlapi_error of error
exception Brlapi_exception of errorCode * int32 * string
external openConnection :
settings -> Unix.file_descr * settings = "brlapiml_openConnection"
external openConnectionWithHandle :
settings -> handle = "brlapiml_openConnectionWithHandle"
external closeConnection :
?h:handle -> unit -> unit = "brlapiml_closeConnection"
(*
val expandHost : string -> string * string
Idem: proto
*)
external getDriverName :
?h:handle -> unit -> string = "brlapiml_getDriverName"
external getDisplaySize :
?h:handle -> unit -> int * int = "brlapiml_getDisplaySize"
external enterTtyMode :
?h:handle -> int -> string -> int = "brlapiml_enterTtyMode"
val enterTtyModeWithPath :
?h:handle -> int array -> string -> int
external leaveTtyMode :
?h:handle -> unit -> unit = "brlapiml_leaveTtyMode"
external setFocus :
?h:handle -> int -> unit = "brlapiml_setFocus"
external writeText :
?h:handle -> int -> string -> unit = "brlapiml_writeText"
(* Arg optionnel pour curseur ? *)
external writeDots :
?h:handle -> int array -> unit = "brlapiml_writeDots"
external write :
?h:handle -> writeArguments -> unit = "brlapiml_write"
(*
BRLAPI_KEYCODE_MAX
Les constantes pour travailler sur les flags de touches ?
Les KEY_SYM ?
Oui: pour être cohérent avec le fait de fournir le int64
Flags: entiers.
*)
(* val getKeyName : expandedKeyCode -> string *)
(*
brlapi_dotNumberToBit
brlapi_dotBitToNumber
Unicode ?
Oui, utile pour les key_sym
*)
external readKey :
?h:handle -> unit -> int64 option = "brlapiml_readKey"
external waitKey :
?h:handle -> unit -> int64 = "brlapiml_waitKey"
type expandedKeyCode = {
type_ : int32;
command : int32;
argument : int32;
flags : int32
}
external expandKeyCode :
?h:handle -> int64 -> expandedKeyCode = "brlapiml_expandKeyCode"
type rangeType =
| RT_all
| RT_type
| RT_command
| RT_key
| RT_code
external ignoreKeys :
?h:handle -> rangeType -> int64 array -> unit = "brlapiml_ignoreKeys"
external acceptKeys :
?h:handle -> rangeType -> int64 array -> unit = "brlapiml_acceptKeys"
external ignoreAllKeys :
?h:handle -> unit = "brlapiml_ignoreAllKeys"
external acceptAllKeys :
?h:handle -> unit = "brlapiml_acceptAllKeys"
external ignoreKeyRanges :
?h:handle -> (int64 * int64) array -> unit = "brlapiml_ignoreKeyRanges"
external acceptKeyRanges :
?h:handle -> (int64 * int64) array -> unit = "brlapiml_acceptKeyRanges"
external enterRawMode :
?h:handle -> string -> unit = "brlapiml_enterRawMode"
external leaveRawMode :
?h:handle -> unit -> unit = "brlapiml_leaveRawMode"
external sendRaw :
?h:handle -> string -> int = "brlapiml_sendRaw"
external recvRaw :
?h:handle -> unit -> string = "brlapiml_recvRaw"
external suspendDriver :
?h:handle -> string -> unit = "brlapiml_suspendDriver"
external resumeDriver :
?h:handle -> unit -> unit = "brlapiml_resumeDriver"
module type KEY = sig
type key
val key_of_int64 : int64 -> key
val int64_of_key : key -> int64
end
module MakeKeyHandlers (M1 : KEY) : sig
type key = M1.key
val readKey : ?h:handle -> unit -> key option
val waitKey : ?h:handle -> unit -> key
val ignoreKeys : ?h:handle -> rangeType -> key array -> unit
val acceptKeys : ?h:handle -> rangeType -> key array -> unit
val ignoreKeyRanges : ?h:handle -> (key * key) array -> unit
val acceptKeyRanges : ?h:handle -> (key * key) array -> unit
end

View File

@@ -0,0 +1,99 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2005-2012 by
* Alexis Robert <alexissoft@free.fr>
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
/* bindings.c provides initialized variables and brlapi exception handler to
* the Python bindings */
#include "brlapi.h"
#ifdef __MINGW32__
#define WIN_ERRNO_STORAGE_CLASS static
#include "win_errno.h"
#include "win_pthread.h"
#else /* __MINGW32__ */
#include <pthread.h>
#endif /* __MINGW32__ */
#include <stdlib.h>
#include <string.h>
#include "bindings.h"
const brlapi_writeArguments_t brlapi_writeArguments_initialized = BRLAPI_WRITEARGUMENTS_INITIALIZER;
static pthread_once_t brlapi_protocolExceptionOnce = PTHREAD_ONCE_INIT;
static pthread_key_t brlapi_protocolExceptionKey;
static char *brlapi_protocolExceptionSingleThread;
#if defined(WINDOWS)
#elif defined(__GNUC__) || defined(__sun__)
#pragma weak pthread_once
#pragma weak pthread_key_create
#pragma weak pthread_getspecific
#pragma weak pthread_setspecific
#endif /* weak external references */
static void BRLAPI_STDCALL brlapi_pythonExceptionHandler(brlapi_handle_t *handle, int error, brlapi_packetType_t type, const void *packet, size_t size)
{
char str[128];
brlapi__strexception(handle, str, sizeof(str), error, type, packet, size);
#ifndef WINDOWS
if (!(pthread_once && pthread_key_create))
brlapi_protocolExceptionSingleThread = strdup(str);
else
#endif
pthread_setspecific(brlapi_protocolExceptionKey, strdup(str));
}
char *brlapi_protocolException(void)
{
char *exception;
#ifndef WINDOWS
if (!(pthread_once && pthread_key_create)) {
exception = brlapi_protocolExceptionSingleThread;
brlapi_protocolExceptionSingleThread = NULL;
return exception;
} else
#endif
{
exception = pthread_getspecific(brlapi_protocolExceptionKey);
pthread_setspecific(brlapi_protocolExceptionKey, NULL);
return exception;
}
}
static void do_brlapi_protocolExceptionInit(void)
{
pthread_key_create(&brlapi_protocolExceptionKey, free);
}
void brlapi_protocolExceptionInit(brlapi_handle_t *handle) {
#ifndef WINDOWS
if (pthread_once && pthread_key_create)
#endif /* WINDOWS */
pthread_once(&brlapi_protocolExceptionOnce, do_brlapi_protocolExceptionInit);
brlapi__setExceptionHandler(handle, &brlapi_pythonExceptionHandler);
}

View File

@@ -0,0 +1,26 @@
/*
* libbrlapi - A library providing access to braille terminals for applications.
*
* Copyright (C) 2005-2012 by
* Alexis Robert <alexissoft@free.fr>
* Samuel Thibault <Samuel.Thibault@ens-lyon.org>
*
* libbrlapi comes with ABSOLUTELY NO WARRANTY.
*
* This is free software, placed under the terms of the
* GNU Lesser General Public License, as published by the Free Software
* Foundation; either version 2.1 of the License, or (at your option) any
* later version. Please see the file LICENSE-LGPL for details.
*
* Web Page: http://mielke.cc/brltty/
*
* This software is maintained by Dave Mielke <dave@mielke.cc>.
*/
/* bindings.h provides initialized variables to the Python bindings */
#include "brlapi.h"
extern const brlapi_writeArguments_t brlapi_writeArguments_initialized;
extern char *brlapi_protocolException(void);
extern void brlapi_protocolExceptionInit(brlapi_handle_t *handle);

View File

@@ -0,0 +1,136 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
AC_DEFUN([BRLTTY_PYTHON_BINDINGS], [dnl
PYTHON_OK=true
AC_PATH_PROG([PYTHON], [python])
if test -z "${PYTHON}"
then
AC_MSG_WARN([Python interpreter not found])
PYTHON_OK=false
else
PYTHON_PROLOGUE=""
for python_module in sys distutils.sysconfig
do
if test -n "`${PYTHON} -c "import ${python_module};" 2>&1`"
then
AC_MSG_WARN([Python module not found: ${python_module}])
PYTHON_OK=false
else
PYTHON_PROLOGUE="${PYTHON_PROLOGUE}import ${python_module}; "
fi
done
AC_SUBST([PYTHON_PROLOGUE])
if "${PYTHON_OK}"
then
if test -z "${PYTHON_VERSION}"
then
[PYTHON_VERSION="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_config_vars('VERSION')[0];"`"]
if test -z "${PYTHON_VERSION}"
then
[PYTHON_VERSION="`${PYTHON} -c "${PYTHON_PROLOGUE} print '.'.join(sys.version.split()[0].split('.')[:2]);"`"]
if test -z "${PYTHON_VERSION}"
then
AC_MSG_WARN([Python version not defined])
fi
fi
fi
AC_SUBST([PYTHON_VERSION])
if test -z "${PYTHON_CPPFLAGS}"
then
[python_include_directory="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_python_inc();"`"]
if test -z "${python_include_directory}"
then
AC_MSG_WARN([Python include directory not found])
PYTHON_OK=false
else
PYTHON_CPPFLAGS="-I${python_include_directory}"
if test ! -f "${python_include_directory}/Python.h"
then
AC_MSG_WARN([Python developer environment not installed])
PYTHON_OK=false
fi
fi
fi
AC_SUBST([PYTHON_CPPFLAGS])
if test -z "${PYTHON_LIBS}"
then
PYTHON_LIBS="-lpython${PYTHON_VERSION}"
[python_library_directory="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_python_lib(0,1);"`"]
if test -z "${python_library_directory}"
then
AC_MSG_WARN([Python library directory not found])
else
PYTHON_LIBS="-L${python_library_directory}/config ${PYTHON_LIBS}"
fi
fi
AC_SUBST([PYTHON_LIBS])
if test -z "${PYTHON_EXTRA_LIBS}"
then
[PYTHON_EXTRA_LIBS="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_config_var('LOCALMODLIBS'), distutils.sysconfig.get_config_var('LIBS');"`"]
fi
AC_SUBST([PYTHON_EXTRA_LIBS])
if test -z "${PYTHON_EXTRA_LDFLAGS}"
then
[PYTHON_EXTRA_LDFLAGS="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_config_var('LINKFORSHARED');"`"]
fi
AC_SUBST([PYTHON_EXTRA_LDFLAGS])
if test -z "${PYTHON_SITE_PKG}"
then
[PYTHON_SITE_PKG="`${PYTHON} -c "${PYTHON_PROLOGUE} print distutils.sysconfig.get_python_lib(0,0);"`"]
if test -z "${PYTHON_SITE_PKG}"
then
AC_MSG_WARN([Python package directory not found])
fi
fi
AC_SUBST([PYTHON_SITE_PKG])
fi
fi
AC_PATH_PROG([PYREXC], [pyrexc])
if test -z "${PYREXC}"
then
AC_MSG_WARN([Pyrex compiler not found])
PYTHON_OK=false
fi
if test "${GCC}" = "yes"
then
PYREXC_CFLAGS="-Wno-parentheses -Wno-unused -fno-strict-aliasing -U_POSIX_C_SOURCE -U_XOPEN_SOURCE"
else
case "${host_os}"
in
*)
PYREXC_CFLAGS=""
;;
esac
fi
AC_SUBST([PYREXC_CFLAGS])
AC_SUBST([PYTHON_OK])
])

View File

@@ -0,0 +1,711 @@
"""
This module implements a set of bindings for BrlAPI, a braille bridge for applications.
The reference C API documentation is available online http://mielke.cc/brltty/doc/BrlAPIref-HTML, as well as in manual pages.
This documentation is only a python helper, you should also read C manual pages.
Example :
import brlapi
import errno
import Xlib.keysymdef.miscellany
try:
b = brlapi.Connection()
b.enterTtyMode()
b.ignoreKeys(brlapi.rangeType_all,[0])
# Accept the home, window up and window down braille commands
b.acceptKeys(brlapi.rangeType_command,[brlapi.KEY_TYPE_CMD|brlapi.KEY_CMD_HOME, brlapi.KEY_TYPE_CMD|brlapi.KEY_CMD_WINUP, brlapi.KEY_TYPE_CMD|brlapi.KEY_CMD_WINDN])
# Accept the tab key
b.acceptKeys(brlapi.rangeType_key,[brlapi.KEY_TYPE_SYM|Xlib.keysymdef.miscellany.XK_Tab])
b.writeText("Press home, winup/dn or tab to continue ... ¤")
key = b.readKey()
k = b.expandKeyCode(key)
b.writeText("Key %ld (%x %x %x %x) !" % (key, k["type"], k["command"], k["argument"], k["flags"]))
b.writeText(None,1)
b.readKey()
underline = chr(brlapi.DOT7 + brlapi.DOT8)
# Note: center() can take two arguments only starting from python 2.4
b.write(
regionBegin = 1,
regionSize = 40,
text = u"Press any key to exit ¤ ",
orMask = "".center(21,underline) + "".center(19,chr(0)))
b.acceptKeys(brlapi.rangeType_all,[0])
b.readKey()
b.leaveTtyMode()
except brlapi.ConnectionError, e:
if e.brlerrno == brlapi.ERROR_CONNREFUSED:
print "Connection to %s refused. BRLTTY is too busy..." % e.host
elif e.brlerrno == brlapi.ERROR_AUTHENTICATION:
print "Authentication with %s failed. Please check the permissions of %s" % (e.host,e.auth)
elif e.brlerrno == brlapi.ERROR_LIBCERR and (e.libcerrno == errno.ECONNREFUSED or e.libcerrno == errno.ENOENT):
print "Connection to %s failed. Is BRLTTY really running?" % (e.host)
else:
print "Connection to BRLTTY at %s failed: " % (e.host)
print e
print e.brlerrno
print e.libcerrno
"""
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
cimport c_brlapi
import errno
include "constants.auto.pyx"
class OperationError(Exception):
"""Error while performing some operation"""
def __init__(self):
cdef char *exception
exception = c_brlapi.brlapi_protocolException()
if (exception):
self.exception = exception
c_brlapi.free(exception)
else:
self.exception = None
self.brlerrno = c_brlapi.brlapi_error.brlerrno
self.libcerrno = c_brlapi.brlapi_error.libcerrno
self.gaierrno = c_brlapi.brlapi_error.gaierrno
if (c_brlapi.brlapi_error.errfun):
self.errfun = c_brlapi.brlapi_error.errfun
def __str__(self):
cdef c_brlapi.brlapi_error_t error
if self.exception:
return self.exception
error.brlerrno = self.brlerrno
error.libcerrno = self.libcerrno
error.gaierrno = self.gaierrno
str = self.errfun
error.errfun = str
return c_brlapi.brlapi_strerror(&error)
class ConnectionError(OperationError):
"""Error while connecting to BrlTTY"""
def __init__(self, host, auth):
OperationError.__init__(self)
self.host = host
self.auth = auth
def __str__(self):
msg = "couldn't connect to %s with key %s: %s" % (self.host,self.auth,OperationError.__str__(self))
msg = msg + "\n(brlerrno %d, libcerrno %d, gaierrno %d)" % (self.brlerrno, self.libcerrno, self.gaierrno)
if self.brlerrno == ERROR_CONNREFUSED:
msg = msg + "\nBRLTTY is too busy..."
elif self.brlerrno == ERROR_AUTHENTICATION:
msg = msg + "\nAuthentication failed. Please check you can read %s and it is not empty." % self.auth
elif self.brlerrno == ERROR_LIBCERR and (self.libcerrno == errno.ECONNREFUSED or self.libcerrno == errno.ENOENT):
msg = msg + "\nIs BRLTTY really running?"
return msg
def host(self):
"""Host of BRLTTY server"""
return self.settings.host
def auth(self):
"""Authentication method used"""
return self.settings.auth
cdef class WriteStruct:
"""Structure containing arguments to be given to Connection.write()
See brlapi_writeArguments_t(3).
This is DEPRECATED. Use the named parameters of write() instead."""
cdef c_brlapi.brlapi_writeArguments_t props
def __init__(self):
self.props = c_brlapi.brlapi_writeArguments_initialized
property displayNumber:
"""Display number DISPLAY_DEFAULT == unspecified"""
def __get__(self):
return self.props.displayNumber
def __set__(self, val):
self.props.displayNumber = val
property regionBegin:
"""Region of display to update, 1st character of display is 1"""
def __get__(self):
return self.props.regionBegin
def __set__(self, val):
self.props.regionBegin = val
property regionSize:
"""Number of characters held in text, attrAnd and attrOr. For multibytes text, this is the number of multibyte characters. Combining and double-width characters count for 1"""
def __get__(self):
return self.props.regionSize
def __set__(self, val):
self.props.regionSize = val
property text:
"""Text to display"""
def __get__(self):
if (not self.props.text):
return None
else:
return self.props.text
def __set__(self, val):
cdef c_brlapi.size_t size
cdef char *c_val
if (type(val) == unicode):
val = val.encode('UTF-8')
self.charset = 'UTF-8'
if (self.props.text):
c_brlapi.free(self.props.text)
if (val):
size = len(val)
c_val = val
self.props.text = <char*>c_brlapi.malloc(size+1)
c_brlapi.memcpy(<void*>self.props.text,<void*>c_val,size)
self.props.text[size] = 0
self.props.textSize = size
else:
self.props.text = NULL
property cursor:
"""CURSOR_LEAVE == don't touch, CURSOR_OFF == turn off, 1 = 1st char of display, ..."""
def __get__(self):
return self.props.cursor
def __set__(self, val):
self.props.cursor = val
property charset:
"""Character set of the text"""
def __get__(self):
if (not self.props.charset):
return None
else:
return self.props.charset
def __set__(self, val):
cdef c_brlapi.size_t size
cdef char *c_val
if (self.props.charset):
c_brlapi.free(self.props.charset)
if (val):
size = len(val)
c_val = val
self.props.charset = <char*>c_brlapi.malloc(size+1)
c_brlapi.memcpy(<void*>self.props.charset,<void*>c_val,size)
self.props.charset[size] = 0
else:
self.props.charset = NULL
property attrAnd:
"""And attributes; applied first"""
def __get__(self):
if (not self.props.andMask):
return None
else:
return <char*>self.props.andMask
def __set__(self, val):
cdef c_brlapi.size_t size
cdef char *c_val
if (self.props.andMask):
c_brlapi.free(self.props.andMask)
if (val):
size = len(val)
c_val = val
self.props.andMask = <unsigned char*>c_brlapi.malloc(size+1)
c_brlapi.memcpy(<void*>self.props.andMask,<void*>c_val,size)
self.props.andMask[size] = 0
else:
self.props.andMask = NULL
property attrOr:
"""Or attributes; applied after ANDing"""
def __get__(self):
if (not self.props.orMask):
return None
else:
return <char*>self.props.orMask
def __set__(self, val):
cdef c_brlapi.size_t size
cdef char *c_val
if (self.props.orMask):
c_brlapi.free(self.props.orMask)
if (val):
size = len(val)
c_val = val
self.props.orMask = <unsigned char*>c_brlapi.malloc(size+1)
c_brlapi.memcpy(<void*>self.props.orMask,<void*>c_val,size)
self.props.orMask[size] = 0
else:
self.props.orMask = NULL
cdef class Connection:
"""Class which manages the bridge between your program and BrlAPI"""
cdef c_brlapi.brlapi_handle_t *h
cdef c_brlapi.brlapi_connectionSettings_t settings
cdef int fd
def __init__(self, host = None, auth = None):
"""Connect your program to BrlTTY using settings
See brlapi_openConnection(3)
Setting host to None defaults it to localhost, using the local installation's default TCP port, or to the content of the BRLAPI_HOST environment variable, if it exists.
Note: Please check that resolving this name works before complaining.
Setting auth to None defaults it to local installation setup or to the content of the BRLAPI_AUTH environment variable, if it exists."""
cdef c_brlapi.brlapi_connectionSettings_t client
if auth:
client.auth = auth
else:
client.auth = NULL
if host:
client.host = host
else:
client.host = NULL
self.h = <c_brlapi.brlapi_handle_t*> c_brlapi.malloc(c_brlapi.brlapi_getHandleSize())
c_brlapi.Py_BEGIN_ALLOW_THREADS
self.fd = c_brlapi.brlapi__openConnection(self.h, &client, &self.settings)
c_brlapi.Py_END_ALLOW_THREADS
c_brlapi.brlapi_protocolExceptionInit(self.h)
if self.fd == -1:
c_brlapi.free(self.h)
raise ConnectionError(self.settings.host, self.settings.auth)
def __del__(self):
"""Close the BrlAPI conection"""
c_brlapi.brlapi__closeConnection(self.h)
c_brlapi.free(self.h)
property host:
"""To get authorized to connect, libbrlapi has to tell the BrlAPI server a secret key, for security reasons. This is the path to the file which holds it; it will hence have to be readable by the application."""
def __get__(self):
return self.settings.host
property auth:
"""This tells where the BrlAPI server resides : it might be listening on another computer, on any TCP port. It should look like "foo:1", which means TCP port number BRLAPI_SOCKETPORTNUM+1 on computer called "foo"."""
def __get__(self):
return self.settings.auth
property fileDescriptor:
"""Returns the Unix file descriptor that the connection uses"""
def __get__(self):
return self.fd
property displaySize:
"""Get the size of the braille display
See brlapi_getDisplaySize(3)."""
def __get__(self):
cdef unsigned int x
cdef unsigned int y
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__getDisplaySize(self.h, &x, &y)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return (x, y)
property driverName:
"""Get the complete name of the driver used by BrlTTY
See brlapi_getDriverName(3)."""
def __get__(self):
cdef char name[21]
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__getDriverName(self.h, name, sizeof(name))
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return name
def enterTtyMode(self, tty = TTY_DEFAULT, driver = None):
"""Ask for some tty, with some key mechanism
See brlapi_enterTtyMode(3).
* tty : If tty >= 0, application takes control of the specified tty
If tty == TTY_DEFAULT, the library first tries to get the tty number from the WINDOWID environment variable (form xterm case), then the CONTROLVT variable, and at last reads /proc/self/stat (on linux)
* driver : Tells how the application wants readKey() to return key presses. None or "" means BrlTTY commands are required, whereas a driver name means that raw key codes returned by this driver are expected."""
cdef int retval
cdef int c_tty
cdef char *c_driver
c_tty = tty
if not driver:
c_driver = NULL
else:
c_driver = driver
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__enterTtyMode(self.h, c_tty, c_driver)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def enterTtyModeWithPath(self, path = [], driver = None):
"""Ask for some tty, with some key mechanism
See brlapi_enterTtyModeWithPath(3).
* tty is an array of ttys representing the tty path to be got. Can be None.
* driver : has the same meaning as in enterTtyMode.
Providing an empty array or None means to get the root."""
cdef int retval
cdef int *c_ttys
cdef int c_nttys
cdef char *c_driver
if not path:
c_ttys = NULL
c_nttys = 0
else:
c_nttys = len(path)
c_ttys = <int*>c_brlapi.malloc(c_nttys * sizeof(int))
for i from 0 <= i < c_nttys:
c_ttys[i] = path[i]
if not driver:
c_driver = NULL
else:
c_driver = driver
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__enterTtyModeWithPath(self.h, c_ttys, c_nttys, c_driver)
c_brlapi.Py_END_ALLOW_THREADS
if (c_ttys):
c_brlapi.free(c_ttys)
if retval == -1:
raise OperationError()
else:
return retval
def leaveTtyMode(self):
"""Stop controlling the tty
See brlapi_leaveTtyMode(3)."""
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__leaveTtyMode(self.h)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def setFocus(self, tty):
"""Tell the current tty to brltty.
See brlapi_setFocus(3).
This is intended for focus tellers, such as brltty, xbrlapi, screen, ... enterTtyMode() must have been called before hand to tell where this focus applies in the tty tree."""
cdef int retval
cdef int c_tty
c_tty = tty
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__setFocus(self.h, c_tty)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
# The writeArguments parameter must remain first (after self) in order
# to maintain backward compatibility with old code which passes it
# by position. New code should not use it since the plan is to remove
# it once it's no longer being used. New code should supply attributes
# by specifying the remaining parameters, as needed, by name.
def write(self, WriteStruct writeArguments = None,
displayNumber = None,
regionBegin = None,
regionSize = None,
text = None,
andMask = None,
orMask = None,
cursor = None,
charset = None):
"""Update a specific region of the braille display and apply and/or masks.
See brlapi_write(3).
* s : gives information necessary for the update"""
cdef int retval
if not writeArguments:
writeArguments = WriteStruct()
if displayNumber != None:
writeArguments.displayNumber = displayNumber
if regionBegin != None:
writeArguments.regionBegin = regionBegin
if regionSize != None:
writeArguments.regionSize = regionSize
if text:
writeArguments.text = text
if andMask:
writeArguments.attrAnd = andMask
if orMask:
writeArguments.attrOr = orMask
if cursor != None:
writeArguments.cursor = cursor
if charset:
writeArguments.charset = charset
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__write(self.h, &writeArguments.props)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def writeDots(self, dots):
"""Write the given dots array to the display.
See brlapi_writeDots(3).
* dots : points on an array of dot information, one per character. Its size must hence be the same as what displaysize provides."""
cdef int retval
cdef char *c_dots
cdef unsigned char *c_udots
(x, y) = self.displaySize
dispSize = x * y
if (len(dots) < dispSize):
dots = dots + "".center(dispSize - len(dots), '\0')
c_dots = dots
c_udots = <unsigned char *>c_dots
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__writeDots(self.h, c_udots)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def writeText(self, text, cursor = CURSOR_OFF):
"""Write the given \0-terminated string to the braille display.
See brlapi_writeText(3).
If the string is too long, it is cut. If it's too short, spaces are appended. The current LC_CTYPE locale is considered, unless it is left as default "C", in which case the charset is assumed to be 8bits, and the same as the server's.
* cursor : gives the cursor position; if equal to CURSOR_OFF, no cursor is shown at all; if cursor == CURSOR_LEAVE, the cursor is left where it is
* text : points to the string to be displayed"""
w = WriteStruct()
w.cursor = cursor
if (text):
(x, y) = self.displaySize
dispSize = x * y
if (len(text) < dispSize):
text = text + "".center(dispSize - len(text))
w.regionBegin = 1
w.regionSize = dispSize
w.text = text[0 : dispSize]
return self.write(w)
def readKey(self, wait = True):
"""Read a key from the braille keyboard.
See brlapi_readKey(3).
This function returns one key press's code.
If None or "" was given to enterTtyPath(), a brltty command is returned. It is hence pretty driver-independent, and should be used by default when no other option is possible.
By default, all commands but those which restart drivers and switch virtual are returned to the application and not to brltty. If the application doesn't want to see some command events, it should call either ignoreKeys() or ignoreKeyRanges().
If some driver name was given to enterTtyMode(), a raw keycode is returned, as specified by the terminal driver. It generally corresponds to the very code that the terminal tells to the driver. This should only be used by applications which are dedicated to a particular braille terminal. Hence, checking the terminal type thanks to a call to drivername before getting tty control is a pretty good idea.
By default, all the keypresses will be passed to the client, none will go through brltty, so the application will have to handle console switching itself for instance."""
cdef c_brlapi.brlapi_keyCode_t code
cdef int retval
cdef int c_wait
c_wait = wait
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__readKey(self.h, c_wait, <c_brlapi.brlapi_keyCode_t*>&code)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
elif retval <= 0 and wait == False:
return None
else:
return code
def expandKeyCode(self, code):
"""Expand a keycode into its individual components.
See brlapi_expandKeyCode(3)."""
cdef c_brlapi.brlapi_expandedKeyCode_t ekc
cdef int retval
retval = c_brlapi.brlapi_expandKeyCode(code, &ekc)
if retval == -1:
raise OperationError()
else:
return { "type":ekc.type, "command":ekc.command, "argument":ekc.argument, "flags":ekc.flags }
def ignoreKeys(self, key_type, set):
"""Ignore some key presses from the braille keyboard.
See brlapi_ignoreKeys(3).
This function asks the server to give the provided keys to brltty, rather than returning them to the application via brlapi_readKey().
The given codes should be brltty commands (nul or "" was given to brlapi_enterTtyMode())"""
cdef int retval
cdef c_brlapi.brlapi_rangeType_t c_type
cdef c_brlapi.brlapi_keyCode_t *c_set
cdef unsigned int c_n
c_type = key_type
c_n = len(set)
c_set = <c_brlapi.brlapi_keyCode_t*>c_brlapi.malloc(c_n * sizeof(c_set[0]))
for i from 0 <= i < c_n:
c_set[i] = set[i]
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__ignoreKeys(self.h, c_type, c_set, c_n)
c_brlapi.Py_END_ALLOW_THREADS
c_brlapi.free(c_set)
if retval == -1:
raise OperationError()
else:
return retval
def acceptKeys(self, key_type, set):
"""Accept some key presses from the braille keyboard.
See brlapi_ignoreKeys(3).
This function asks the server to give the provided keys to the application, and not give them to brltty.
The given codes should be brltty commands (nul or "" was given to brlapi_enterTtyMode())"""
cdef int retval
cdef c_brlapi.brlapi_rangeType_t c_type
cdef c_brlapi.brlapi_keyCode_t *c_set
cdef unsigned int c_n
c_type = key_type
c_n = len(set)
c_set = <c_brlapi.brlapi_keyCode_t*>c_brlapi.malloc(c_n * sizeof(c_set[0]))
for i from 0 <= i < c_n:
c_set[i] = set[i]
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__acceptKeys(self.h, c_type, c_set, c_n)
c_brlapi.Py_END_ALLOW_THREADS
c_brlapi.free(c_set)
if retval == -1:
raise OperationError()
else:
return retval
def ignoreAllKeys(self):
"""Ignore all key presses from the braille keyboard.
See brlapi_ignoreAllKeys(3).
This function asks the server to give all keys to brltty, rather than returning them to the application via brlapi_readKey()."""
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__ignoreAllKeys(self.h)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def acceptAllKeys(self):
"""Accept all key presses from the braille keyboard.
See brlapi_acceptAllKeys(3).
This function asks the server to give all keys to the application, and not give them to brltty.
Warning: after calling this function, make sure to call brlapi_ignoreKeys() for ignoring important keys like BRL_CMD_SWITCHVT_PREV/NEXT and such."""
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__acceptAllKeys(self.h)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def ignoreKeyRanges(self, keys):
"""Ignore some key presses from the braille keyboard.
See brlapi_ignoreKeyRanges(3).
This function asks the server to give the provided key ranges to brltty, rather than returning them to the application via brlapi_readKey().
The given codes should be raw keycodes (i.e. some driver name was given to brlapi_enterTtyMode()) """
cdef int retval
cdef c_brlapi.brlapi_range_t *c_keys
cdef unsigned int c_n
c_n = len(keys)
c_keys = <c_brlapi.brlapi_range_t*>c_brlapi.malloc(c_n * sizeof(c_keys[0]))
for i from 0 <= i < c_n:
c_keys[i].first = keys[i][0]
c_keys[i].last = keys[i][1]
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__ignoreKeyRanges(self.h, c_keys, c_n)
c_brlapi.Py_END_ALLOW_THREADS
c_brlapi.free(c_keys)
if retval == -1:
raise OperationError()
else:
return retval
def acceptKeyRanges(self, keys):
"""Accept some key presses from the braille keyboard.
See brlapi_acceptKeyRanges(3).
This function asks the server to return the provided key ranges (inclusive) to the application, and not give them to brltty.
The given codes should be raw keycodes (i.e. some driver name was given to brlapi_enterTtyMode()) """
cdef int retval
cdef c_brlapi.brlapi_range_t *c_keys
cdef unsigned int c_n
c_n = len(keys)
c_keys = <c_brlapi.brlapi_range_t*>c_brlapi.malloc(c_n * sizeof(c_keys[0]))
for i from 0 <= i < c_n:
c_keys[i].first = keys[i][0]
c_keys[i].last = keys[i][1]
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__acceptKeyRanges(self.h, c_keys, c_n)
c_brlapi.Py_END_ALLOW_THREADS
c_brlapi.free(c_keys)
if retval == -1:
raise OperationError()
else:
return retval
def enterRawMode(self, driver):
"""Switch to Raw mode
See brlapi_enterRawMode(3).
* driver : Specifies the name of the driver for which the raw communication will be established"""
cdef int retval
cdef char *c_driver
c_driver = driver
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__enterRawMode(self.h, c_driver)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval
def leaveRawMode(self):
"""leave Raw mode
See brlapi_leaveRawMode(3)."""
cdef int retval
c_brlapi.Py_BEGIN_ALLOW_THREADS
retval = c_brlapi.brlapi__leaveRawMode(self.h)
c_brlapi.Py_END_ALLOW_THREADS
if retval == -1:
raise OperationError()
else:
return retval

View File

@@ -0,0 +1,121 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
# File binding C functions
cdef extern from "sys/types.h":
ctypedef int size_t
cdef extern from "Programs/brlapi.h":
ctypedef struct brlapi_connectionSettings_t:
char *auth
char *host
ctypedef struct brlapi_writeArguments_t:
int displayNumber
unsigned int regionBegin
unsigned int regionSize
char *text
int textSize
unsigned char *andMask
unsigned char *orMask
int cursor
char *charset
ctypedef struct brlapi_expandedKeyCode_t:
unsigned int type
unsigned int command
unsigned int argument
unsigned int flags
ctypedef struct brlapi_error_t:
int brlerrno
int libcerrno
int gaierrno
char *errfun
brlapi_error_t brlapi_error
ctypedef struct brlapi_handle_t
ctypedef unsigned long long brlapi_keyCode_t
size_t brlapi_getHandleSize()
void brlapi__closeConnection(brlapi_handle_t *)
int brlapi__openConnection(brlapi_handle_t *, brlapi_connectionSettings_t*, brlapi_connectionSettings_t*)
int brlapi__getDisplaySize(brlapi_handle_t *, unsigned int*, unsigned int *y)
int brlapi__getDriverName(brlapi_handle_t *, char*, int)
int brlapi__enterTtyMode(brlapi_handle_t *, int, char*)
int brlapi__enterTtyModeWithPath(brlapi_handle_t *, int *, int, char*)
int brlapi__leaveTtyMode(brlapi_handle_t *)
int brlapi__setFocus(brlapi_handle_t *, int)
int brlapi__write(brlapi_handle_t *, brlapi_writeArguments_t*)
int brlapi__writeDots(brlapi_handle_t *, unsigned char*)
int brlapi__writeText(brlapi_handle_t *, int, char*)
ctypedef enum brlapi_rangeType_t:
brlapi_rangeType_all
ctypedef struct brlapi_range_t:
brlapi_keyCode_t first
brlapi_keyCode_t last
int brlapi__ignoreKeys(brlapi_handle_t *, brlapi_rangeType_t, brlapi_keyCode_t *, unsigned int)
int brlapi__acceptKeys(brlapi_handle_t *, brlapi_rangeType_t, brlapi_keyCode_t *, unsigned int)
int brlapi__ignoreAllKeys(brlapi_handle_t *)
int brlapi__acceptAllKeys(brlapi_handle_t *)
int brlapi__ignoreKeyRanges(brlapi_handle_t *, brlapi_range_t *, unsigned int)
int brlapi__acceptKeyRanges(brlapi_handle_t *, brlapi_range_t *, unsigned int)
int brlapi__readKey(brlapi_handle_t *, int, brlapi_keyCode_t*)
int brlapi_expandKeyCode(brlapi_keyCode_t, brlapi_expandedKeyCode_t *)
int brlapi__enterRawMode(brlapi_handle_t *, char*)
int brlapi__leaveRawMode(brlapi_handle_t *)
int brlapi__recvRaw(brlapi_handle_t *, void*, int)
int brlapi__sendRaw(brlapi_handle_t *, void*, int)
brlapi_error_t* brlapi_error_location()
char* brlapi_strerror(brlapi_error_t*)
brlapi_keyCode_t BRLAPI_KEY_MAX
brlapi_keyCode_t BRLAPI_KEY_FLAGS_MASK
brlapi_keyCode_t BRLAPI_KEY_TYPE_MASK
brlapi_keyCode_t BRLAPI_KEY_CODE_MASK
brlapi_keyCode_t BRLAPI_KEY_CMD_BLK_MASK
brlapi_keyCode_t BRLAPI_KEY_CMD_ARG_MASK
cdef extern from "bindings.h":
brlapi_writeArguments_t brlapi_writeArguments_initialized
char *brlapi_protocolException()
void brlapi_protocolExceptionInit(brlapi_handle_t *)
cdef extern from "stdlib.h":
void *malloc(size_t)
void free(void*)
char *strdup(char *)
cdef extern from "string.h":
void *memcpy(void *, void *, size_t)
cdef extern from "Python.h":
# these are macros, we just need to make Pyrex aware of them
int Py_BEGIN_ALLOW_THREADS
int Py_END_ALLOW_THREADS

View File

@@ -0,0 +1,108 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
function brlCommand(name, symbol, value, help) {
writeCommandDefinition(name, value, help)
}
function brlBlock(name, symbol, value, help) {
if (name == "PASSCHAR") return
if (name == "PASSKEY") return
if (value ~ /^0[xX][0-9a-fA-F]+00$/) {
writeCommandDefinition(name, tolower(value) "00", help)
}
}
function brlKey(name, symbol, value, help) {
}
function brlFlag(name, symbol, value, help) {
if (value ~ /^0[xX][0-9a-fA-F]+0000$/) {
value = tolower(substr(value, 1, length(value)-4))
if (name ~ /^CHAR_/) {
name = substr(name, 6)
} else {
value = value "00"
}
} else if (value ~ /^\(/) {
gsub("BRL_FLG_", "KEY_FLG_", value)
} else {
return
}
writePythonAssignment("KEY_FLG_" name, value, help)
}
function brlDot(number, symbol, value, help) {
writePythonAssignment("DOT" number, value, help)
}
function apiConstant(name, symbol, value, help) {
writePythonAssignment(name, value, help)
}
function apiMask(name, symbol, value, help) {
writePythonAssignment("KEY_" name, "c_brlapi." symbol, help)
}
function apiShift(name, symbol, value, help) {
value = hexadecimalValue(value)
writePythonAssignment("KEY_" name, value, help)
}
function apiType(name, symbol, value, help) {
value = hexadecimalValue(value)
writePythonAssignment("KEY_TYPE_" name, value, help)
}
function apiKey(name, symbol, value, help) {
value = hexadecimalValue(value)
if (name == "FUNCTION") {
for (i=0; i<35; ++i) {
key = "F" (i+1)
writeKeyDefinition(key, "(" value " + " i ")", "the " key " key")
}
} else {
writeKeyDefinition(name, value, help)
}
}
function apiRangeType(name, symbol, value, help) {
writePythonAssignment("rangeType_" name, value, help)
}
function writeCommandDefinition(name, value, help) {
writePythonAssignment("KEY_CMD_" name, value, help)
}
function writeKeyDefinition(name, value, help) {
writePythonAssignment("KEY_SYM_" name, value, help)
}
function writePythonAssignment(name, value, help) {
if (length(help) > 0) print "## " help
print name " = " value
}
function hexadecimalValue(value) {
value = tolower(value)
return value
}

View File

@@ -0,0 +1,26 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
import sys
from distutils.util import get_platform
import pydoc
if __name__ == "__main__":
sys.path.insert(1, 'build/lib.' + get_platform() + '-' + sys.version[0:3])
pydoc.writedoc('brlapi')

View File

@@ -0,0 +1,12 @@
# Dependencies for bindings.$O:
bindings.$O: $(SRC_DIR)/bindings.c
bindings.$O: $(BLD_TOP)Programs/brlapi.h
bindings.$O: $(BLD_TOP)Programs/brlapi_constants.h
bindings.$O: $(SRC_TOP)Programs/brlapi_keycodes.h
bindings.$O: $(SRC_TOP)Programs/timing.h
bindings.$O: $(SRC_TOP)Programs/win_pthread.h
bindings.$O: $(BLD_TOP)config.h
bindings.$O: $(SRC_TOP)prologue.h
bindings.$O: $(SRC_TOP)Programs/win_errno.h
bindings.$O: $(SRC_DIR)/bindings.h

View File

@@ -0,0 +1,40 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
from distutils.core import setup, Extension
if __name__ == "__main__":
brlapi = Extension("brlapi",
sources = ["brlapi.auto.c","./bindings.c"],
include_dirs = [".", ".", "./../../Programs", "./../../Programs", "./../../", "./../../"],
library_dirs = ["./../../Programs"],
libraries = ["brlapi"],
language = "c",
define_macros = [],
extra_compile_args = "-Wno-parentheses -Wno-unused -fno-strict-aliasing -U_POSIX_C_SOURCE -U_XOPEN_SOURCE".split())
setup(
name = "Brlapi",
version = "0.5.5",
description = "Python BrlAPI",
author = "Alexis Robert",
author_email = "alexissoft@free.fr",
license = "LGPL license",
url = "http://mielke.cc/brltty/",
ext_modules = [brlapi],)

View File

@@ -0,0 +1,40 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2005-2012 by
# Alexis Robert <alexissoft@free.fr>
# Samuel Thibault <Samuel.Thibault@ens-lyon.org>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
from distutils.core import setup, Extension
if __name__ == "__main__":
brlapi = Extension("brlapi",
sources = ["brlapi.auto.c","@srcdir@/bindings.c"],
include_dirs = ["@builddir@", "@srcdir@", "./@top_builddir@/Programs", "./@top_srcdir@/Programs", "./@top_builddir@/", "./@top_srcdir@/"],
library_dirs = ["./@top_builddir@/Programs"],
libraries = ["brlapi"],
language = "c",
define_macros = [],
extra_compile_args = "@PYREXC_CFLAGS@".split())
setup(
name = "Brlapi",
version = "@api_release@",
description = "Python BrlAPI",
author = "Alexis Robert",
author_email = "alexissoft@free.fr",
license = "LGPL license",
url = "http://mielke.cc/brltty/",
ext_modules = [brlapi],)

View File

@@ -0,0 +1,27 @@
#!/bin/bash -p
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by Dave Mielke <dave@mielke.cc>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
programName="$(basename "${0}")"
programDirectory="$(cd "$(dirname "${0}")" && pwd)"
currentDirectory="$(pwd)"
export LD_LIBRARY_PATH="${currentDirectory}"
export LD_PRELOAD="${currentDirectory}/../../Programs/libbrlapi.so"
exec tclsh "${programDirectory}/${programName}.tcl" "${@}"
exit "${?}"

View File

@@ -0,0 +1,63 @@
#!/usr/bin/env tclsh
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by Dave Mielke <dave@mielke.cc>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
source [file join [file dirname $argv0] prologue.tcl]
processProgramOptions optionValues {
{host string "where the BrlAPI server is [name][:port]"}
}
load libbrlapi_tcl.so
proc expandList {list args} {
set result ""
set delimiter ""
foreach field $args value $list {
append result "$delimiter$field=$value"
set delimiter " "
}
return $result
}
set connectionSettings [list]
if {[info exists optionValues(host)]} {
lappend connectionSettings -host $optionValues(host)
}
set session [eval brlapi openConnection $connectionSettings]
puts "Object: $session"
set host [$session getHost]
puts "Host: $host"
set auth [$session getAuth]
puts "Auth: $auth"
set fileDescriptor [$session getFileDescriptor]
puts "FileDescriptor: $fileDescriptor"
set driverName [$session getDriverName]
puts "DriverName: $driverName"
set displaySize [$session getDisplaySize]
puts "DisplaySize: [expandList $displaySize width height]"
set tty [$session enterTtyMode]
puts "Tty: $tty"
$session leaveTtyMode
$session closeConnection; unset session
exit 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,100 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by Dave Mielke <dave@mielke.cc>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
AC_DEFUN([BRLTTY_TCL_BINDINGS], [dnl
TCL_OK=false
TCL_CPPFLAGS=""
TCL_LIBS=""
BRLTTY_ARG_WITH(
[tcl-config], [PATH],
[the path to the Tcl configuration script (tclConfig.sh) or to the directory containing it],
[tcl_config_script], ["yes"]
)
tcl_config_name="tclConfig.sh"
if test "${tcl_config_script}" = "no"
then
AC_CHECK_HEADER([tcl.h], [dnl
TCL_OK=true
TCL_LIBS="-ltcl"
])
else
test "${tcl_config_script}" != "yes" || tcl_config_script=""
if test -z "${tcl_config_script}"
then
for directory in "/usr/lib" "/usr/local/lib" "/usr/lib64" "/usr/local/lib64"
do
script="${directory}/${tcl_config_name}"
test ! -f "${script}" || {
tcl_config_script="${script}"
AC_MSG_NOTICE([Tcl configuration script is ${tcl_config_script}])
break
}
done
test -n "${tcl_config_script}" || {
AC_MSG_WARN([Tcl configuration script not found: ${tcl_config_name}])
}
else
test ! -d "${tcl_config_script}" || tcl_config_script="${tcl_config_script}/${tcl_config_name}"
test -f "${tcl_config_script}" || {
AC_MSG_WARN([Tcl configuration script not found: ${tcl_config_script}])
tcl_config_script=""
}
fi
test -z "${tcl_config_script}" || {
if test ! -r "${tcl_config_script}"
then
AC_MSG_WARN([Tcl configuration script not readable: ${tcl_config_script}])
elif . "${tcl_config_script}"
then
TCL_OK=true
TCL_CPPFLAGS="${TCL_INCLUDE_SPEC}"
TCL_LIBS="${TCL_LIB_SPEC}"
fi
}
fi
"${TCL_OK}" && {
AC_PATH_PROGS([TCLSH], [tclsh${TCL_VERSION} tclsh], [TCLSH_NOT_FOUND_BY_CONFIGURE])
}
TCL_DIR=""
test -z "${TCL_PACKAGE_PATH}" || {
for directory in ${TCL_PACKAGE_PATH}
do
test `expr "${directory}" : '.*/lib'` -eq 0 || {
TCL_DIR="${directory}"
break
}
done
}
test -n "${TCL_DIR}" || {
AC_MSG_WARN([Tcl packages directory not found])
TCL_DIR="TCL_PACKAGES_DIRECTORY_NOT_FOUND_BY_CONFIGURE"
}
AC_SUBST([TCL_DIR])
AC_SUBST([TCL_OK])
AC_SUBST([TCL_CPPFLAGS])
AC_SUBST([TCL_LIBS])
])

View File

@@ -0,0 +1,46 @@
brlapi <function> [<arg> ...]
openConnection [<option> ...]
-host <hostSpec>
-auth <file>
expandKeyCode <keyCode> <arrayName>
describeKeyCode <keyCode> <arrayName>
makeDots <numbersList>
getHandleSize
brlapi<sessionNumber> function [arg ...]
getHost
getAuth
getFileDescriptor
getDriverName
getDisplaySize
enterTtyMode [<option> ...]
-tty {default | <number>}
-keyCodes
-events <driver>
enterTtyModeWithPath [<option> ...]
-path <list>
-keyCodes
-events <driver>
leaveTtyMode
setFocus <ttyNumber>
readKey <wait>
acceptKeys <rangeType> [<keyCodeList>]
ignoreKeys <rangeType> [<keyCodeList>]
acceptKeyRanges <keyRangeList>
ignoreKeyRanges <keyRangeList>
write [<option> ...]
-text <string>
-andMask <dots>
-orMask <dots>
-begin <offset>
-cursor {leave | off | <offset>}
-displayNumber {default | <number>}
writeDots <dots>
enterRawMode <driver>
leaveRawMode
recvRaw <maximumLength>
sendRaw <packet>
suspendDriver <driver>
resumeDriver
closeConnection

View File

@@ -0,0 +1,163 @@
###############################################################################
# libbrlapi - A library providing access to braille terminals for applications.
#
# Copyright (C) 2006-2012 by Dave Mielke <dave@mielke.cc>
#
# libbrlapi comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
proc getProgramPath {} {
return [uplevel #0 set argv0]
}
proc getProgramName {} {
return [file tail [getProgramPath]]
}
proc writeProgramMessage {message} {
puts stderr "[getProgramName]: $message"
}
proc syntaxError {message} {
writeProgramMessage $message
exit 2
}
proc getArgument {resultVariable} {
global argv
if {[llength $argv] == 0} {
return 0
}
uplevel 1 [list set $resultVariable [lindex $argv 0]]
set argv [lrange $argv 1 end]
return 1
}
proc nextArgument {description} {
if {![getArgument result]} {
syntaxError "missing $description."
}
return $result
}
proc noMoreArguments {} {
if {[getArgument argument]} {
syntaxError "excess parameter: $argument"
}
}
proc processOptions {argumentsList valuesArray options} {
upvar 1 $argumentsList arguments
upvar 1 $valuesArray values
set checkValue(string) {1}
set checkValue(integer) {[string is integer -strict $value]}
set checkValue(double) {[string is double -strict $value]}
set checkValue(boolean) {[string is boolean -strict $value]}
foreach option $options {
foreach variable {name type description} value $option {
set $variable $value
}
if {[info exists types($name)]} {
return -code error "option defined more than once: $name"
}
if {[set defaultSpecified [expr {[set delimiter [string first : $type]] >= 0}]]} {
set value [string range $type [expr {$delimiter + 1}] end]
set type [string range $type 0 [expr {$delimiter - 1}]]
}
if {[string length $type] == 0} {
return -code error "option type not defined: $name"
}
if {[string equal $type flag]} {
if {$defaultSpecified} {
return -code error "default value specified for $type option: $name"
}
set value 0
set defaultSpecified 1
} elseif {![info exists checkValue($type)]} {
return -code error "invalid option type: $type"
} elseif {$defaultSpecified && ![expr $checkValue($type)]} {
return -code error "invalid default value for $type option: $name=$value"
}
if {$defaultSpecified} {
set values($name) $value
}
set types($name) $type
set descriptions($name) $description
set abbreviation $name
while {[string length $abbreviation] > 0} {
if {[info exists names($abbreviation)]} {
set name ""
}
set names($abbreviation) $name
set abbreviation [string range $abbreviation 0 end-1]
}
}
while {[llength $arguments] > 0} {
if {[string length [set argument [lindex $arguments 0]]] == 0} {
breaK
}
if {[string equal [set option [string trimleft $argument -]] $argument]} {
break
}
set arguments [lrange $arguments 1 end]
if {[string length $option] == 0} {
break
}
if {![info exists names($option)]} {
return -code error "unknown option: $argument"
}
if {[string length [set name $names($option)]] == 0} {
return -code error "ambiguous option: $argument"
}
if {[string equal [set type $types($name)] flag]} {
set values($name) 1
} elseif {[llength $arguments] == 0} {
return -code error "value not supplied for option: $argument"
} else {
set value [lindex $arguments 0]
set arguments [lrange $arguments 1 end]
if {![expr $checkValue($type)]} {
return -code error "invalid value for $type option: $argument $value"
}
set values($name) $value
}
}
}
proc processProgramOptions {valuesArray options} {
global argv
upvar 1 $valuesArray values
if {[catch [list processOptions argv values $options] response] != 0} {
syntaxError $response
}
return $response
}

View File

@@ -0,0 +1,7 @@
# Dependencies for bindings.$O:
bindings.$O: $(SRC_DIR)/bindings.c
bindings.$O: $(SRC_TOP)Programs/brldots.h
bindings.$O: $(BLD_TOP)Programs/brlapi.h
bindings.$O: $(BLD_TOP)Programs/brlapi_constants.h
bindings.$O: $(SRC_TOP)Programs/brlapi_keycodes.h

View File

@@ -0,0 +1,35 @@
Debian Installer feat. BRLTTY
-----------------------------
Debian Installer natively supports BRLTTY since its beta 3 for Debian
Etch, see official announcement at [1]. If your Braille display is
connected by USB, simply press ENTER at syslinux prompt (at the very
beginning of the installation process), your display should be
autodetected. Otherwise, if either your display is connected by
serial port or you want to set a particular Braille table, give the
following line at syslinux prompt before pressing ENTER (you may be
careful as the keyboard layout is qwerty at this step):
install brltty=drv,dev,tbl
"drv" stands for the BRLTTY code of your Braille display, "dev" stands
for the device your Braille display is connected to (e.g. ttyS0, usb:,
...) and "tbl" stands for the code of the Braille table to be set.
For example, this is the line that enables BRLTTY for a BAUM
SuperVario 40 Braille display connected by USB with default Braille
table:
install brltty=bm,usb:
Supported Braille displays and Braille tables are listed along with
corresponding codes in the BRLTTY manual, see [2]. Details about
installing Debian are available at [3]. Please also consider joining
Debian Accessibility mailing list at [4].
Footnotes:
[1] http://www.debian.org/devel/debian-installer/News/2006/20060811
[2] http://mielke.cc/brltty/doc/Manual-BRLTTY/English/BRLTTY.html
[3] http://www.debian.org/releases/stable/installmanual
[4] http://lists.debian.org/debian-accessibility/
-- Boris Daix <Boris.Daix@alysse.org> Sun, 27 Aug 2006 23:10:15 +0200

View File

@@ -0,0 +1,159 @@
Adding BRLTTY to a Red Hat Linux Install CD
===========================================
Written during April, 2004, by Dave Mielke <dave@mielke.cc>.
Quick Start
-----------
The script "rhmkiso" can be used to add BRLTTY to a RedHat or Fedora install
CD. Here's how to use it.
First: Log in as (or su to) root. This is because the script uses a loopback
mount. You'll probably also need to be root in order to write the resultant
image to a CD as well.
Second: Create an empty directory and change to it.
mkdir work
cd work
Third: Copy or download the image of the installer CD ("boot.iso") for the
desired RedHat or Fedora release, or the image for the first CD of the full
installation set ("disc1.iso"), into the current directory.
cp /path/to/boot.iso .
Fourth: Copy or download the tarball for the desired BRLTTY release into the
current directory.
cp /path/to/brltty-3.5.tar.gz .
Fifth: Run the "rhmkiso" script with no options or parameters.
rhmkiso
Sixth: You should now have a new file, "brltty.iso", in the current directory.
Write this modified image to a CD.
cdrecord -v dev=0,0,0 -data brltty.iso
If you're using a rewritable CD then you should erase it first.
cdrecord -v dev=0,0,0 blank=fast
For more information on writing to a CD, please check the CD-Writing HOWTO at:
http://tldp.org/HOWTO/CD-Writing-HOWTO.html
Seventh: Boot from the CD you've just written, and wait a few seconds after it
begins to spin in order to give the boot loader enough time to get started and
to present its initial prompt. Then enter:
text brltty=<driver>,<device>,<table>
e.g.
text brltty=ht,ttyS1,de
You can omit any operand, allowing it to default, simply by not specifying it.
You also needn't specify any trailing commas resulting from omitted operands.
text brltty=ht,ttyS1,
text brltty=ht,ttyS1
text brltty=ht,
text brltty=ht
text brltty=ht,,de
text brltty=ht,,
The <driver> operand is the two-letter identifier of the driver for your
braille display. It's the only required operand. See the -b option (below) for
further details.
The <device> operand is the device to which your braille display is connected.
It's optional, and defaults to the primary serial port ("/dev/ttyS0"). If your
display is connected to a serial port then specify either the name (e.g.
"ttyS1") of or the path (e.g. "/dev/ttyS1") to the corresponding device. If
it's connected to the USB then specify "usb:" (the trailing colon is
important).
The <table> operand is the text translation table you wish to use. It's
optional, and defaults to "nabcc" (North American Braille Computer Code). See
the "text.*.tbl" files in the "BrailleTables" subdirectory of BRLTTY's source
tree for alternatives. See the -t option (below) for further details.
The Details
-----------
The "rhmkiso" script can add BRLTTY to either a RedHat or a Fedora install CD.
It can be applied either to the basic installer CD or to the first CD of the
full installation set, and makes the following modifications to the image:
* BRLTTY is added (all drivers, all tables).
* The timeout for the initial boot loader prompt is disabled.
* The default kernel configuration to be booted is changed to "text".
* The use of frame buffers for the "text" consoles is disabled.
For rescue images, the following additional modifications are made:
* Text consoles are used when "rescue" is selected.
* The use of frame buffers for the "rescue" consoles is disabled.
Although its defaults are what usually needs to be done, the "rhmkiso" script
offers a number of options so that you can customize what it does. It's general
invocation syntax is:
rhmkiso [-option ...]
The following options are provided:
-i file The original (input) image (default: boot.iso).
-o file The modified (output) image (default: brltty.iso).
-a file The BRLTTY archive (default: check current directory).
-b driver,... The braille driver(s) to include (default: all).
-t file The text translation table to build in (default: nabcc).
-s Invoke an interactive shell to inspect the modified image.
-h Display usage information and exit.
The -i option specifies the location of the distribution-supplied original
(input) image which is to be modified. Either a relative or an absolute path
may be supplied. It defaults to "boot.iso" (the usual name for the basic
installer CD image).
The -o option specifies the location of the file which is to contain the
modified (output) image which the script will create. Either a relative or an
absolute path may be supplied. It defaults to "brltty.iso".
The -b option specifies which braille display drivers will be linked into the
brltty executable as opposed to being built as dynamically loadable shared
objects. If more than one driver is specified then their specifiers must be
separated from one another by a comma. Either the two-letter identifier or the
proper name (full or abbreviated) for each driver must be supplied. If a driver
specifier is prefixed by a minus sign (-) then that driver is excluded from the
build. The first non-excluded driver in the list is the default driver. The
word "all", if used instead of a driver specifier as the last item in the list,
causes all the remaining drivers to be implicitly appended to the list in no
specific order (or, if preceded by a minus sign, to be excluded from the
build). The default is "all", i.e. all of the drivers (in no particular order
so the default is unpredictable) are linked in.
The -t option specifies which text translation table is to be built into the
brltty executable. If a relative path is supplied then it's anchored at the
"BrailleTables" subdirectory within BRLTTY's source tree. Since any of BRLTTY's
own tables can also be specified when the image is booted, the primary use of
this option is to specify the absolute path to a user-defined table outside
BRLTTY's source tree. The ".tbl" extension is optional. If a simple file name,
i.e. one of BRLTTY's own tables, is being supplied then the "text." prefix is
also optional. The default is "nabcc" (North American Braille Computer Code).
The -s option causes an interactive shell to be invoked after all of the
modifications to the files within the image have been made but before the CD
image is created. This gives you an opportunity to inspect what the script has
done. Your login shell, i.e. the one pointed to by the $SHELL environment
variable, is used; if it's not set then "/bin/sh" is assumed.
The script uses a lot of temporary file space to do its job, especially if the
first CD of the full installation set is being used. This is because it needs
to work with a complete extracted copy of the files within the image. If
there's not enough space in "/tmp" then you can direct the script to use
another directory via the $TMPDIR environment variable.
The script uses a loopback mount to access the files within the original CD
image. This means that it must be run as root.

View File

@@ -0,0 +1,209 @@
Adding BRLTTY to a Red Hat Linux Install Floppy
===============================================
Written on April 7, 2002
Here is an outline of a procedure for adapting the RedHat (or similar)
installation boot disk so that BRLTTY can be used during the installation
process.
History:
-Initial draft from St<53>phane Doyon <s.doyon@videotron.ca>
-Additions from Nicolas Pitre <nico@fluxnic.net>
-April 7, 2002: Mostly rewritten by St<53>phane Doyon to take into account
the INIT_PATH hack
-September 26, 2002: Amended by Dave Mielke <dave@mielke.cc> due to change from
make file editing to autoconf in 3.1.
TODO:
-Figure out how to use shared libraries from a statically linked
executable, when the lib references symbols from the main
program. With that we could do generic bootdisk with dynamic selection
of braille driver.
-Give working instructions on how to make higher sized floppies for a
one-floppy solution.
You need an already working Linux station to perform this. A certain
level of Linux/Unix expertise is also required. Please read to the end
before doing anything. You'll probably end up asking for sighted help at
some point (such as to know why it won't boot, or to help install BRLTTY
on the new machine), but if you can get this to work then you'll be free
to spend an hour on your own choosing which packages you want installed.
This was last tried with RedHat 7.2.
First step is compiling BRLTTY. The bootdisk will use one and only one
BRLTTY driver, so you must choose wich. Do:
make distclean
./configure --enable-standalone-programs --with-init-path
--with-braille-driver=<driver> --with-text-table=<table>
make
where <driver> is the driver to build into BRLTTY (one of the possible values
listed under --with-braille-driver in the output from ./configure --help) and
<table> is the text translation table to use (such as text.french.tbl,
text.german.tbl, ...) (see the the BrailleTables/ subdirectory).
This will build BRLTTY with the chosen display driver built-in, and will
link the BRLTTY executable statically so that it doesn't depend on any
shared libraries.
If your display is on the second serial port instead of the first,
you will need to add "--with-braille-device=/dev/ttyS1".
You should get an executable called "brltty" (in the "Programs/" subdirectory)
whose size is around 570K, depending on the driver you chose. If you do:
file Programs/brltty
it should say, among other things, "statically linked".
The Red Hat installation boot disk is a DOS disk that contains a boot
loader (called syslinux), a kernel (called vmlinuz), and an initial ramdisk
(called initrd.img). This initial ramdisk is the initial root filesystem
containing a bootstrap installation program: /sbin/init. We'll just put
brltty on that ramdisk image and make sure it is started before anything
else. However, because the statically linked brltty executable is so
large, we will have to put the ramdisk image on a second floppy, because
it won't fit on the original single boot floppy (with the kernel).
So now we must hack floppies. Make a temporary work directory. We will
call it ".../work", could be "~/work".
mkdir .../work
mkdir .../work/etcbrltty
Now copy relevant files from your BRLTTY build. Copy the executable, the
translation table, the contraction table (if you want it), and the help file(s)
to your work directory.
cp Programs/brltty .../work
cp BrailleTables/*.tbl .../work/etcbrltty
cp ContractionTables/*.ctb .../work/etcbrltty
cp help/* .../work/etcbrltty
(You can also copy alternative translation tables from BrailleTables/
to .../work/etcbrltty. These CAN be loaded dynamically.)
Now change to the work directory:
cd .../work
The executable is way too large for a boot disk because it contains lots of
unneeded symbol table and debugging information. Remove this excess data in
order to make the executable as small as possible.
strip brltty
Next step is to select an installation boot floppy image from your
distribution. This could be images/boot.img or images/bootnet.img from an
RH CDROM. Consider checking the updates site for your distribution in
case they have updated installation disk images. If what you have is an
actual floppy, use "dd if=/dev/fd0 of=boot.img bs=512" to make an image
file from it.
Copy the chosen image to your work directory and if necessary rename it
to boot.img.
So now the current directory should contain boot.img, brltty, and
etcbrltty/.
Now run the rhmkbot script (which is located in the same directory as this
README). It will copy boot.img to myboot.img, and it will modify the
syslinux.cfg: it will add a new boot entry called "brltty". That entry will
have options to cause syslinux to load a ramdisk from a second floppy, instead
of using the initrd.img on the first floppy. The brltty entry has the "text"
keyword parameter to trigger the text-mode install. rhmkbot also makes this new
entry the default boot entry.
Now run the rhmkroot script. It will get initrd.img (the initial ramdisk)
from boot.img and call it myroot.img. It will modify that image:
-Rename /sbin/init to /sbin/init_real,
-Copy brltty to /sbin/brltty,
-Link /sbin/init to /sbin/brltty
-Copy files from etcbrltty to /etc/brltty,
-Try to make sure necessary devices such as vcsa, serial ports, and
console device exist in /dev. (vcsa is usually missing.)
If it turns out that the brltty executable is too large, do "./configure
--help" and check out the various "--disable-..." options. Each removes a
specific feature from BRLTTY, and results in a corresponding decrease in the
size of the executable. Recommended possibilities include:
--disable-table-selection --disable-learn-mode --disable-contracted-braille
--disable-pcm-support --disable-midi-support --disable-fm-support
--disable-api --disable-gpm
--disable-speech-support --without-x
If building the Papenmeier driver, then also consider:
--disable-pm-configfile
Remember to do "make distclean" if you need to reconfigure BRLTTY.
Assuming there are no errors, the next step is to actually write the
floppies.
So get two formatted floppies. One will be the boot floppy, the other the
ramdisk floppy. To write the boot floppy do:
dd if=myboot.img of=/dev/fd0 bs=512
To write the ramdisk floppy do:
dd if=myroot.img of=/dev/fd0 bs=512
That's it!
So now boot the boot floppy on the machine you want to install. At the
prompt you can press ENTER to choose the brltty entry.
If you want to specify boot parameters, remember to use the label
"brltty" instead of "linux".
You can pass options to BRLTTY from the boot prompt by using option names
similar to those in the brltty.conf file: use only uppercase, use underscores
instead of minus signs, and prefix with BRLTTY_. For example:
brltty BRLTTY_BRAILLE_DEVICE=/dev/ttyS1
When you press ENTER, syslinux will load the kernel. When the floppy
stops spinning the kernel will start to run and will prompt you for the
ramdisk floppy. Put the second floppy in and press ENTER. The kernel will
load the ramdisk. When the floppy stops spinning, BRLTTY SHOULD
(hopefullY) come on and the installation program should start.
One of the problems you may have during the installation process is that
some autoconfiguration programs may play around with the serial ports to
try to autodetect hardware, thereby upsetting them and causing BRLTTY to
stop working. This can also occur when the system itself boots. More
recent RedHat versions are less aggressive though. Two tricks if you have
problems:
-If kudzu runs when your system boots and upsets BRLTTY, either disable
that service (using chkconfig or ntsysv) or modify /etc/sysconfig/kudzu
or the script that uses kudzu to make it use the --safe option.
-To get the installation program to leave a serial port alone, you might
try to modify the ramdisk to change /dev/ttyS0 to say /dev/ttySmyown, and
tell BRLTTY to use that as it's serial port. This might have the effect
of hiding the serial port from bad applications.
Note that you must also install BRLTTY on your new machine. When it will boot
Linux after the installation, BRLTTY will not be installed and the machine will
be inaccessible. One way to simplify things is to use the statically linked
brltty you compiled for the installation disk, as it is fairly self-contained.
Once it's running, then you can build yourself a shared version and modify your
boot scripts or inittab to have BRLTTY start automatically. A nice way to get
brltty onto your new machine is this: during the installation process, after
your target partition has been formatted, it is (at least with the current RH
installation program) mounted under /mnt/sysimage. You can temporarily put
aside the installation program and get a shell by going to the second virtual
console (alt-F2). There you can do:
cp /sbin/brltty /mnt/sysimage/bin/
I am not sure if at that point it is possible to edit inittab or startup
scripts. Otherwise on your first boot, you just have to log in as root
(without braille support) and type "/bin/brltty" and if all went well
BRLTTY should come on.
Good luck!

View File

@@ -0,0 +1,261 @@
#!/bin/sh
###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
# text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2012 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU General Public License, as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any
# later version. Please see the file LICENSE-GPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
# Convert the boot parameter to configuration file directives.
# If /proc is mounted then use the brltty= boot parameter in /proc/cmdline.
# If /proc is not mounted then use the brltty environment variable.
# Invoke with -h for usage information.
programName="${0##*/}"
programMessage()
{
echo 2>&1 "${programName}: ${1}"
}
syntaxError()
{
programMessage "${1}"
exit 2
}
internalError()
{
programMessage "${1}"
exit 3
}
configurationFile=""
requestedAction=create
deviceTranslation=none
requestedParameter=""
OPTIND=1
while getopts ":f:cundop:h" option
do
case "${option}"
in
f) configurationFile="${OPTARG}";;
c) requestedAction=create;;
u) requestedAction=update;;
n) deviceTranslation=none;;
d) deviceTranslation=devfs;;
o) deviceTranslation=old;;
p) requestedParameter="${OPTARG}";;
h)
cat <<EOF
Usage: ${programName} [option ...]
-f file The configuration file to create/update.
-c Create the configuration file (write to stdout if no -f).
-u Update the configuration file (copying from stdin to stdout if no -f).
-n Do not translate device paths.
-d Do old-style to devfs device path translation.
-o Do devfs to old-style device path translation.
-p [driver][,[device][,[table]]]
Explicitly specify the boot parameter.
-h Display this usage summary.
EOF
exit 0
;;
\?) syntaxError "unknown option: -${OPTARG}";;
:) syntaxError "missing value: -${OPTARG}";;
*) internalError "unimplemented option: -${option}";;
esac
done
shift "`expr $OPTIND - 1`"
[ "${#}" -eq 0 ] || syntaxError "too many parameters."
case "${requestedAction}"
in
create)
putConfigurationLine()
{
echo "${1}" || exit 4
}
startConfigurationFile()
{
[ -n "${configurationFile}" ] && exec >"${configurationFile}"
putConfigurationLine "`makeHeaderLine Created`"
putConfigurationLine "`makeParameterLine`"
putConfigurationLine ""
}
putConfigurationDirective()
{
putConfigurationLine "${1} ${2}"
}
finalizeConfigurationFile()
{
:
}
;;
update)
putSedCommand()
{
sedScript="${sedScript}
${1}"
}
startConfigurationFile()
{
if [ -n "${configurationFile}" ]
then
[ -e "${configurationFile}" ] || syntaxError "file not found: ${configurationFile}"
[ -f "${configurationFile}" ] || syntaxError "not a file: ${configurationFile}"
[ -r "${configurationFile}" ] || syntaxError "file not readable: ${configurationFile}"
[ -w "${configurationFile}" ] || syntaxError "file not writable: ${configurationFile}"
outputFile="${configurationFile}.new"
exec <"${configurationFile}" >"${outputFile}"
fi
sedScript=""
putSedCommand "1i\\
`makeHeaderLine Updated`\\
`makeParameterLine`\\
"
}
putConfigurationDirective()
{
value="`echo "${2}" | sed -e 's%\\([/\\]\\)%\\\\\\1%g'`"
putSedCommand "/^ *#\\(${1} .*\\)/s//\\1/"
putSedCommand "/^ *\\(${1}\\) .*/s//\\1 ${value}/"
}
finalizeConfigurationFile()
{
sed -e "${sedScript}"
[ -n "${outputFile}" ] && mv -f "${outputFile}" "${configurationFile}"
}
;;
*) internalError "unimplemented action: ${requestedAction}";;
esac
translateDevice_none()
{
:
}
translateDevice_devfs()
{
minor="${device#ttyS}"
if [ "${minor}" != "${device}" ]
then
device="tts/${minor}"
return 0
fi
minor="${device#lp}"
if [ "${minor}" != "${device}" ]
then
device="printers/${minor}"
return 0
fi
programMessage "unsupported old-style device: ${device}"
}
translateDevice_old()
{
major="${device%%/*}"
if [ "${major}" != "${device}" ]
then
minor="${device#*/}"
case "${major}"
in
tts) devfs="ttyS${minor}";;
printers) devfs="lp${minor}";;
esac
fi
if [ -n "${devfs}" ]
then
device="${devfs}"
else
programMessage "unsupported devfs device: ${device}"
fi
}
makeHeaderLine()
{
echo "# ${1} by brltty-bp2cf`date +' on %Y-%m-%d at %H:%M:%S %Z (UTC%z)'`."
}
makeParameterLine()
{
echo "# Boot Parameter:${bootParameter}"
}
putConfigurationFile()
{
startConfigurationFile
[ -n "${brailleDriver}" ] && putConfigurationDirective "braille-driver" "${brailleDriver}"
[ -n "${brailleDevice}" ] && {
device="`echo "${brailleDevice}" | sed -e 's%//*%/%g' -e 's%^/dev/%%'`"
if [ "${device#/}" = "${device}" ]
then
translateDevice_${deviceTranslation}
fi
putConfigurationDirective "braille-device" "${device}"
}
[ -n "${textTable}" ] && putConfigurationDirective "text-table" "${textTable}"
finalizeConfigurationFile
}
parseBootParameter()
{
bootParameter="${bootParameter} ${1}"
number=1
while [ "${number}" -le 3 ]
do
cut="cut -d, -f${number}"
[ "${number}" -gt 1 ] && cut="${cut} -s"
operand="`echo ${1} | ${cut}`"
if [ -n "${operand}" ]
then
case "${number}"
in
1) brailleDriver="${operand}";;
2) brailleDevice="${operand}";;
3) textTable="${operand}";;
esac
fi
number="`expr ${number} + 1`"
done
}
putBootParameter()
{
parseBootParameter "${1}"
putConfigurationFile
}
parseBootCommand()
{
found=false
while [ "${#}" -gt 0 ]
do
case "${1}"
in
"brltty="*)
found=true
parseBootParameter "${1#*=}"
;;
esac
shift
done
"${found}" && putConfigurationFile
}
brailleDriver=""
brailleDevice=""
textTable=""
bootCommandFile="/proc/cmdline"
if [ -n "${requestedParameter}" ]
then
putBootParameter "${requestedParameter}"
elif [ -f "${bootCommandFile}" ]
then
parseBootCommand `cat "${bootCommandFile}"`
elif [ -n "${brltty}" ]
then
putBootParameter "${brltty}"
fi
exit 0

View File

@@ -0,0 +1,20 @@
#!/bin/sh
set -e
# Make local mount points
mkdir -p mnt1 mnt2
# Work on a copy of bootdisk image
cp -f boot.img myboot.img
mount myboot.img mnt1 -o loop -t msdos
# Modify syslinux.cfg
cat >cfg <<EOF
label brltty
kernel vmlinuz
append root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1 lang= text devfs=nomount ramdisk_size=9216
EOF
cat mnt1/syslinux.cfg |sed 's/default linux/default brltty/' >>cfg
cp cfg mnt1/syslinux.cfg
umount mnt1

View File

@@ -0,0 +1,333 @@
#!/bin/bash -p
###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
# text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2012 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU General Public License, as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any
# later version. Please see the file LICENSE-GPL for details.
#
# Web Page: http://mielke.cc/brltty/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################
programName="${0##*/}"
programMessage() {
echo >&2 "${programName}: ${1}"
}
programError() {
[ -n "${1}" ] && programMessage "${1}"
exit "${2:-3}"
}
syntaxError() {
programError "${1}" 2
}
mount_ext2() {
mount -o loop -t ext2 "${2}" "${1}"
}
unmount_ext2() {
umount "${1}"
}
check_ext2() {
set -- $(stat -c '%a %s' -f -- "${initrdRoot}")
initrdAvailableBlocks="${1}"
initrdBlockSize="${2}"
set -- $(du --block-size="${initrdBlockSize}" -s "${brlttyInstallRoot}")
brlttyInstallBlocks="${1}"
set -- $(stat -c '%s' -- "${initrdImage}")
initrdImageBytes="${1}"
initrdImageBlocks=$(( (initrdImageBytes + initrdBlockSize - 1) / initrdBlockSize ))
initrdPadBlocks=$(( brlttyInstallBlocks - initrdAvailableBlocks ))
(( (initrdPadBlocks += 200) > 0 )) && {
initrdMounted=false
"unmount_${initrdType}" "${initrdRoot}" "${initrdImage}"
dd bs="${initrdBlockSize}" count="${initrdPadBlocks}" if="/dev/zero" of="${initrdImage}" seek="${initrdImageBlocks}"
e2fsck -y -f "${initrdImage}" && resize2fs "${initrdImage}" || {
newImage="${temporaryDirectory}/new.${initrdType}"
cp -RpPd -- "${initrdImage}" "${newImage}"
mke2fs -q -b "${initrdBlockSize}" -F "${newImage}"
newRoot="${temporaryDirectory}/new"
mkdir "${newRoot}"
"mount_${initrdType}" "${newRoot}" "${newImage}"
newMounted=true
"mount_${initrdType}" "${initrdRoot}" "${initrdImage}"
initrdMounted=true
cp -RpPd -- "${initrdRoot}/." "${newRoot}"
initrdMounted=false
"unmount_${initrdType}" "${initrdRoot}" "${initrdImage}"
newMounted=false
"unmount_${initrdType}" "${newRoot}" "${newImage}"
cp -- "${newImage}" "${initrdImage}"
}
"mount_${initrdType}" "${initrdRoot}" "${initrdImage}"
initrdMounted=true
}
}
mount_cpio() {
cd "${1}"
cpio --quiet -i -I "${2}"
cd "${workingDirectory}"
}
unmount_cpio() {
cd "${1}"
[ -n "${2}" ] && {
find . -print |
sed -e '/^\.$/d' -e 's/^\.\///' |
cpio --quiet -o -H newc -O "${2}"
}
rm -f -r -- $(ls -1 -A)
cd "${workingDirectory}"
}
check_cpio() {
:
}
originalImage="boot.iso"
modifiedImage="brltty.iso"
brlttyPattern="brltty-*"
brailleDrivers="all"
textTable="en-nabcc"
invokeShell=false
showUsage() {
cat <<EOF
Usage: ${programName} [-option ...]
The following options are supported:
-i file The original (input) image (default: ${originalImage}).
-o file The modified (output) image (default: ${modifiedImage}).
-a file The BRLTTY archive (default: ${brlttyPattern}).
-b driver,... The braille driver(s) to include (default: ${brailleDrivers}).
-t file The text table to build in (default: ${textTable}).
-s Invoke an interactive shell to inspect the modified image.
-h Display usage information and exit.
EOF
exit 0
}
while getopts ":i:o:a:b:t:sh" option
do
case "${option}"
in
i) originalImage="${OPTARG}";;
o) modifiedImage="${OPTARG}";;
a) brlttyPattern="${OPTARG}";;
b) brailleDrivers="${OPTARG}";;
t) textTable="${OPTARG}";;
s) invokeShell=true;;
h) showUsage;;
\?) syntaxError "unknown option: -${OPTARG}";;
:) syntaxError "missing operand: -${OPTARG}";;
*) syntaxError "unimplemented option: -${option}";;
esac
done
shift $((OPTIND - 1))
[ "${#}" -gt 0 ] && syntaxError "too many parameters."
[ -f "${originalImage}" ] || programError "original image not found: ${originalImage}"
shopt -s nullglob extglob
set -- $brlttyPattern
[ "${#}" -eq 0 ] && programError "brltty archive not found: ${brlttyPattern}"
[ "${#}" -gt 1 ] && {
brlttyArchives="$(echo "${*}" | sed -e 's% %,&%g')"
programError "more than one brltty archive: ${brlttyArchives}"
}
brlttyArchive="${1}"
cleanup() {
set +e
cd /
"${newMounted}" && "unmount_${initrdType}" "${newRoot}"
"${initrdMounted}" && "unmount_${initrdType}" "${initrdRoot}"
"${originalMounted}" && umount "${originalRoot}"
[ -n "${temporaryDirectory}" ] && rm -r "${temporaryDirectory}"
}
set -e
originalMounted=false
initrdMounted=false
newMounted=false
trap "cleanup" 0
workingDirectory="${PWD}"
temporaryDirectory="$(mktemp -d "${TMPDIR:-/tmp}/${programName}.XXXXXX")"
originalRoot="${temporaryDirectory}/original"
mkdir "${originalRoot}"
mount -o loop -t iso9660 "${originalImage}" "${originalRoot}"
originalMounted=true
modifiedRoot="${temporaryDirectory}/modified"
mkdir "${modifiedRoot}"
cp -RpPd -- "${originalRoot}/." "${modifiedRoot}"
loaderDirectory=""
for directory in boot/isolinux isolinux
do
[ -d "${originalRoot}/${directory}" ] && {
loaderDirectory="${directory}"
break
}
done
configurationFile="isolinux.cfg"
sed -n -e '
1i\
prompt 1\
timeout 0\
default text\
/^ *prompt /d
/^ *timeout /d
/^ *default /d
/^ *menu *default *$/d
/^ *append.* text/s/$/ nofb/
/^ *append.* rescue/s/$/ text nofb/
p
' <"${originalRoot}/${loaderDirectory}/${configurationFile}" >"${modifiedRoot}/${loaderDirectory}/${configurationFile}"
# bootMessage="boot.msg"
# echo -n -e '\a' >"${modifiedRoot}/${loaderDirectory}/${bootMessage}"
# cat "${originalRoot}/${loaderDirectory}/${bootMessage}" >>"${modifiedRoot}/${loaderDirectory}/${bootMessage}"
initrdImage="${temporaryDirectory}/initrd.img"
initrdPath="${modifiedRoot}/${loaderDirectory}/initrd.img"
gunzip -c "${initrdPath}" >"${initrdImage}"
initrdDescription="`file -b "${initrdImage}"`"
case "${initrdDescription}"
in
*" ext2 "*) initrdType=ext2;;
*" cpio "*) initrdType=cpio;;
*) programError "unsupported initrd image format: ${initrdDescription}"
esac
initrdRoot="${temporaryDirectory}/initrd"
mkdir "${initrdRoot}"
"mount_${initrdType}" "${initrdRoot}" "${initrdImage}"
initrdMounted=true
found=false
for name in linuxrc init
do
linuxrcPath="${initrdRoot}/${name}"
initPath="$(readlink "${linuxrcPath}")" && {
found=true
break
}
done
"${found}" || programError "linuxrc not found."
rm "${linuxrcPath}"
ln -s /bin/brltty "${linuxrcPath}"
deviceDirectory="${initrdRoot}/dev"
ensureDevices() {
typeset type="${1}"
typeset major="${2}"
typeset minor="${3}"
typeset prefix="${4}"
typeset last="${5}"
typeset suffix="${6}"
typeset number=0
while ((number <= last))
do
typeset path="${deviceDirectory}/${prefix}${suffix}"
[ -e "${path}" ] || mknod -m 600 "${path}" "${type}" "${major}" "$((minor++))"
suffix=$((++number))
done
}
ensureDevices c 7 0 vcs 12
ensureDevices c 7 128 vcsa 12
ensureDevices c 5 1 console 0
ensureDevices c 4 0 tty 12 0
ensureDevices c 4 64 ttyS 3 0
ensureDevices c 188 0 ttyUSB 1 0
case "${brlttyArchive}"
in
*.tar.gz|*.tgz)
tar x -z -C "${temporaryDirectory}" -f "${brlttyArchive}"
;;
*.tar)
tar x -C "${temporaryDirectory}" -f "${brlttyArchive}"
;;
*)
programError "unsupported brltty archive name: ${brlttyArchive}"
;;
esac
shopt -s nullglob
set -- ${temporaryDirectory}/brltty*
[ "${#}" -eq 0 ] && programError "brltty build directory not found."
brlttyBuildRoot="${1}"
brlttyInstallRoot="${temporaryDirectory}/install"
(
set -e
trap "" 0
cd "${brlttyBuildRoot}"
shopt -s nullglob
set -- ./autogen*
for autogen
do
[ -f "${autogen}" -a -r "${autogen}" -a -x "${autogen}" ] && "${autogen}"
done
./configure --quiet --with-install-root="${brlttyInstallRoot}" \
--with-init-path="${initPath}" --with-stderr-path="/dev/tty5" \
--with-writable-directory="/tmp" \
--with-screen-driver="lx,-all" \
--with-braille-driver="-tt,-vr,${brailleDrivers}" \
--with-text-table="${textTable}" \
--disable-speech-support --without-libbraille --without-curses --disable-x \
--disable-pcm-support --disable-fm-support --disable-midi-support \
--enable-standalone-programs --disable-api --disable-gpm --disable-icu
make -s -C Programs all
strip Programs/brltty
make -s -C Programs install-programs install-data-files install-tables
) || exit "${?}"
"check_${initrdType}"
(
set -e
cd "${brlttyInstallRoot}"
cp --parents -- $(find . -type f -printf '%P ') "${initrdRoot}"
) || exit 1
"${invokeShell}" && (
set +e
trap "" 0
cd "${temporaryDirectory}"
"${SHELL:-/bin/sh}"
exit 0
)
initrdMounted=false
"unmount_${initrdType}" "${initrdRoot}" "${initrdImage}"
gzip -c -9 "${initrdImage}" >"${initrdPath}"
isoVolumeIdentifier="$(isoinfo -d -i "${originalImage}" | grep '^Volume id:' | cut -d' ' -f3-)"
isoApplicationIdentifier="$(isoinfo -d -i "${originalImage}" | grep '^Application id:' | cut -d' ' -f3-)"
mkisofs -quiet -J -R -T -boot-load-size 4 -boot-info-table -no-emul-boot \
-A "${isoApplicationIdentifier}" -V "${isoVolumeIdentifier}" \
-b "${loaderDirectory}/isolinux.bin" -c "${loaderDirectory}/boot.cat" \
-o "${modifiedImage}" "${modifiedRoot}"
exit 0

View File

@@ -0,0 +1,69 @@
#!/bin/sh
set -e
# Make local mount points
mkdir -p mnt1 mnt2
# Mount bootdisk image read-only
mount boot.img mnt1 -o loop,ro -t msdos
# Get the initial ramdisk it contains
cp mnt1/initrd.img .
# Finished with boot image for now.
umount mnt1
# Unzip and mount it
mv initrd.img initrd.gz
gunzip initrd.gz
# Prevent warning about having to check the filesystem
tune2fs -c 0 -i 0 initrd >/dev/null
mount initrd mnt2 -o loop
# Work in initial ramdisk
# Rename it's init
mv mnt2/sbin/init mnt2/sbin/init_real
# Put BRLTTY on it
cp brltty mnt2/sbin
# New init is a link to BRLTTY
ln -s brltty mnt2/sbin/init
# Help files and tables (if the person isn't familiar...)
if [ -d etcbrltty ]; then
mkdir -p mnt2/etc/brltty
install etcbrltty/* mnt2/etc/brltty
fi
# Make sure some needed device files are present
# ttyS0 ttyS1 tty0
for i in ttyS0 ttyS1 tty0; do
if [ ! -e mnt2/dev/$i ]; then
cp -a /dev/$i mnt2/dev/$i
chown root:root mnt2/dev/$i
fi
done
# vcsa or vcsa0
# NB this doesn't handle devfs...
if [ ! -e mnt2/dev/vcsa -a ! -e mnt2/dev/vcsa0 ]; then
for i in vcsa vcsa0; do
if [ -c /dev/$i ]; then
if [ -h /dev/$i ]; then
tgt="`readlink /dev/$i`"
# This assumes the link is relative...
if [ -c /dev/$tgt ]; then
cp -a /dev/$tgt mnt2/dev
else
echo "Failed to get link target of /dev/$i"
echo "Failed!!"
exit 1
fi
fi
cp -a /dev/$i mnt2/dev
fi
done
fi
if [ ! -e mnt2/dev/vcsa -a ! -e mnt2/dev/vcsa0 ]; then
echo "Failed to create mnt2/dev/vcsa"
echo "Failed!"
exit 1
fi
# Done with initial ramdisk. wrap it up.
umount mnt2
gzip -9 initrd
mv initrd.gz myroot.img

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
Adi Dascal <ad@baum.ro>
Alex Bernier <alex.bernier@free.fr>
Andreas Gross <andi@andi-bika.de>
Attila Hammer <hammera@pickup.hu>
August Hörandl <august.hoerandl@gmx.at>
Boris Daix <Boris.Daix@insa-lyon.fr>
Cheryl Homiak <chomiak@shellworld.net>
Christian Comaschi <christian_comaschi@libero.it>
Coscell Kao <coscell@molerat.net>
Daniel Dalton <d.dalton@iinet.net.au>
Dave Mielke <dave@mielke.cc>
David Sauer <sauer@brailcom.cz>
Hans Schou <chlor@schou.dk>
Helge Havnegjerde <helge.havnegjerde@c2i.net>
Hermann Bender <meinelisten@onlinehome.de>
James Teh <jamie@jantrid.net>
Jan Buchal <buchal@brailcom.org>
Jean-Philippe Mengual <jmengual@linuxfromscratch.org>
John J. Boyer <john.boyer@jjb-software.com>
Kazunori Minatani <99112004@gakushuin.ac.jp>
Lars Bjørndal <lars.bjorndal@broadpark.no>
Lee Maschmeyer <leemer1@comcast.net>
Luke Yelavich <themuso@ubuntu.com>
Mario Lang <mlang@delysid.org>
Mark Mielke <mark@mielke.cc>
Matthew Miller <mattdm@mattdm.org>
Michael Curran <mick@kulgan.net>
Michel Such <michel.such@free.fr>
Mike Pedersen <mpedersen@mindspring.com>
Nicolas Pitre <nico@fluxnic.net>
Olivier Bert <obert01@mistigri.org>`
Oscar Fernandez <ofa@once.es>
Pete De Vasto <pdevasto@incyte.com>
Peter Lundblad <plundblad@google.com>
Regiane Mendonça Villela <regianevillela@gmail.com>
Rich Burridge <Rich.Burridge@Sun.COM>
Rudolf Weeber <Rudolf.Weeber@gmx.de>
Samuel Thibault <samuel.thibault@ens-lyon.org>
Samuel Yang <mison@bbs.ee.ntu.edu.tw>
Sébastien Hinderer <sebastien.hinderer@ens-lyon.org>
Sérgio Neves <sergionevess@gmail.com>
Simon Kainz <simon@familiekainz.at>
Simon Meers <drmeers@gmail.com>
Stepan Kasal <kasal@ucw.cz>
Stephane Dalton <sdalton@videotron.ca>
Stéphane Doyon <s.doyon@videotron.ca>
Tapio Kelloniemi <tapio.kelloniemi@thack.org>
Thu Trang <phamtrang2002@softhome.net>
Timothy Spaulding <spaulding@icanbrew.com>
Timo Matsinen <matsinen@jyu.fi>
Tom spot Callaway <tcallawa@redhat.com>
Tomáš Janoušek <tomi@nomi.cz>
Tomoyuki Kudou <kudou@cypac.co.jp>
Willi Lutzenberger <willutz@gmx.net>
William Hubbs <w.d.hubbs@gmail.com>
Wolfgang Astleitner <wolfgang.astleitner@liwest.at>
Yair K. <caesium@hotpop.com>
Yannick Plassiard <yan@mistigri.org>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
The BRLTTY project started in July, 1995. The initial team consisted of Nikhil
Nair and James Bowden.
The first version ran with Blazie Engineering's Braille Lite. Since, at that
time, the Braille Lite wasn't designed to be a dedicated refreshable braille
display for a computer, its response time was far too slow. This situation has
now been corrected.
The second version, BRLTTY-0.22-BETA, was released in September of 1995. It was
the first to be released publicly. As well as the Braille Lite, it also
supported Tieman B.V.'s CombiBraille series.
James Bowden stopped being an active developer, although his continued help in
other areas (including documentation) was much appreciated. Two new members,
Nicolas Pitre and Stéphane Doyon, joined the team. They added support for Alva
and Telesensory Systems Inc. displays, as well as many excellent features for
the system as a whole.
A stable version (1.0) was released sometime around the end of 1996.
Support for Papenmeier displays was contributed by a team from The Technical
High School, Department of Electrical Engineering, Vienna, Austria. Support for
the TSI displays was completed, and support for the EuroBraille brand was
added. New features were also continually being added to the system.
Regretably, Nikhil Nair stopped working on the BRLTTY project. Nicolas Pitre
assumed the job of maintainer.
Version 2.0 was released during the summer of 1998, and version 2.1 was
released in March of 1999. It added support for EcoBraille (thanks to Oscar
Fernandez), Alva Delphi (thanks to Terry Barnaby), and Braille Lite 18 (from
Nikhil Nair), as well as Some small improvements and fixes.
Dave Mielke began to submit fixes and enhancements during 2000,
and joined the team as the next maintainer in June of 2001.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More