From 8975760ad482400445d5f50a215251c8e8823c9b Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Sat, 29 Nov 2014 22:33:13 +0000 Subject: [PATCH] Towards building jlibusb with gradle * rename package ch.ntb.inf.libusbJava to ch.ntb.usb/Device.java * separate main, app, test and demo source files * reorganise static library files * add prebuilt libraries for testing purposes * move auxiliary files to appropriate directories * remove obsolete files --- LibusbJava/.cdtproject | 58 - LibusbJava/.cproject | 399 -- LibusbJava/.project | 70 - LibusbJava/build.xml | 207 - LibusbJava/build_rc.cmd | 32 - LibusbJava/project.properties | 54 - LibusbJava/version.properties | 4 - java/README.txt => README.txt | 54 +- build.gradle | 156 +- {java/doc => doc}/Overview.odg | Bin {java/doc => doc}/Overview.png | Bin java/.classpath | 17 - java/.project | 36 - java/UsbView.launch | 11 - java/build.properties | 1 - java/build.xml | 66 - java/deployment.properties | 8 - java/deployment.xml | 60 - java/project.properties | 10 - java/version.properties | 4 - lib/libusb-1.0.def | 126 - lib/windows_amd64/LibusbJava.dll | Bin 0 -> 23552 bytes .../static => windows_amd64}/libusb-1.0.a | Bin .../dll => windows_amd64}/libusb-1.0.dll | Bin .../dll => windows_amd64}/libusb-1.0.dll.a | Bin lib/windows_i386/LibusbJava.dll | Bin 0 -> 44323 bytes .../static => windows_i386}/libusb-1.0.a | Bin .../dll => windows_i386}/libusb-1.0.dll | Bin .../dll => windows_i386}/libusb-1.0.dll.a | Bin .../ntb/usb}/testApp/AbstractDeviceInfo.java | 2 +- .../java/ch/ntb/usb}/testApp/TestApp.java | 2 +- .../java/ch/ntb/usb}/testApp/TestDevice.java | 10 +- .../java/ch/ntb/usb}/testApp/package.html | 0 .../ch/ntb/usb}/usbView/UsbTreeModel.java | 20 +- .../java/ch/ntb/usb}/usbView/UsbView.java | 22 +- .../java/ch/ntb/usb}/usbView/package.html | 0 .../java/ch/ntb/usb}/demo/LogBus.java | 8 +- .../java/ch/ntb/usb}/demo/ReadWrite.java | 8 +- .../test/CuTest.c => src/main/cpp/CuTest.cpp | 0 src/main/cpp/LibusbJava.cpp | 294 +- .../test => src/main/cpp}/LibusbJavaTest.cpp | 0 src/main/cpp/Usb_Device.cpp | 16 +- .../test => src/main/headers}/CuTest.h | 0 src/main/headers/LibusbJava.h | 509 --- .../ntb/{inf/libusbJava => usb}/Device.java | 4 +- .../{inf/libusbJava => usb}/LibusbJava.java | 8 +- .../{inf/libusbJava => usb}/LibusbJava1.java | 13 +- .../{inf/libusbJava => usb}/Libusb_event.java | 2 +- .../libusbJava => usb}/Libusb_pollfd.java | 2 +- .../ch/ntb/{inf/libusbJava => usb}/USB.java | 4 +- .../{inf/libusbJava => usb}/USBException.java | 2 +- .../USBTimeoutException.java | 2 +- .../ntb/{inf/libusbJava => usb}/Usb_Bus.java | 2 +- .../Usb_Config_Descriptor.java | 2 +- .../libusbJava => usb}/Usb_Descriptor.java | 2 +- .../{inf/libusbJava => usb}/Usb_Device.java | 2 +- .../Usb_Device_Descriptor.java | 2 +- .../Usb_Endpoint_Descriptor.java | 2 +- .../libusbJava => usb}/Usb_Interface.java | 2 +- .../Usb_Interface_Descriptor.java | 2 +- .../ch/ntb/{inf/libusbJava => usb}/Utils.java | 2 +- .../exceptions/LibusbError.java | 2 +- .../libusbJava => usb}/logger/LogUtil.java | 2 +- .../libusbJava => usb}/logger/package.html | 0 .../ntb/{inf/libusbJava => usb}/package.html | 0 src/main/resources/.configure | 6 + .../libusbJava => usb}/test/DeviceTest.java | 22 +- .../test/LibusbJava1Test.java | 8 +- .../test/MemoryLeakTest.java | 18 +- .../test/TestLibUsbJava.java | 16 +- .../test/devices/AT90USB1287.java | 6 +- .../test/devices/CY7C68013A.java | 6 +- .../test/devices/MX500.java | 4 +- .../test/devices/MousePlus.java | 4 +- .../test/exceptions/LibusbErrorTest.java | 4 +- .../test/resources}/testdevice.properties | 26 +- {java/uml => uml}/StarUML.url | 6 +- {java/uml => uml}/ch.ntb.usb.jpg | Bin {java/uml => uml}/ch.ntb.usb.uml | 4046 ++++++++--------- 79 files changed, 2484 insertions(+), 4011 deletions(-) delete mode 100644 LibusbJava/.cdtproject delete mode 100644 LibusbJava/.cproject delete mode 100644 LibusbJava/.project delete mode 100644 LibusbJava/build.xml delete mode 100644 LibusbJava/build_rc.cmd delete mode 100644 LibusbJava/project.properties delete mode 100644 LibusbJava/version.properties rename java/README.txt => README.txt (97%) rename {java/doc => doc}/Overview.odg (100%) rename {java/doc => doc}/Overview.png (100%) delete mode 100644 java/.classpath delete mode 100644 java/.project delete mode 100644 java/UsbView.launch delete mode 100644 java/build.properties delete mode 100644 java/build.xml delete mode 100644 java/deployment.properties delete mode 100644 java/deployment.xml delete mode 100644 java/project.properties delete mode 100644 java/version.properties delete mode 100644 lib/libusb-1.0.def create mode 100644 lib/windows_amd64/LibusbJava.dll rename lib/{MinGW64/static => windows_amd64}/libusb-1.0.a (100%) rename lib/{MinGW64/dll => windows_amd64}/libusb-1.0.dll (100%) rename lib/{MinGW64/dll => windows_amd64}/libusb-1.0.dll.a (100%) create mode 100644 lib/windows_i386/LibusbJava.dll rename lib/{MinGW32/static => windows_i386}/libusb-1.0.a (100%) rename lib/{MinGW32/dll => windows_i386}/libusb-1.0.dll (100%) rename lib/{MinGW32/dll => windows_i386}/libusb-1.0.dll.a (100%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/testApp/AbstractDeviceInfo.java (98%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/testApp/TestApp.java (99%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/testApp/TestDevice.java (95%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/testApp/package.html (100%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/usbView/UsbTreeModel.java (97%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/usbView/UsbView.java (95%) rename src/{main/java/ch/ntb/inf/libusbJava => app/java/ch/ntb/usb}/usbView/package.html (100%) rename src/{main/java/ch/ntb/inf/libusbJava => demo/java/ch/ntb/usb}/demo/LogBus.java (86%) rename src/{main/java/ch/ntb/inf/libusbJava => demo/java/ch/ntb/usb}/demo/ReadWrite.java (91%) rename LibusbJava/test/CuTest.c => src/main/cpp/CuTest.cpp (100%) rename {LibusbJava/test => src/main/cpp}/LibusbJavaTest.cpp (100%) rename {LibusbJava/test => src/main/headers}/CuTest.h (100%) delete mode 100644 src/main/headers/LibusbJava.h rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Device.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/LibusbJava.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/LibusbJava1.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Libusb_event.java (88%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Libusb_pollfd.java (64%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/USB.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/USBException.java (93%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/USBTimeoutException.java (93%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Bus.java (98%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Config_Descriptor.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Descriptor.java (97%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Device.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Device_Descriptor.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Endpoint_Descriptor.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Interface.java (97%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Usb_Interface_Descriptor.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/Utils.java (98%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/exceptions/LibusbError.java (98%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/logger/LogUtil.java (99%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/logger/package.html (100%) rename src/main/java/ch/ntb/{inf/libusbJava => usb}/package.html (100%) create mode 100644 src/main/resources/.configure rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/DeviceTest.java (97%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/LibusbJava1Test.java (97%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/MemoryLeakTest.java (92%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/TestLibUsbJava.java (94%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/devices/AT90USB1287.java (84%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/devices/CY7C68013A.java (82%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/devices/MX500.java (87%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/devices/MousePlus.java (88%) rename src/test/java/ch/ntb/{inf/libusbJava => usb}/test/exceptions/LibusbErrorTest.java (95%) rename {java => src/test/resources}/testdevice.properties (97%) rename {java/uml => uml}/StarUML.url (96%) rename {java/uml => uml}/ch.ntb.usb.jpg (100%) rename {java/uml => uml}/ch.ntb.usb.uml (98%) diff --git a/LibusbJava/.cdtproject b/LibusbJava/.cdtproject deleted file mode 100644 index b95c82a..0000000 --- a/LibusbJava/.cdtproject +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LibusbJava/.cproject b/LibusbJava/.cproject deleted file mode 100644 index 4c46a1f..0000000 --- a/LibusbJava/.cproject +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LibusbJava/.project b/LibusbJava/.project deleted file mode 100644 index 3b07456..0000000 --- a/LibusbJava/.project +++ /dev/null @@ -1,70 +0,0 @@ - - - LibusbJava-1.0 - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.buildLocation - ${workspace_loc:/LibusbJava-1.0/Debug} - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - false - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - diff --git a/LibusbJava/build.xml b/LibusbJava/build.xml deleted file mode 100644 index 499ff5d..0000000 --- a/LibusbJava/build.xml +++ /dev/null @@ -1,207 +0,0 @@ - - - - - Build file for libusbJava Shared Library - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LibusbJava/build_rc.cmd b/LibusbJava/build_rc.cmd deleted file mode 100644 index 7e48db2..0000000 --- a/LibusbJava/build_rc.cmd +++ /dev/null @@ -1,32 +0,0 @@ -@echo off -echo #include ^ > %1 -echo. >> %1 -echo VS_VERSION_INFO VERSIONINFO >> %1 -echo FILEVERSION %2, %3, %4, %5 >> %1 -echo PRODUCTVERSION %2, %3, %4, %5 >> %1 -echo FILEFLAGSMASK 0x3FL >> %1 -echo FILEFLAGS 0x0L >> %1 -echo FILEOS VOS_NT_WINDOWS32 >> %1 -echo FILETYPE VFT_DLL >> %1 -echo FILESUBTYPE VFT2_UNKNOWN >> %1 -echo BEGIN >> %1 -echo BLOCK "StringFileInfo" >> %1 -echo BEGIN >> %1 -echo BLOCK "040904b0" >> %1 -echo BEGIN >> %1 -echo VALUE "CompanyName", "http://libusbjava.sourceforge.net" >> %1 -echo VALUE "FileDescription", "JNI Library for LibusbJava stub" >> %1 -echo VALUE "FileVersion", "%2.%3.%4.%5\0" >> %1 -echo VALUE "InternalName", "LibusbJava-1_0.dll" >> %1 -echo VALUE "LegalCopyright", "2012 NTB Interstate University of Applied Sciences of Technology Buchs/Chur/St.Gallen" >> %1 -echo VALUE "OriginalFilename","LibusbJava-1_0.dll" >> %1 -echo VALUE "ProductName", "LibusbJava" >> %1 -echo VALUE "ProductVersion", "%2.%3.%4.%5\0" >> %1 -echo END >> %1 -echo END >> %1 -echo. >> %1 -echo BLOCK "VarFileInfo" >> %1 -echo BEGIN >> %1 -echo VALUE "Translation", 0x409, 1200 >> %1 -echo END >> %1 -echo END >> %1 diff --git a/LibusbJava/project.properties b/LibusbJava/project.properties deleted file mode 100644 index d84b4ae..0000000 --- a/LibusbJava/project.properties +++ /dev/null @@ -1,54 +0,0 @@ -############################ -# common build properties # -############################ -# folders -build.dir.src=src -build.dir.bin=bin - -# filenames -build.lib.libusb=libusb.a -build.lib.libusbpp=libusbpp.a -build.linux.lib.libusb=libusb.so -build.linux.lib.libusbpp=libusbpp.so -build.mac.lib.libusb=libusb.dylib -build.mac.lib.libusbpp=libusbpp.dylib -build.shlib.srcname=LibusbJava.cpp -build.shlib.win.shlibname=LibusbJava.dll -build.shlib.linux.shlibname=libusbJava.so -build.shlib.mac.shlibname=libusbJava.jnilib - -build.test.srcname=LibusbTest -build.test.execname=LibusbTest - -##################################### -# Windows specific build properties # -##################################### -build.win.compiler=g++ -build.win.windres=windres -build.win.resource.rc=resource.rc -build.win.resource.obj=resource.o - -#################################### -# Linux specific build properties # -#################################### -build.linux.compiler=g++ -build.linux.includes=/usr/lib -build.linux.includes2=${build.linux.includes} -build.linux.includes3=${build.linux.includes} - -## set the following properties if you require additional include paths -# -## e.g. on ubuntu linux (with gcj) -# build.linux.includes2=/usr/lib/jvm/java-1.4.2.gcj-4.1-1.4.2.0/include -# -## e.g. on ubuntu linux (with jdk 6) use -# build.linux.includes2=/usr/lib/jvm/java-6-sun-1.6.0.00/include -# build.linux.includes3=${build.linux.includes2}/linux - -#################################### -# Mac specific build properties # -#################################### -build.mac.compiler=gcc -build.mac.jni=/System/Library/Frameworks/JavaVM.framework/Headers/ -build.mac.includes=/usr/local/lib -build.mac.stdclib=stdc++ diff --git a/LibusbJava/version.properties b/LibusbJava/version.properties deleted file mode 100644 index 8d9f590..0000000 --- a/LibusbJava/version.properties +++ /dev/null @@ -1,4 +0,0 @@ -version.major=1 -version.minor=0 -version.micro=1 -version.nano=0 \ No newline at end of file diff --git a/java/README.txt b/README.txt similarity index 97% rename from java/README.txt rename to README.txt index c5dc21f..da3c678 100644 --- a/java/README.txt +++ b/README.txt @@ -1,27 +1,27 @@ -Project description -------------------- -Java libusb wrapper is a Java wrapper for the libsub and libusb-win32 USB library. -* libusb aim is to create a library for use by user level applications to access USB devices regardless of OS. -* libusb-win32 is a port of the libusb library to the Windows operating systems. The library allows user space applications to access any USB device on Windows in a generic way without writing any line of kernel driver code. - -For more information about libusb visit: - http://libusb.sourceforge.net/ - -For more information about LibUsb-Win32 visit: - http://libusb-win32.sourceforge.net - http://sourceforge.net/projects/libusb-win32 - -For more information about Java LibUsb-Win32 wrapper visit: - http://libusbjava.sourceforge.net - http://sourceforge.net/projects/libusbjava - -License -------- -The Java libusb wrapper library is released under the LGPL. See LGPL.txt -for more information. -For licensing information about libusb see http://sourceforge.net/projects/libusb/. -For licensing information about LibUsb-Win32 see http://libusb-win32.sourceforge.net/#license. - -Authors -------- -Andreas Schläpfer +Project description +------------------- +Java libusb wrapper is a Java wrapper for the libsub and libusb-win32 USB library. +* libusb aim is to create a library for use by user level applications to access USB devices regardless of OS. +* libusb-win32 is a port of the libusb library to the Windows operating systems. The library allows user space applications to access any USB device on Windows in a generic way without writing any line of kernel driver code. + +For more information about libusb visit: + http://libusb.sourceforge.net/ + +For more information about LibUsb-Win32 visit: + http://libusb-win32.sourceforge.net + http://sourceforge.net/projects/libusb-win32 + +For more information about Java LibUsb-Win32 wrapper visit: + http://libusbjava.sourceforge.net + http://sourceforge.net/projects/libusbjava + +License +------- +The Java libusb wrapper library is released under the LGPL. See LGPL.txt +for more information. +For licensing information about libusb see http://sourceforge.net/projects/libusb/. +For licensing information about LibUsb-Win32 see http://libusb-win32.sourceforge.net/#license. + +Authors +------- +Andreas Schläpfer diff --git a/build.gradle b/build.gradle index 136db4b..1ad20ba 100644 --- a/build.gradle +++ b/build.gradle @@ -3,20 +3,162 @@ apply plugin: 'cpp' apply plugin: 'maven' apply plugin: 'eclipse' -group = 'com.github.boukefalos' -archivesBaseName = 'jlibusb' -version = '0.5.7' - repositories { + maven { + url 'https://github.com/Boukefalos/jlibloader/raw/mvn-repo/' + } mavenCentral() } dependencies { + compile 'com.github.boukefalos:jlibloader:0.2' testCompile 'junit:junit:4.11' } -uploadArchives { - repositories.mavenDeployer { - repository(url: uri('.maven')) +group = 'com.github.boukefalos' +project.archivesBaseName = 'jlibusb' +version = '0.5.7' +def jniVersion = '0.2.3.0' + +task wrapper(type: Wrapper) { + gradleVersion = '1.12' +} + +model { + platforms { + windows_i386 { + architecture 'i386' + operatingSystem 'windows' + } + windows_amd64 { + architecture 'amd64' + operatingSystem 'windows' + } + } + toolChains { + gcc(Gcc) { + addPlatformConfiguration(new TargetPlatformConfiguration() { + boolean supportsPlatform(Platform platform) { + platform.operatingSystem.current && platform.operatingSystem.name == 'windows' && + platform.architecture.name == 'amd64' + } + List getCppCompilerArgs() { ['-m64', '-fpermissive'] } + List getCCompilerArgs() { ['-m64'] } + List getObjectiveCCompilerArgs() { ['-m64'] } + List getObjectiveCppCompilerArgs() { ['-m64'] } + List getAssemblerArgs() { ['--64'] } + List getLinkerArgs() { ['-m64'] } + List getStaticLibraryArchiverArgs() { [] } + }) + } + } + repositories { + libs(PrebuiltLibraries) { + usb { lib -> + binaries.withType(StaticLibraryBinary) { + staticLibraryFile = file("lib/${targetPlatform.name}/libusb-1.0.dll.a") + } + } + } + } +} + +def jniHeadersDir = file("$buildDir/headers") + +task jniHeaders(dependsOn: compileJava) { + def outputFile = file("$jniHeadersDir/LibusbJava.h") + inputs.files sourceSets.main.output + outputs.file outputFile + exec { + executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah') + args '-o', outputFile + args '-classpath', sourceSets.main.output.classesDir + args '-classpath', file("$buildDir/../bin") + args 'ch.ntb.usb.LibusbJava1' } +} + +libraries { + main { + baseName project.archivesBaseName + } + all { + binaries.all { + cppCompiler.args '-I' + jniHeadersDir + cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include" + cppCompiler.args "-I${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32" + linker.args '-Wl,--kill-at', '-static-libgcc', '-static-libstdc++' + tasks.withType(CppCompile) { task -> + //task.dependsOn jniHeaders + } + + lib library: 'usb', linkage: 'static' + } + } +} + +tasks.withType(Upload) { + repositories { + mavenDeployer { + repository(url: uri('.maven')) + } + } +} + +configurations { + jni +} + +def deployer = uploadJni.repositories.mavenDeployer + +binaries.withType(SharedLibraryBinary) { binary -> + if (!buildable) { + return + } + def variantName = "${targetPlatform.operatingSystem.name}-${targetPlatform.architecture.name}" + def taskName = "jar-${variantName}" + def nativeJar = project.tasks.findByName(taskName) + if (nativeJar == null) { + nativeJar = project.task(taskName, type: Jar) { + baseName = "${project.archivesBaseName}-$variantName" + } + artifacts { + jni nativeJar + } + def jniPom = deployer.addFilter(variantName) { artifact, file -> + return file == nativeJar.archivePath + } + jniPom.groupId = project.group + jniPom.artifactId = nativeJar.baseName + jniPom.version = jniVersion + jniPom.scopeMappings.mappings.clear() + } + def builderTask = binary.tasks.builder + def libraryDirectory = project.group.replace('.', '/') + "/${project.archivesBaseName}/${variantName}" + nativeJar.into(libraryDirectory) { from builderTask.outputFile } + nativeJar.dependsOn builderTask +} + +def mainPom = uploadArchives.repositories.mavenDeployer.pom +mainPom.groupId = project.group +mainPom.artifactId = jar.baseName +mainPom.version = project.version +mainPom.scopeMappings.mappings.clear() +mainPom.withXml { provider -> + def node = provider.asNode() + def deps = node.appendNode('dependencies') + ['windows-amd64', 'windows-i386'].each { platform -> + def dep = deps.appendNode('dependency') + dep.appendNode('groupId', project.group) + dep.appendNode('artifactId', "${project.archivesBaseName}-${platform}") + dep.appendNode('version', jniVersion) + } + def dep = deps.appendNode('dependency') + dep.appendNode('groupId', 'com.github.boukefalos') + dep.appendNode('artifactId', 'jlibloader') + dep.appendNode('version', '0.2') +} + +jar { + from sourceSets.main.allSource } \ No newline at end of file diff --git a/java/doc/Overview.odg b/doc/Overview.odg similarity index 100% rename from java/doc/Overview.odg rename to doc/Overview.odg diff --git a/java/doc/Overview.png b/doc/Overview.png similarity index 100% rename from java/doc/Overview.png rename to doc/Overview.png diff --git a/java/.classpath b/java/.classpath deleted file mode 100644 index 70b82ed..0000000 --- a/java/.classpath +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/java/.project b/java/.project deleted file mode 100644 index d404604..0000000 --- a/java/.project +++ /dev/null @@ -1,36 +0,0 @@ - - - ch.ntb.inf.libusbJava - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - net.sf.eclipsensis.installoptions.InstallOptionsBuilder - - - - - - org.eclipse.jem.workbench.JavaEMFNature - org.eclipse.jdt.core.javanature - org.eclipse.jem.beaninfo.BeanInfoNature - org.eclipse.pde.PluginNature - net.sf.eclipsensis.installoptions.InstallOptionsNature - - diff --git a/java/UsbView.launch b/java/UsbView.launch deleted file mode 100644 index 0997abe..0000000 --- a/java/UsbView.launch +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/java/build.properties b/java/build.properties deleted file mode 100644 index 4790385..0000000 --- a/java/build.properties +++ /dev/null @@ -1 +0,0 @@ -# MTJ Build Properties diff --git a/java/build.xml b/java/build.xml deleted file mode 100644 index 00f17ad..0000000 --- a/java/build.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - Ant tasks for ch.ntb.inf.libusbJava - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Building Version ${version.major}.${version.minor}.${version.release} - - - - - - - - - - -
- - - -
-
-
- - -
- - - - - - -
diff --git a/java/deployment.properties b/java/deployment.properties deleted file mode 100644 index 148931a..0000000 --- a/java/deployment.properties +++ /dev/null @@ -1,8 +0,0 @@ -java2html.dir.lib=D:/MyDocuments/Download/Programming/java2html -java2html.dir.src=test/ch/ntb/usb/demo/ - -project.server.name=shell.sourceforge.net -project.server.dir=/home/groups/l/li/libusbjava/htdocs/wp/res -project.server.dir.doc=${project.server.dir}/doc -project.server.dir.bin=${project.server.dir}/bin -project.server.dir.demos=${project.server.dir}/demos diff --git a/java/deployment.xml b/java/deployment.xml deleted file mode 100644 index 2215112..0000000 --- a/java/deployment.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Ant deployment tasks for ch.ntb.inf.libusbJava - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/project.properties b/java/project.properties deleted file mode 100644 index 6c301cf..0000000 --- a/java/project.properties +++ /dev/null @@ -1,10 +0,0 @@ -#Tue Mar 30 10:58:35 CEST 2010 -project.name=ch.ntb.inf.libusbJava -project.vendor=inf.ntb.ch -project.dir.src=src -project.dir.bin=bin -project.dir.lib=lib -project.dir.doc=doc -project.dir.demos=demos -project.jarfile=${project.name} -project.manifest.mainclass=ch.ntb.inf.libusbJava.usbView.UsbView diff --git a/java/version.properties b/java/version.properties deleted file mode 100644 index 9326970..0000000 --- a/java/version.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Tue Mar 30 10:58:35 CEST 2010 -version.major=1 -version.minor=0 -version.release=0 diff --git a/lib/libusb-1.0.def b/lib/libusb-1.0.def deleted file mode 100644 index 3aba343..0000000 --- a/lib/libusb-1.0.def +++ /dev/null @@ -1,126 +0,0 @@ -LIBRARY "libusb-1.0.dll" -EXPORTS - libusb_alloc_transfer - libusb_alloc_transfer@4 = libusb_alloc_transfer - libusb_attach_kernel_driver - libusb_attach_kernel_driver@8 = libusb_attach_kernel_driver - libusb_bulk_transfer - libusb_bulk_transfer@24 = libusb_bulk_transfer - libusb_cancel_transfer - libusb_cancel_transfer@4 = libusb_cancel_transfer - libusb_claim_interface - libusb_claim_interface@8 = libusb_claim_interface - libusb_clear_halt - libusb_clear_halt@8 = libusb_clear_halt - libusb_close - libusb_close@4 = libusb_close - libusb_control_transfer - libusb_control_transfer@32 = libusb_control_transfer - libusb_detach_kernel_driver - libusb_detach_kernel_driver@8 = libusb_detach_kernel_driver - libusb_error_name - libusb_error_name@4 = libusb_error_name - libusb_event_handler_active - libusb_event_handler_active@4 = libusb_event_handler_active - libusb_event_handling_ok - libusb_event_handling_ok@4 = libusb_event_handling_ok - libusb_exit - libusb_exit@4 = libusb_exit - libusb_free_config_descriptor - libusb_free_config_descriptor@4 = libusb_free_config_descriptor - libusb_free_device_list - libusb_free_device_list@8 = libusb_free_device_list - libusb_free_transfer - libusb_free_transfer@4 = libusb_free_transfer - libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@8 = libusb_get_active_config_descriptor - libusb_get_bus_number - libusb_get_bus_number@4 = libusb_get_bus_number - libusb_get_config_descriptor - libusb_get_config_descriptor@12 = libusb_get_config_descriptor - libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@12 = libusb_get_config_descriptor_by_value - libusb_get_configuration - libusb_get_configuration@8 = libusb_get_configuration - libusb_get_device - libusb_get_device@4 = libusb_get_device - libusb_get_device_address - libusb_get_device_address@4 = libusb_get_device_address - libusb_get_device_descriptor - libusb_get_device_descriptor@8 = libusb_get_device_descriptor - libusb_get_device_list - libusb_get_device_list@8 = libusb_get_device_list - libusb_get_device_speed - libusb_get_device_speed@4 = libusb_get_device_speed - libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@8 = libusb_get_max_iso_packet_size - libusb_get_max_packet_size - libusb_get_max_packet_size@8 = libusb_get_max_packet_size - libusb_get_next_timeout - libusb_get_next_timeout@8 = libusb_get_next_timeout - libusb_get_parent - libusb_get_parent@4 = libusb_get_parent - libusb_get_pollfds - libusb_get_pollfds@4 = libusb_get_pollfds - libusb_get_port_number - libusb_get_port_number@4 = libusb_get_port_number - libusb_get_port_path - libusb_get_port_path@16 = libusb_get_port_path - libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@16 = libusb_get_string_descriptor_ascii - libusb_get_version - libusb_get_version@0 = libusb_get_version - libusb_handle_events - libusb_handle_events@4 = libusb_handle_events - libusb_handle_events_completed - libusb_handle_events_completed@8 = libusb_handle_events_completed - libusb_handle_events_locked - libusb_handle_events_locked@8 = libusb_handle_events_locked - libusb_handle_events_timeout - libusb_handle_events_timeout@8 = libusb_handle_events_timeout - libusb_handle_events_timeout_completed - libusb_handle_events_timeout_completed@12 = libusb_handle_events_timeout_completed - libusb_has_capability - libusb_has_capability@4 = libusb_has_capability - libusb_init - libusb_init@4 = libusb_init - libusb_interrupt_transfer - libusb_interrupt_transfer@24 = libusb_interrupt_transfer - libusb_kernel_driver_active - libusb_kernel_driver_active@8 = libusb_kernel_driver_active - libusb_lock_event_waiters - libusb_lock_event_waiters@4 = libusb_lock_event_waiters - libusb_lock_events - libusb_lock_events@4 = libusb_lock_events - libusb_open - libusb_open@8 = libusb_open - libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@12 = libusb_open_device_with_vid_pid - libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@4 = libusb_pollfds_handle_timeouts - libusb_ref_device - libusb_ref_device@4 = libusb_ref_device - libusb_release_interface - libusb_release_interface@8 = libusb_release_interface - libusb_reset_device - libusb_reset_device@4 = libusb_reset_device - libusb_set_configuration - libusb_set_configuration@8 = libusb_set_configuration - libusb_set_debug - libusb_set_debug@8 = libusb_set_debug - libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@12 = libusb_set_interface_alt_setting - libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@16 = libusb_set_pollfd_notifiers - libusb_submit_transfer - libusb_submit_transfer@4 = libusb_submit_transfer - libusb_try_lock_events - libusb_try_lock_events@4 = libusb_try_lock_events - libusb_unlock_event_waiters - libusb_unlock_event_waiters@4 = libusb_unlock_event_waiters - libusb_unlock_events - libusb_unlock_events@4 = libusb_unlock_events - libusb_unref_device - libusb_unref_device@4 = libusb_unref_device - libusb_wait_for_event - libusb_wait_for_event@8 = libusb_wait_for_event diff --git a/lib/windows_amd64/LibusbJava.dll b/lib/windows_amd64/LibusbJava.dll new file mode 100644 index 0000000000000000000000000000000000000000..39102479d6605f835e3d44f1f0e0ddcedf667971 GIT binary patch literal 23552 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 literal 0 HcmV?d00001 diff --git a/lib/MinGW32/static/libusb-1.0.a b/lib/windows_i386/libusb-1.0.a similarity index 100% rename from lib/MinGW32/static/libusb-1.0.a rename to lib/windows_i386/libusb-1.0.a diff --git a/lib/MinGW32/dll/libusb-1.0.dll b/lib/windows_i386/libusb-1.0.dll similarity index 100% rename from lib/MinGW32/dll/libusb-1.0.dll rename to lib/windows_i386/libusb-1.0.dll diff --git a/lib/MinGW32/dll/libusb-1.0.dll.a b/lib/windows_i386/libusb-1.0.dll.a similarity index 100% rename from lib/MinGW32/dll/libusb-1.0.dll.a rename to lib/windows_i386/libusb-1.0.dll.a diff --git a/src/main/java/ch/ntb/inf/libusbJava/testApp/AbstractDeviceInfo.java b/src/app/java/ch/ntb/usb/testApp/AbstractDeviceInfo.java similarity index 98% rename from src/main/java/ch/ntb/inf/libusbJava/testApp/AbstractDeviceInfo.java rename to src/app/java/ch/ntb/usb/testApp/AbstractDeviceInfo.java index ecb4c9f..3fe8bbf 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/testApp/AbstractDeviceInfo.java +++ b/src/app/java/ch/ntb/usb/testApp/AbstractDeviceInfo.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.testApp; +package ch.ntb.usb.testApp; public abstract class AbstractDeviceInfo { diff --git a/src/main/java/ch/ntb/inf/libusbJava/testApp/TestApp.java b/src/app/java/ch/ntb/usb/testApp/TestApp.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/testApp/TestApp.java rename to src/app/java/ch/ntb/usb/testApp/TestApp.java index c861dbd..1f25eaa 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/testApp/TestApp.java +++ b/src/app/java/ch/ntb/usb/testApp/TestApp.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.testApp; +package ch.ntb.usb.testApp; import java.awt.BorderLayout; import java.awt.Color; diff --git a/src/main/java/ch/ntb/inf/libusbJava/testApp/TestDevice.java b/src/app/java/ch/ntb/usb/testApp/TestDevice.java similarity index 95% rename from src/main/java/ch/ntb/inf/libusbJava/testApp/TestDevice.java rename to src/app/java/ch/ntb/usb/testApp/TestDevice.java index d3d92a4..62dd19a 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/testApp/TestDevice.java +++ b/src/app/java/ch/ntb/usb/testApp/TestDevice.java @@ -5,16 +5,16 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.testApp; +package ch.ntb.usb.testApp; import java.util.Vector; import java.util.logging.Level; import java.util.logging.Logger; -import ch.ntb.inf.libusbJava.Device; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.USBException; -import ch.ntb.inf.libusbJava.logger.LogUtil; +import ch.ntb.usb.Device; +import ch.ntb.usb.USB; +import ch.ntb.usb.USBException; +import ch.ntb.usb.logger.LogUtil; public class TestDevice extends AbstractDeviceInfo { diff --git a/src/main/java/ch/ntb/inf/libusbJava/testApp/package.html b/src/app/java/ch/ntb/usb/testApp/package.html similarity index 100% rename from src/main/java/ch/ntb/inf/libusbJava/testApp/package.html rename to src/app/java/ch/ntb/usb/testApp/package.html diff --git a/src/main/java/ch/ntb/inf/libusbJava/usbView/UsbTreeModel.java b/src/app/java/ch/ntb/usb/usbView/UsbTreeModel.java similarity index 97% rename from src/main/java/ch/ntb/inf/libusbJava/usbView/UsbTreeModel.java rename to src/app/java/ch/ntb/usb/usbView/UsbTreeModel.java index cb0abde..4741121 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/usbView/UsbTreeModel.java +++ b/src/app/java/ch/ntb/usb/usbView/UsbTreeModel.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.usbView; +package ch.ntb.usb.usbView; import java.util.Vector; @@ -18,15 +18,15 @@ import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; -import ch.ntb.inf.libusbJava.LibusbJava1; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Usb_Config_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Device; -import ch.ntb.inf.libusbJava.Usb_Device_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Endpoint_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Interface; -import ch.ntb.inf.libusbJava.Usb_Interface_Descriptor; -import ch.ntb.inf.libusbJava.exceptions.LibusbError; +import ch.ntb.usb.LibusbJava1; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Usb_Config_Descriptor; +import ch.ntb.usb.Usb_Device; +import ch.ntb.usb.Usb_Device_Descriptor; +import ch.ntb.usb.Usb_Endpoint_Descriptor; +import ch.ntb.usb.Usb_Interface; +import ch.ntb.usb.Usb_Interface_Descriptor; +import ch.ntb.usb.exceptions.LibusbError; public class UsbTreeModel implements TreeModel, TreeSelectionListener { diff --git a/src/main/java/ch/ntb/inf/libusbJava/usbView/UsbView.java b/src/app/java/ch/ntb/usb/usbView/UsbView.java similarity index 95% rename from src/main/java/ch/ntb/inf/libusbJava/usbView/UsbView.java rename to src/app/java/ch/ntb/usb/usbView/UsbView.java index 8315417..e8847bf 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/usbView/UsbView.java +++ b/src/app/java/ch/ntb/usb/usbView/UsbView.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.usbView; +package ch.ntb.usb.usbView; import java.awt.BorderLayout; import java.awt.Component; @@ -28,16 +28,16 @@ import javax.swing.JTree; import javax.swing.KeyStroke; import javax.swing.tree.TreePath; -import ch.ntb.inf.libusbJava.LibusbJava; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Usb_Config_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Device; -import ch.ntb.inf.libusbJava.Usb_Device_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Endpoint_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Interface_Descriptor; -import ch.ntb.inf.libusbJava.testApp.TestApp; -import ch.ntb.inf.libusbJava.testApp.TestDevice; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo.TransferMode; +import ch.ntb.usb.LibusbJava; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Usb_Config_Descriptor; +import ch.ntb.usb.Usb_Device; +import ch.ntb.usb.Usb_Device_Descriptor; +import ch.ntb.usb.Usb_Endpoint_Descriptor; +import ch.ntb.usb.Usb_Interface_Descriptor; +import ch.ntb.usb.testApp.AbstractDeviceInfo.TransferMode; +import ch.ntb.usb.testApp.TestApp; +import ch.ntb.usb.testApp.TestDevice; public class UsbView extends JFrame { diff --git a/src/main/java/ch/ntb/inf/libusbJava/usbView/package.html b/src/app/java/ch/ntb/usb/usbView/package.html similarity index 100% rename from src/main/java/ch/ntb/inf/libusbJava/usbView/package.html rename to src/app/java/ch/ntb/usb/usbView/package.html diff --git a/src/main/java/ch/ntb/inf/libusbJava/demo/LogBus.java b/src/demo/java/ch/ntb/usb/demo/LogBus.java similarity index 86% rename from src/main/java/ch/ntb/inf/libusbJava/demo/LogBus.java rename to src/demo/java/ch/ntb/usb/demo/LogBus.java index d6ad3f1..564c582 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/demo/LogBus.java +++ b/src/demo/java/ch/ntb/usb/demo/LogBus.java @@ -5,11 +5,11 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.demo; +package ch.ntb.usb.demo; -import ch.ntb.inf.libusbJava.LibusbJava; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Utils; +import ch.ntb.usb.LibusbJava; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Utils; /** * Initalises Libusb and prints the bus(ses) with attached devices to the diff --git a/src/main/java/ch/ntb/inf/libusbJava/demo/ReadWrite.java b/src/demo/java/ch/ntb/usb/demo/ReadWrite.java similarity index 91% rename from src/main/java/ch/ntb/inf/libusbJava/demo/ReadWrite.java rename to src/demo/java/ch/ntb/usb/demo/ReadWrite.java index 7dbaf2f..de74950 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/demo/ReadWrite.java +++ b/src/demo/java/ch/ntb/usb/demo/ReadWrite.java @@ -5,11 +5,11 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.demo; +package ch.ntb.usb.demo; -import ch.ntb.inf.libusbJava.Device; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.USBException; +import ch.ntb.usb.Device; +import ch.ntb.usb.USB; +import ch.ntb.usb.USBException; /** * Demo class to demonstrate simple read and write operations to an USB device.
diff --git a/LibusbJava/test/CuTest.c b/src/main/cpp/CuTest.cpp similarity index 100% rename from LibusbJava/test/CuTest.c rename to src/main/cpp/CuTest.cpp diff --git a/src/main/cpp/LibusbJava.cpp b/src/main/cpp/LibusbJava.cpp index 61ee3fb..caa7431 100644 --- a/src/main/cpp/LibusbJava.cpp +++ b/src/main/cpp/LibusbJava.cpp @@ -41,7 +41,7 @@ #include #include "LibusbJava.h" -#include "objects/Usb_Device.h" +#include "Usb_Device.h" //#define DEBUGON @@ -212,8 +212,8 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) info.jni.onLoadCalled=10; /* Load the LibusbJava1 class to force the initialization of the library */ - jclass clazz = env->FindClass("ch/ntb/inf/libusbJava/LibusbJava1"); - CuAssert(tc, "ch/ntb/inf/libusbJava/LibusbJava1 loaded", clazz != NULL); + jclass clazz = env->FindClass("ch/ntb/usb/LibusbJava1"); + CuAssert(tc, "ch/ntb/usb/LibusbJava1 loaded", clazz != NULL); CuAssert(tc, "JNI_OnLoad was executed", info.jni.onLoadCalled != 0); env->DeleteLocalRef(clazz); @@ -253,11 +253,11 @@ void JNI_OnUnload(JavaVM *vm, void *reserved) *******************************************************************************************/ /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_set_debug * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1debug( JNIEnv *env, jclass obj, jlong ctx, jint level) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1set_1debug( JNIEnv *env, jclass obj, jlong ctx, jint level) { clearLibusbJavaError(); libusb_context *context = NULL; if (ctx) { @@ -267,11 +267,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1debug } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_init * Signature: ()J ********************************************************************************************/ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1init( JNIEnv *env, jclass obj) { +JNIEXPORT jlong JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1init( JNIEnv *env, jclass obj) { int res; libusb_context *context; clearLibusbJavaError(); @@ -296,11 +296,11 @@ JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1init( JNI } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_exit * Signature: (J)V *******************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1exit(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1exit(JNIEnv *env, jclass obj, jlong ctx) { libusb_context *context = NULL; clearLibusbJavaError(); if (ctx) { @@ -310,11 +310,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1exit(JNIEn } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_device_list - * Signature: (J)Lch/ntb/inf/libusbJava/Usb_Device; + * Signature: (J)Lch/ntb/usb/Usb_Device; ********************************************************************************************/ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1device_1list( JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jobject JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1device_1list( JNIEnv *env, jclass obj, jlong ctx) { libusb_device **devs; libusb_context *context = (ctx != 0) ? (libusb_context*)ctx : NULL; ssize_t cnt; @@ -576,11 +576,11 @@ JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1de } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_bus_number - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)S + * Signature: (Lch/ntb/usb/Usb_Device;)S ********************************************************************************************/ -JNIEXPORT jshort JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1bus_1number( JNIEnv *env, jclass obj, jobject dev) { +JNIEXPORT jshort JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1bus_1number( JNIEnv *env, jclass obj, jobject dev) { clearLibusbJavaError(); if (ReferencesCheck(&info, env) != 0) return 0; @@ -595,12 +595,12 @@ JNIEXPORT jshort JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1bus } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_max_iso_packet_size - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;S)I + * Signature: (Lch/ntb/usb/Usb_Device;S)I ********************************************************************************************/ JNIEXPORT jint -JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1max_1iso_1packet_1size( JNIEnv *env, jclass obj, jobject dev, jshort epAddr) { +JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1max_1iso_1packet_1size( JNIEnv *env, jclass obj, jobject dev, jshort epAddr) { clearLibusbJavaError(); if (ReferencesCheck(&info, env) != 0) return 0; @@ -615,11 +615,11 @@ JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1max_1iso_1packet_1si } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_ref_device - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)Lch/ntb/inf/libusbJava/Usb_Device; + * Signature: (Lch/ntb/usb/Usb_Device;)Lch/ntb/usb/Usb_Device; ********************************************************************************************/ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1ref_1device(JNIEnv *env, jclass obj, jobject dev) { +JNIEXPORT jobject JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1ref_1device(JNIEnv *env, jclass obj, jobject dev) { clearLibusbJavaError(); if (ReferencesCheck(&info, env) != 0) return NULL; @@ -635,11 +635,11 @@ JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1ref_1de } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_unref_device - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)V + * Signature: (Lch/ntb/usb/Usb_Device;)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unref_1device(JNIEnv *env, jclass obj, jobject dev) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1unref_1device(JNIEnv *env, jclass obj, jobject dev) { clearLibusbJavaError(); if (ReferencesCheck(&info, env) != 0) return; libusb_device *libusb_dev = Usb_Device_HandleGet(env, dev); @@ -652,11 +652,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unref_1dev } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_open - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)J + * Signature: (Lch/ntb/usb/Usb_Device;)J ********************************************************************************************/ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1open( JNIEnv *env, jclass obj, jobject dev) { +JNIEXPORT jlong JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1open( JNIEnv *env, jclass obj, jobject dev) { clearLibusbJavaError(); libusb_device_handle *handle = NULL; if (ReferencesCheck(&info, env) != 0) return 0; @@ -678,32 +678,32 @@ JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1open( JNI } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_open_device_with_vid_pid * Signature: (JII)J ********************************************************************************************/ JNIEXPORT jlong -JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1open_1device_1with_1vid_1pid(JNIEnv *env, jclass obj, jlong ctx, jint vendor_id, jint product_id) { +JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1open_1device_1with_1vid_1pid(JNIEnv *env, jclass obj, jlong ctx, jint vendor_id, jint product_id) { clearLibusbJavaError(); return (jlong) libusb_open_device_with_vid_pid((libusb_context*) (unsigned long) ctx, vendor_id, product_id); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_close * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1close(JNIEnv *env, jclass obj, jlong dev_handle) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1close(JNIEnv *env, jclass obj, jlong dev_handle) { clearLibusbJavaError(); libusb_close((libusb_device_handle*) (unsigned long) dev_handle); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_device - * Signature: (J)Lch/ntb/inf/libusbJava/Usb_Device; + * Signature: (J)Lch/ntb/usb/Usb_Device; ********************************************************************************************/ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1device(JNIEnv *env, jclass obj, jlong handle) { +JNIEXPORT jobject JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1device(JNIEnv *env, jclass obj, jlong handle) { int res, a; uint8_t c, h, e; clearLibusbJavaError(); @@ -910,11 +910,11 @@ JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1de return usb_devObj; } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_configuration * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1configuration(JNIEnv *env, jclass obj, jlong handle) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1configuration(JNIEnv *env, jclass obj, jlong handle) { int config = 0; int libusb_result = 0; @@ -931,71 +931,71 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1confi } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_set_configuration * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1configuration(JNIEnv *env, jclass obj, jlong handle, jint config) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1set_1configuration(JNIEnv *env, jclass obj, jlong handle, jint config) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_set_configuration((libusb_device_handle*) (unsigned long) handle, config)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_claim_interface * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1claim_1interface(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1claim_1interface(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_claim_interface((libusb_device_handle*) (unsigned long) handle, iNumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_release_interface * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1release_1interface(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1release_1interface(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_release_interface((libusb_device_handle*) (unsigned long) handle, iNumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_set_interface_alt_setting * Signature: (JII)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1interface_1alt_1setting(JNIEnv *env, jclass obj, jlong handle, jint iNumber, jint altSet) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1set_1interface_1alt_1setting(JNIEnv *env, jclass obj, jlong handle, jint iNumber, jint altSet) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_set_interface_alt_setting((libusb_device_handle*) (unsigned long) handle, iNumber, altSet)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_clear_halt * Signature: (JS)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1clear_1halt(JNIEnv *env, jclass obj, jlong handle, jshort ep) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1clear_1halt(JNIEnv *env, jclass obj, jlong handle, jshort ep) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_clear_halt((libusb_device_handle*) (unsigned long) handle, ep)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_reset_device * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1reset_1device(JNIEnv *env, jclass obj, jlong handle) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1reset_1device(JNIEnv *env, jclass obj, jlong handle) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_reset_device((libusb_device_handle*) (unsigned long) handle)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_kernel_driver_active * Signature: (JI)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1kernel_1driver_1active(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1kernel_1driver_1active(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { int libusb_result = 0; clearLibusbJavaError(); @@ -1011,31 +1011,31 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1kernel_1dr } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_detach_kernel_driver * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1detach_1kernel_1driver(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1detach_1kernel_1driver(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_detach_kernel_driver((libusb_device_handle*) (unsigned long) handle, iNumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_attach_kernel_driver * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1attach_1kernel_1driver(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1attach_1kernel_1driver(JNIEnv *env, jclass obj, jlong handle, jint iNumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_attach_kernel_driver((libusb_device_handle*) (unsigned long) handle, iNumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_active_config_descriptor - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)Lch/ntb/inf/libusbJava/Usb_Config_Descriptor; + * Signature: (Lch/ntb/usb/Usb_Device;)Lch/ntb/usb/Usb_Config_Descriptor; ********************************************************************************************/ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1active_1config_1descriptor(JNIEnv *env, jclass obj, jobject dev) { +JNIEXPORT jobject JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1active_1config_1descriptor(JNIEnv *env, jclass obj, jobject dev) { uint8_t a, e; clearLibusbJavaError(); if (ReferencesCheck(&info, env) != 0) return NULL; @@ -1185,11 +1185,11 @@ JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1ac } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_string_descriptor_ascii * Signature: (JSI)Ljava/lang/String; ********************************************************************************************/ -JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1string_1descriptor_1ascii( JNIEnv *env, jclass obj, jlong handle, jshort desc_index, jint length) { +JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1string_1descriptor_1ascii( JNIEnv *env, jclass obj, jlong handle, jshort desc_index, jint length) { jstring string; int res = 0; clearLibusbJavaError(); @@ -1211,12 +1211,12 @@ JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1st return string; } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_descriptor * Signature: (JISI)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1descriptor( +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1descriptor( JNIEnv *env, jclass obj, jlong handle, jint desc_type, jshort desc_index, jint size) { @@ -1234,12 +1234,12 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_ return to_byteArray(env, data, res); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_string_descriptor * Signature: (JSII)Ljava/lang/String; ********************************************************************************************/ JNIEXPORT jstring -JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1string_1descriptor(JNIEnv *env, jclass obj, jlong handle, jshort desc_index, jint langid, jint size) { +JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1string_1descriptor(JNIEnv *env, jclass obj, jlong handle, jshort desc_index, jint langid, jint size) { clearLibusbJavaError(); int res; jstring string; @@ -1260,50 +1260,50 @@ JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1string_1descriptor(J } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_alloc_transfer * Signature: (I)J ********************************************************************************************/ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1alloc_1transfer( JNIEnv *env, jclass obj, jint iso_packets) { +JNIEXPORT jlong JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1alloc_1transfer( JNIEnv *env, jclass obj, jint iso_packets) { clearLibusbJavaError(); return (jlong) libusb_alloc_transfer(iso_packets); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_free_transfer * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1free_1transfer( JNIEnv *env, jclass obj, jlong transfernumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1free_1transfer( JNIEnv *env, jclass obj, jlong transfernumber) { clearLibusbJavaError(); libusb_free_transfer((libusb_transfer*) (unsigned long) transfernumber); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_submit_transfer * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1submit_1transfer(JNIEnv *env, jclass obj, jlong transfernumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1submit_1transfer(JNIEnv *env, jclass obj, jlong transfernumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_submit_transfer((libusb_transfer*) (unsigned long) transfernumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_cancel_transfer * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1cancel_1transfer(JNIEnv *env, jclass obj, jlong transfernumber) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1cancel_1transfer(JNIEnv *env, jclass obj, jlong transfernumber) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_cancel_transfer((libusb_transfer*) (unsigned long) transfernumber)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_control_transfer_get_data * Signature: (J)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer_1get_1data(JNIEnv *env, jclass obj, jlong transfernumber) { +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1control_1transfer_1get_1data(JNIEnv *env, jclass obj, jlong transfernumber) { clearLibusbJavaError(); unsigned char *data; libusb_transfer* trans = (libusb_transfer*) (unsigned long) transfernumber; @@ -1316,11 +1316,11 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1cont } /********************************************************************************************* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_control_transfer_get_setup * Signature: (J)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer_1get_1setup(JNIEnv *env, jclass obj, jlong transfernumber) { +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1control_1transfer_1get_1setup(JNIEnv *env, jclass obj, jlong transfernumber) { clearLibusbJavaError(); unsigned char *data; libusb_transfer* trans = (libusb_transfer*) (unsigned long) transfernumber; @@ -1334,11 +1334,11 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1cont return to_byteArray(env, data, 8); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_fill_control_setup * Signature: (IIIII)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1control_1setup(JNIEnv *env, jclass obj, jint bmRequestType, jint bRequest, jint wValue, jint wIndex, jint wLength) { +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1fill_1control_1setup(JNIEnv *env, jclass obj, jint bmRequestType, jint bRequest, jint wValue, jint wIndex, jint wLength) { clearLibusbJavaError(); unsigned char setup[8]; @@ -1348,11 +1348,11 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_fill_control_transfer * Signature: (JJ[BI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1control_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyteArray buffer, jint timeout) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1fill_1control_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyteArray buffer, jint timeout) { clearLibusbJavaError(); jbyte *byteArrayElements = env->GetByteArrayElements(buffer, NULL); libusb_fill_control_transfer((libusb_transfer*) (unsigned long) transfernumber,(libusb_device_handle*) (unsigned long) handle,(unsigned char*) byteArrayElements, transfer_callback, env,(unsigned int) timeout); @@ -1360,11 +1360,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1cont } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_fill_bulk_transfer * Signature: (JJB[BII)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1bulk_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1fill_1bulk_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { clearLibusbJavaError(); jbyte *byteArrayElements = env->GetByteArrayElements(buffer, NULL); libusb_fill_bulk_transfer((libusb_transfer*) (unsigned long) transfernumber,(libusb_device_handle*) (unsigned long) handle, endpoint,(unsigned char*) byteArrayElements, length, transfer_callback, env,(unsigned int) timeout); @@ -1372,11 +1372,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1bulk } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_fill_interrupt_transfer * Signature: (JJB[BII)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1interrupt_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle,jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1fill_1interrupt_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle,jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { clearLibusbJavaError(); jbyte *byteArrayElements = env->GetByteArrayElements(buffer, NULL); libusb_fill_interrupt_transfer((libusb_transfer*) (unsigned long) transfernumber,(libusb_device_handle*) (unsigned long) handle, endpoint,(unsigned char*) byteArrayElements, length, transfer_callback, env, timeout); @@ -1384,11 +1384,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1inte } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_fill_iso_transfer * Signature: (JJB[BIII)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1iso_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint num_iso_packets, jint timeout) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1fill_1iso_1transfer(JNIEnv *env, jclass obj, jlong transfernumber, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint num_iso_packets, jint timeout) { clearLibusbJavaError(); jbyte *byteArrayElements = env->GetByteArrayElements(buffer, NULL); libusb_fill_iso_transfer((libusb_transfer*) (unsigned long) transfernumber, (libusb_device_handle*) (unsigned long) handle, endpoint, (unsigned char*) byteArrayElements, length, num_iso_packets, transfer_callback, env, timeout); @@ -1396,22 +1396,22 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1iso_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_set_iso_packet_lengths * Signature: (JI)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1iso_1packet_1lengths(JNIEnv *env, jclass obj, jlong transfernumber, jint length) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1set_1iso_1packet_1lengths(JNIEnv *env, jclass obj, jlong transfernumber, jint length) { clearLibusbJavaError(); libusb_set_iso_packet_lengths((libusb_transfer*) (unsigned long) transfernumber, length); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_iso_packet_buffer * Signature: (JI)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1iso_1packet_1buffer(JNIEnv *env, jclass obj, jlong transfernumber, jint packet) { +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1iso_1packet_1buffer(JNIEnv *env, jclass obj, jlong transfernumber, jint packet) { clearLibusbJavaError(); int size = 0; unsigned char *data = NULL; @@ -1436,11 +1436,11 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_iso_packet_buffer_simple * Signature: (JI)[B ********************************************************************************************/ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1iso_1packet_1buffer_1simple(JNIEnv *env, jclass obj, jlong transfernumber, jint packet) { +JNIEXPORT jbyteArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1iso_1packet_1buffer_1simple(JNIEnv *env, jclass obj, jlong transfernumber, jint packet) { clearLibusbJavaError(); int size = 0; unsigned char *data = NULL; @@ -1466,82 +1466,82 @@ JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_try_lock_events * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1try_1lock_1events(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1try_1lock_1events(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); return libusb_try_lock_events((libusb_context*) (unsigned long) ctx); // return libusb_try_lock_events(NULL); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_lock_events * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1lock_1events(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1lock_1events(JNIEnv *env, jclass obj, jlong ctx) { libusb_lock_events((libusb_context*) (unsigned long) ctx); // libusb_lock_events(NULL); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_unlock_events * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unlock_1events(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1unlock_1events(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); libusb_unlock_events((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_event_handling_ok * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1event_1handling_1ok(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1event_1handling_1ok(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); return libusb_event_handling_ok((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_event_handler_active * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1event_1handler_1active(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1event_1handler_1active(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); return libusb_event_handler_active((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_lock_event_waiters * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1lock_1event_1waiters(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1lock_1event_1waiters(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); libusb_lock_event_waiters((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_unlock_event_waiters * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unlock_1event_1waiters(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1unlock_1event_1waiters(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); libusb_unlock_event_waiters((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_wait_for_event * Signature: (JJ)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1wait_1for_1event(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1wait_1for_1event(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { clearLibusbJavaError(); if (timevalue) { timeval tv; @@ -1553,11 +1553,11 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1wait_1for_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_handle_events_timeout * Signature: (JJ)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events_1timeout(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1handle_1events_1timeout(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { clearLibusbJavaError(); if (timevalue != 0) { @@ -1573,21 +1573,21 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1ev } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_handle_events * Signature: (J)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1handle_1events(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); ThrowIfUnsuccessful(env, libusb_handle_events((libusb_context*) (unsigned long) ctx)); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_handle_events_locked * Signature: (JJ)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events_1locked(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1handle_1events_1locked(JNIEnv *env, jclass obj, jlong ctx, jlong timevalue) { clearLibusbJavaError(); if (timevalue) { timeval tv; @@ -1602,21 +1602,21 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1ev } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_pollfds_handle_timeouts * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1pollfds_1handle_1timeouts(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1pollfds_1handle_1timeouts(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); return libusb_pollfds_handle_timeouts((libusb_context*) (unsigned long) ctx); } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_next_timeout * Signature: (J)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1next_1timeout(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1next_1timeout(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); int res; timeval tv; @@ -1643,11 +1643,11 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1next_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_set_pollfd_notifiers * Signature: (JZ)V ********************************************************************************************/ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1pollfd_1notifiers(JNIEnv *env, jclass obj, jlong ctx, jboolean remove) { +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1set_1pollfd_1notifiers(JNIEnv *env, jclass obj, jlong ctx, jboolean remove) { clearLibusbJavaError(); if (remove) { @@ -1660,11 +1660,11 @@ JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1pollf } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_get_pollfds - * Signature: (J)[Lch/ntb/inf/libusbJava/Libusb_pollfd; + * Signature: (J)[Lch/ntb/usb/Libusb_pollfd; ********************************************************************************************/ -JNIEXPORT jobjectArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1pollfds(JNIEnv *env, jclass obj, jlong ctx) { +JNIEXPORT jobjectArray JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1get_1pollfds(JNIEnv *env, jclass obj, jlong ctx) { clearLibusbJavaError(); int count = 0; jobjectArray pollfdArray; @@ -1699,11 +1699,11 @@ JNIEXPORT jobjectArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1ge } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_control_transfer * Signature: (JIIII[BII)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer(JNIEnv *env, jclass obj, jlong handle, jint bmRequestType, jint bRequest, jint wValue, jint wIndex, jbyteArray buffer, jint wLength, jint timeout) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1control_1transfer(JNIEnv *env, jclass obj, jlong handle, jint bmRequestType, jint bRequest, jint wValue, jint wIndex, jbyteArray buffer, jint wLength, jint timeout) { clearLibusbJavaError(); int res; unsigned char* data; @@ -1715,11 +1715,11 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1t } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_bulk_transfer * Signature: (JB[BII)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1bulk_1transfer(JNIEnv *env, jclass obj, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1bulk_1transfer(JNIEnv *env, jclass obj, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { clearLibusbJavaError(); int libusb_result = 0; int bytes_transferred = 0; @@ -1738,11 +1738,11 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1bulk_1tran } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_interrupt_transfer * Signature: (JB[BII)I ********************************************************************************************/ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1interrupt_1transfer(JNIEnv *env, jclass obj, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1interrupt_1transfer(JNIEnv *env, jclass obj, jlong handle, jbyte endpoint, jbyteArray buffer, jint length, jint timeout) { clearLibusbJavaError(); int libusb_result; int bytes_transferred = 0; @@ -1760,11 +1760,11 @@ JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1interrupt_ } /******************************************************************************************** - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: libusb_strerror * Signature: ()Ljava/lang/String; ********************************************************************************************/ -JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1strerror(JNIEnv *env, jclass obj) { +JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava1_libusb_1strerror(JNIEnv *env, jclass obj) { char *str = "Libusb-1.0 Error"; /* check for LibusbJava specific errors first*/ @@ -1777,21 +1777,21 @@ JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1strerro } /* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: setup * Signature: ()I */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_setup(JNIEnv *env, jclass obj) +JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava1_setup(JNIEnv *env, jclass obj) { return ReferencesLoad(&info, env, jniObjects); } /* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 + * Class: ch_ntb_usb_LibusbJava1 * Method: teardown * Signature: ()V */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_teardown(JNIEnv *env, jclass obj) +JNIEXPORT void JNICALL Java_ch_ntb_usb_LibusbJava1_teardown(JNIEnv *env, jclass obj) { ReferencesUnload(&info, env); } @@ -1923,7 +1923,7 @@ static __inline void JNICALL ThrowLibusbError(JNIEnv *env, jint code) jmethodID constructor = NULL; jthrowable exception = NULL; - jclass clazz = env->FindClass("ch/ntb/inf/libusbJava/exceptions/LibusbError"); + jclass clazz = env->FindClass("ch/ntb/usb/exceptions/LibusbError"); if (clazz == NULL) { goto no_class; @@ -1970,7 +1970,7 @@ no_class: #ifdef DO_UNIT_TEST static void ThrowLibusbErrorTestEvaluate(CuTest *tc, JNIEnv *env, int code) { /* Prepare the needed environment */ - jclass clazz = env->FindClass("ch/ntb/inf/libusbJava/exceptions/LibusbError"); + jclass clazz = env->FindClass("ch/ntb/usb/exceptions/LibusbError"); CuAssert(tc, "LibusbError class not found!", clazz != NULL); jfieldID f_code = env->GetFieldID(clazz, "code", "I"); CuAssert(tc, "LibusbError has a field \"code\"", f_code != NULL); @@ -2087,7 +2087,7 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t printf("usb_device references loaded\n"); #endif /* usb_device_descriptor*/ - jobject devDescClazz = env->FindClass("ch/ntb/inf/libusbJava/Usb_Device_Descriptor");//returns a local reference + jobject devDescClazz = env->FindClass("ch/ntb/usb/Usb_Device_Descriptor");//returns a local reference usb_devDescClazz = (jclass)env->NewGlobalRef(devDescClazz);//make it global if (usb_devDescClazz == NULL) { return -1; /* exception thrown */ @@ -2116,7 +2116,7 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t printf("usb_device_descriptor references loaded\n"); #endif /* usb_configuration_descriptor*/ - jobject confDescClazz = env->FindClass("ch/ntb/inf/libusbJava/Usb_Config_Descriptor");//returns a local reference + jobject confDescClazz = env->FindClass("ch/ntb/usb/Usb_Config_Descriptor");//returns a local reference usb_confDescClazz = (jclass)env->NewGlobalRef(confDescClazz);//make it global if (usb_confDescClazz == NULL) { return -1; /* exception thrown */ @@ -2134,14 +2134,14 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t usb_confDescFID_iConfiguration = env->GetFieldID(usb_confDescClazz, "iConfiguration", "B"); usb_confDescFID_bmAttributes = env->GetFieldID(usb_confDescClazz, "bmAttributes", "B"); usb_confDescFID_MaxPower = env->GetFieldID(usb_confDescClazz, "MaxPower", "B"); - usb_confDescFID_interface_ = env->GetFieldID(usb_confDescClazz, "interface_", "[Lch/ntb/inf/libusbJava/Usb_Interface;"); + usb_confDescFID_interface_ = env->GetFieldID(usb_confDescClazz, "interface_", "[Lch/ntb/usb/Usb_Interface;"); usb_confDescFID_extra = env->GetFieldID(usb_confDescClazz, "extra", "[B"); usb_confDescFID_extralen = env->GetFieldID(usb_confDescClazz, "extralen", "I"); #ifdef DEBUGON printf("usb_configuration_descriptor references loaded\n"); #endif /* usb_interface*/ - jobject intClazz = env->FindClass("ch/ntb/inf/libusbJava/Usb_Interface");//returns a local reference + jobject intClazz = env->FindClass("ch/ntb/usb/Usb_Interface");//returns a local reference usb_intClazz = (jclass)env->NewGlobalRef(intClazz);//make it global if (usb_intClazz == NULL) { return -1; /* exception thrown */ @@ -2150,13 +2150,13 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t if (usb_intMid == NULL) { return -1; } - usb_intFID_altsetting = env->GetFieldID(usb_intClazz, "altsetting", "[Lch/ntb/inf/libusbJava/Usb_Interface_Descriptor;"); + usb_intFID_altsetting = env->GetFieldID(usb_intClazz, "altsetting", "[Lch/ntb/usb/Usb_Interface_Descriptor;"); usb_intFID_num_altsetting = env->GetFieldID(usb_intClazz, "num_altsetting", "I"); #ifdef DEBUGON printf("usb_interface references loaded\n"); #endif /* usb_interface_descriptor*/ - jobject intDescClazz = env->FindClass( "ch/ntb/inf/libusbJava/Usb_Interface_Descriptor");//returns a local reference + jobject intDescClazz = env->FindClass( "ch/ntb/usb/Usb_Interface_Descriptor");//returns a local reference usb_intDescClazz = (jclass)env->NewGlobalRef(intDescClazz);//make it global if (usb_intDescClazz == NULL) { return -1; /* exception thrown */ @@ -2174,14 +2174,14 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t usb_intDescFID_bInterfaceSubClass = env->GetFieldID(usb_intDescClazz, "bInterfaceSubClass", "B"); usb_intDescFID_bInterfaceProtocol = env->GetFieldID(usb_intDescClazz, "bInterfaceProtocol", "B"); usb_intDescFID_iInterface = env->GetFieldID(usb_intDescClazz, "iInterface", "B"); - usb_intDescFID_endpoint = env->GetFieldID(usb_intDescClazz, "endpoint", "[Lch/ntb/inf/libusbJava/Usb_Endpoint_Descriptor;"); + usb_intDescFID_endpoint = env->GetFieldID(usb_intDescClazz, "endpoint", "[Lch/ntb/usb/Usb_Endpoint_Descriptor;"); usb_intDescFID_extra = env->GetFieldID(usb_intDescClazz, "extra", "[B"); usb_intDescFID_extralen = env->GetFieldID(usb_intDescClazz, "extralen", "I"); #ifdef DEBUGON printf("usb_interface_descriptor references loaded\n"); #endif /* usb_endpoint_descriptor*/ - jobject epDescClazz = env->FindClass("ch/ntb/inf/libusbJava/Usb_Endpoint_Descriptor");//returns a local reference + jobject epDescClazz = env->FindClass("ch/ntb/usb/Usb_Endpoint_Descriptor");//returns a local reference usb_epDescClazz = (jclass)env->NewGlobalRef(epDescClazz);//make it global if (usb_epDescClazz == NULL) { return -1; /* exception thrown */ @@ -2204,7 +2204,7 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t printf("usb_endpoint_descriptor references loaded\n"); #endif /*libusb_event*/ - jobject cb_clazz = env->FindClass("ch/ntb/inf/libusbJava/Libusb_event");//returns a local reference + jobject cb_clazz = env->FindClass("ch/ntb/usb/Libusb_event");//returns a local reference usb_cb_clazz = (jclass)env->NewGlobalRef(cb_clazz);//make it global if (usb_cb_clazz == NULL) { printf("load Clazz failed\n"); @@ -2229,13 +2229,13 @@ static __inline int ReferencesLoad(tLUJ_Instance *instance, JNIEnv *env, const t printf("usb_event_descriptor references loaded\n"); #endif /*Libusb_pollfd*/ - jobject pollfd_clazz = env->FindClass("ch/ntb/inf/libusbJava/Libusb_pollfd");//returns a local reference + jobject pollfd_clazz = env->FindClass("ch/ntb/usb/Libusb_pollfd");//returns a local reference usb_pollfd_clazz = (jclass)env->NewGlobalRef(pollfd_clazz);//make it global if (usb_pollfd_clazz == NULL) { return -1; /*exception thrown*/ } usb_pollfd_Mid = env->GetMethodID(usb_pollfd_clazz, "", "()V"); - // Bugfix: if (usb_devMid == NULL) @ Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1device_1list - Copy-paste error + // Bugfix: if (usb_devMid == NULL) @ Java_ch_ntb_usb_LibusbJava1_libusb_1get_1device_1list - Copy-paste error if (usb_pollfd_Mid == NULL) { return -1; /*exception thrown*/ } diff --git a/LibusbJava/test/LibusbJavaTest.cpp b/src/main/cpp/LibusbJavaTest.cpp similarity index 100% rename from LibusbJava/test/LibusbJavaTest.cpp rename to src/main/cpp/LibusbJavaTest.cpp diff --git a/src/main/cpp/Usb_Device.cpp b/src/main/cpp/Usb_Device.cpp index f26eaab..c572898 100644 --- a/src/main/cpp/Usb_Device.cpp +++ b/src/main/cpp/Usb_Device.cpp @@ -8,7 +8,7 @@ #include #ifdef DO_UNIT_TEST -# include +# include # define TEST_CASE(name) static void name(CuTest *tc) #endif @@ -50,7 +50,7 @@ static tUsb_Device *me = &instance; int Usb_Device_connect(JNIEnv *env) { - jobject theClass = env->FindClass("ch/ntb/inf/libusbJava/Usb_Device"); + jobject theClass = env->FindClass("ch/ntb/usb/Usb_Device"); if (theClass == NULL) goto no_class; me->clazz = (jclass) env->NewGlobalRef(theClass); // make it global to avoid class unloading and therefore @@ -60,15 +60,15 @@ int Usb_Device_connect(JNIEnv *env) me->constructor = env->GetMethodID(me->clazz, "", "()V"); if (me->constructor == NULL) goto no_constructor; - LOAD_FIELD(env, me, "Lch/ntb/inf/libusbJava/Usb_Device;", next); - LOAD_FIELD(env, me, "Lch/ntb/inf/libusbJava/Usb_Device;", prev); + LOAD_FIELD(env, me, "Lch/ntb/usb/Usb_Device;", next); + LOAD_FIELD(env, me, "Lch/ntb/usb/Usb_Device;", prev); LOAD_FIELD(env, me, "Ljava/lang/String;", filename); - LOAD_FIELD(env, me, "Lch/ntb/inf/libusbJava/Usb_Bus;", bus); - LOAD_FIELD(env, me, "Lch/ntb/inf/libusbJava/Usb_Device_Descriptor;", descriptor); - LOAD_FIELD(env, me, "[Lch/ntb/inf/libusbJava/Usb_Config_Descriptor;", config); + LOAD_FIELD(env, me, "Lch/ntb/usb/Usb_Bus;", bus); + LOAD_FIELD(env, me, "Lch/ntb/usb/Usb_Device_Descriptor;", descriptor); + LOAD_FIELD(env, me, "[Lch/ntb/usb/Usb_Config_Descriptor;", config); LOAD_FIELD(env, me, "B", devnum); LOAD_FIELD(env, me, "B", num_children); - LOAD_FIELD(env, me, "Lch/ntb/inf/libusbJava/Usb_Device;", children); + LOAD_FIELD(env, me, "Lch/ntb/usb/Usb_Device;", children); LOAD_FIELD(env, me, "J", devStructAddr); me->loaded = 1; diff --git a/LibusbJava/test/CuTest.h b/src/main/headers/CuTest.h similarity index 100% rename from LibusbJava/test/CuTest.h rename to src/main/headers/CuTest.h diff --git a/src/main/headers/LibusbJava.h b/src/main/headers/LibusbJava.h deleted file mode 100644 index ef37b4d..0000000 --- a/src/main/headers/LibusbJava.h +++ /dev/null @@ -1,509 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class ch_ntb_inf_libusbJava_LibusbJava1 */ - -#ifndef _Included_ch_ntb_inf_libusbJava_LibusbJava1 -#define _Included_ch_ntb_inf_libusbJava_LibusbJava1 -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_set_debug - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1debug - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_init - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1init - (JNIEnv *, jclass); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_exit - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1exit - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_device_list - * Signature: (J)Lch/ntb/inf/libusbJava/Usb_Device; - */ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1device_1list - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_bus_number - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)S - */ -JNIEXPORT jshort JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1bus_1number - (JNIEnv *, jclass, jobject); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_max_iso_packet_size - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;S)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1max_1iso_1packet_1size - (JNIEnv *, jclass, jobject, jshort); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_ref_device - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)Lch/ntb/inf/libusbJava/Usb_Device; - */ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1ref_1device - (JNIEnv *, jclass, jobject); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_unref_device - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unref_1device - (JNIEnv *, jclass, jobject); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_open - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)J - */ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1open - (JNIEnv *, jclass, jobject); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_open_device_with_vid_pid - * Signature: (JII)J - */ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1open_1device_1with_1vid_1pid - (JNIEnv *, jclass, jlong, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_close - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1close - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_device - * Signature: (J)Lch/ntb/inf/libusbJava/Usb_Device; - */ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1device - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_configuration - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1configuration - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_set_configuration - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1configuration - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_claim_interface - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1claim_1interface - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_release_interface - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1release_1interface - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_set_interface_alt_setting - * Signature: (JII)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1interface_1alt_1setting - (JNIEnv *, jclass, jlong, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_clear_halt - * Signature: (JS)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1clear_1halt - (JNIEnv *, jclass, jlong, jshort); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_reset_device - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1reset_1device - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_kernel_driver_active - * Signature: (JI)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1kernel_1driver_1active - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_detach_kernel_driver - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1detach_1kernel_1driver - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_attach_kernel_driver - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1attach_1kernel_1driver - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_active_config_descriptor - * Signature: (Lch/ntb/inf/libusbJava/Usb_Device;)Lch/ntb/inf/libusbJava/Usb_Config_Descriptor; - */ -JNIEXPORT jobject JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1active_1config_1descriptor - (JNIEnv *, jclass, jobject); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_string_descriptor_ascii - * Signature: (JSI)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1string_1descriptor_1ascii - (JNIEnv *, jclass, jlong, jshort, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_descriptor - * Signature: (JISI)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1descriptor - (JNIEnv *, jclass, jlong, jint, jshort, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_string_descriptor - * Signature: (JSII)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1string_1descriptor - (JNIEnv *, jclass, jlong, jshort, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_alloc_transfer - * Signature: (I)J - */ -JNIEXPORT jlong JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1alloc_1transfer - (JNIEnv *, jclass, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_free_transfer - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1free_1transfer - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_submit_transfer - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1submit_1transfer - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_cancel_transfer - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1cancel_1transfer - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_control_transfer_get_data - * Signature: (J)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer_1get_1data - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_control_transfer_get_setup - * Signature: (J)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer_1get_1setup - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_fill_control_setup - * Signature: (IIIII)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1control_1setup - (JNIEnv *, jclass, jint, jint, jint, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_fill_control_transfer - * Signature: (JJ[BI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1control_1transfer - (JNIEnv *, jclass, jlong, jlong, jbyteArray, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_fill_bulk_transfer - * Signature: (JJB[BII)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1bulk_1transfer - (JNIEnv *, jclass, jlong, jlong, jbyte, jbyteArray, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_fill_interrupt_transfer - * Signature: (JJB[BII)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1interrupt_1transfer - (JNIEnv *, jclass, jlong, jlong, jbyte, jbyteArray, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_fill_iso_transfer - * Signature: (JJB[BIII)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1fill_1iso_1transfer - (JNIEnv *, jclass, jlong, jlong, jbyte, jbyteArray, jint, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_set_iso_packet_lengths - * Signature: (JI)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1iso_1packet_1lengths - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_iso_packet_buffer - * Signature: (JI)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1iso_1packet_1buffer - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_iso_packet_buffer_simple - * Signature: (JI)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1iso_1packet_1buffer_1simple - (JNIEnv *, jclass, jlong, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_try_lock_events - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1try_1lock_1events - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_lock_events - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1lock_1events - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_unlock_events - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unlock_1events - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_event_handling_ok - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1event_1handling_1ok - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_event_handler_active - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1event_1handler_1active - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_lock_event_waiters - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1lock_1event_1waiters - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_unlock_event_waiters - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1unlock_1event_1waiters - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_wait_for_event - * Signature: (JJ)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1wait_1for_1event - (JNIEnv *, jclass, jlong, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_handle_events_timeout - * Signature: (JJ)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events_1timeout - (JNIEnv *, jclass, jlong, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_handle_events - * Signature: (J)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_handle_events_locked - * Signature: (JJ)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1handle_1events_1locked - (JNIEnv *, jclass, jlong, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_pollfds_handle_timeouts - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1pollfds_1handle_1timeouts - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_next_timeout - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1next_1timeout - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_set_pollfd_notifiers - * Signature: (JZ)V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1set_1pollfd_1notifiers - (JNIEnv *, jclass, jlong, jboolean); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_get_pollfds - * Signature: (J)[Lch/ntb/inf/libusbJava/Libusb_pollfd; - */ -JNIEXPORT jobjectArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1get_1pollfds - (JNIEnv *, jclass, jlong); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_control_transfer - * Signature: (JIIII[BII)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1control_1transfer - (JNIEnv *, jclass, jlong, jint, jint, jint, jint, jbyteArray, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_bulk_transfer - * Signature: (JB[BII)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1bulk_1transfer - (JNIEnv *, jclass, jlong, jbyte, jbyteArray, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_interrupt_transfer - * Signature: (JB[BII)I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1interrupt_1transfer - (JNIEnv *, jclass, jlong, jbyte, jbyteArray, jint, jint); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: libusb_strerror - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_libusb_1strerror - (JNIEnv *, jclass); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: setup - * Signature: ()I - */ -JNIEXPORT jint JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_setup - (JNIEnv *, jclass); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: teardown - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_teardown - (JNIEnv *, jclass); - -/* - * Class: ch_ntb_inf_libusbJava_LibusbJava1 - * Method: to_byteArrayTest - * Signature: (Ljava/lang/String;I)[B - */ -JNIEXPORT jbyteArray JNICALL Java_ch_ntb_inf_libusbJava_LibusbJava1_to_1byteArrayTest - (JNIEnv *, jclass, jstring, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/main/java/ch/ntb/inf/libusbJava/Device.java b/src/main/java/ch/ntb/usb/Device.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Device.java rename to src/main/java/ch/ntb/usb/Device.java index 5da307d..823c9a5 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Device.java +++ b/src/main/java/ch/ntb/usb/Device.java @@ -5,12 +5,12 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; import java.util.logging.Level; import java.util.logging.Logger; -import ch.ntb.inf.libusbJava.logger.LogUtil; +import ch.ntb.usb.logger.LogUtil; /** * This class represents an USB device.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/LibusbJava.java b/src/main/java/ch/ntb/usb/LibusbJava.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/LibusbJava.java rename to src/main/java/ch/ntb/usb/LibusbJava.java index 506e943..a578118 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/LibusbJava.java +++ b/src/main/java/ch/ntb/usb/LibusbJava.java @@ -10,9 +10,9 @@ * 18.10.2010 NTB / Roger Millischer change from native interface to compatibility layer * */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; -import ch.ntb.inf.libusbJava.exceptions.LibusbError; +import ch.ntb.usb.exceptions.LibusbError; /** * This class is used as compatibility layer for libusb 0.1 projects. @@ -60,14 +60,14 @@ public class LibusbJava { if (defaultCTX != 0) { return; } - try { + /*try { defaultCTX = LibusbJava1.libusb_init(); } catch (LibusbError e) { System.err.println("LibusbJava-1.0 init failed with errorcode: " + e.getMessage()); e.printStackTrace(); defaultCTX = 0; - } + }*/ LibusbJava1.libusb_set_debug(0, 0); } diff --git a/src/main/java/ch/ntb/inf/libusbJava/LibusbJava1.java b/src/main/java/ch/ntb/usb/LibusbJava1.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/LibusbJava1.java rename to src/main/java/ch/ntb/usb/LibusbJava1.java index d1843fa..8801245 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/LibusbJava1.java +++ b/src/main/java/ch/ntb/usb/LibusbJava1.java @@ -4,9 +4,11 @@ * * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; -import ch.ntb.inf.libusbJava.exceptions.LibusbError; +import ch.ntb.usb.exceptions.LibusbError; + +import com.github.boukefalos.jlibloader.Native; /** * This class represents the Java Native Interface to the shared library which @@ -1378,12 +1380,7 @@ public class LibusbJava1 { public static native String libusb_strerror(); static { - String os = System.getProperty("os.name"); - if (os.contains("Windows")) { - System.loadLibrary("LibusbJava-1_0"); - } else { - System.loadLibrary("usbJava-1.0"); - } + Native.load("com.github.boukefalos", "jlibusb"); /* * After loading the library, we register a "shutdown hook" to be called diff --git a/src/main/java/ch/ntb/inf/libusbJava/Libusb_event.java b/src/main/java/ch/ntb/usb/Libusb_event.java similarity index 88% rename from src/main/java/ch/ntb/inf/libusbJava/Libusb_event.java rename to src/main/java/ch/ntb/usb/Libusb_event.java index c7a34c8..2efcbd3 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Libusb_event.java +++ b/src/main/java/ch/ntb/usb/Libusb_event.java @@ -1,4 +1,4 @@ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; public class Libusb_event { diff --git a/src/main/java/ch/ntb/inf/libusbJava/Libusb_pollfd.java b/src/main/java/ch/ntb/usb/Libusb_pollfd.java similarity index 64% rename from src/main/java/ch/ntb/inf/libusbJava/Libusb_pollfd.java rename to src/main/java/ch/ntb/usb/Libusb_pollfd.java index e05d311..7edaf95 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Libusb_pollfd.java +++ b/src/main/java/ch/ntb/usb/Libusb_pollfd.java @@ -1,4 +1,4 @@ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; public class Libusb_pollfd { int fd; diff --git a/src/main/java/ch/ntb/inf/libusbJava/USB.java b/src/main/java/ch/ntb/usb/USB.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/USB.java rename to src/main/java/ch/ntb/usb/USB.java index e02211c..6b79e0a 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/USB.java +++ b/src/main/java/ch/ntb/usb/USB.java @@ -5,13 +5,13 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; import java.util.Iterator; import java.util.LinkedList; import java.util.logging.Logger; -import ch.ntb.inf.libusbJava.logger.LogUtil; +import ch.ntb.usb.logger.LogUtil; /** * This class manages all USB devices and defines some USB specific constants.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/USBException.java b/src/main/java/ch/ntb/usb/USBException.java similarity index 93% rename from src/main/java/ch/ntb/inf/libusbJava/USBException.java rename to src/main/java/ch/ntb/usb/USBException.java index ff4fd1d..21f1f5c 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/USBException.java +++ b/src/main/java/ch/ntb/usb/USBException.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; import java.io.IOException; diff --git a/src/main/java/ch/ntb/inf/libusbJava/USBTimeoutException.java b/src/main/java/ch/ntb/usb/USBTimeoutException.java similarity index 93% rename from src/main/java/ch/ntb/inf/libusbJava/USBTimeoutException.java rename to src/main/java/ch/ntb/usb/USBTimeoutException.java index 2aa9aeb..4b8c3c6 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/USBTimeoutException.java +++ b/src/main/java/ch/ntb/usb/USBTimeoutException.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; public class USBTimeoutException extends USBException { diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Bus.java b/src/main/java/ch/ntb/usb/Usb_Bus.java similarity index 98% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Bus.java rename to src/main/java/ch/ntb/usb/Usb_Bus.java index 9ff2bdb..fb0a828 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Bus.java +++ b/src/main/java/ch/ntb/usb/Usb_Bus.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents an USB bus.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Config_Descriptor.java b/src/main/java/ch/ntb/usb/Usb_Config_Descriptor.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Config_Descriptor.java rename to src/main/java/ch/ntb/usb/Usb_Config_Descriptor.java index ffad600..320e78b 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Config_Descriptor.java +++ b/src/main/java/ch/ntb/usb/Usb_Config_Descriptor.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents the descriptor of a USB configuration.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Descriptor.java b/src/main/java/ch/ntb/usb/Usb_Descriptor.java similarity index 97% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Descriptor.java rename to src/main/java/ch/ntb/usb/Usb_Descriptor.java index 379a77f..d1b9ab0 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Descriptor.java +++ b/src/main/java/ch/ntb/usb/Usb_Descriptor.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Common USB descriptor values.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Device.java b/src/main/java/ch/ntb/usb/Usb_Device.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Device.java rename to src/main/java/ch/ntb/usb/Usb_Device.java index 580f3ec..95ba0ca 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Device.java +++ b/src/main/java/ch/ntb/usb/Usb_Device.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents an USB device.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Device_Descriptor.java b/src/main/java/ch/ntb/usb/Usb_Device_Descriptor.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Device_Descriptor.java rename to src/main/java/ch/ntb/usb/Usb_Device_Descriptor.java index 138c779..8a0a618 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Device_Descriptor.java +++ b/src/main/java/ch/ntb/usb/Usb_Device_Descriptor.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents the descriptor of a USB device.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Endpoint_Descriptor.java b/src/main/java/ch/ntb/usb/Usb_Endpoint_Descriptor.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Endpoint_Descriptor.java rename to src/main/java/ch/ntb/usb/Usb_Endpoint_Descriptor.java index 03b4227..626d4a9 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Endpoint_Descriptor.java +++ b/src/main/java/ch/ntb/usb/Usb_Endpoint_Descriptor.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents the descriptor of an USB endpoint.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Interface.java b/src/main/java/ch/ntb/usb/Usb_Interface.java similarity index 97% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Interface.java rename to src/main/java/ch/ntb/usb/Usb_Interface.java index 284feb3..a8bb6bc 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Interface.java +++ b/src/main/java/ch/ntb/usb/Usb_Interface.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents an USB interface.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Usb_Interface_Descriptor.java b/src/main/java/ch/ntb/usb/Usb_Interface_Descriptor.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/Usb_Interface_Descriptor.java rename to src/main/java/ch/ntb/usb/Usb_Interface_Descriptor.java index bedb94e..dc136f7 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Usb_Interface_Descriptor.java +++ b/src/main/java/ch/ntb/usb/Usb_Interface_Descriptor.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; /** * Represents the descriptor of a USB interface.
diff --git a/src/main/java/ch/ntb/inf/libusbJava/Utils.java b/src/main/java/ch/ntb/usb/Utils.java similarity index 98% rename from src/main/java/ch/ntb/inf/libusbJava/Utils.java rename to src/main/java/ch/ntb/usb/Utils.java index 4e1f89d..d13a5ba 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/Utils.java +++ b/src/main/java/ch/ntb/usb/Utils.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava; +package ch.ntb.usb; import java.io.PrintStream; diff --git a/src/main/java/ch/ntb/inf/libusbJava/exceptions/LibusbError.java b/src/main/java/ch/ntb/usb/exceptions/LibusbError.java similarity index 98% rename from src/main/java/ch/ntb/inf/libusbJava/exceptions/LibusbError.java rename to src/main/java/ch/ntb/usb/exceptions/LibusbError.java index 86db07a..e7e31f2 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/exceptions/LibusbError.java +++ b/src/main/java/ch/ntb/usb/exceptions/LibusbError.java @@ -1,4 +1,4 @@ -package ch.ntb.inf.libusbJava.exceptions; +package ch.ntb.usb.exceptions; public class LibusbError extends Exception { private static final long serialVersionUID = 9096323614080207236L; diff --git a/src/main/java/ch/ntb/inf/libusbJava/logger/LogUtil.java b/src/main/java/ch/ntb/usb/logger/LogUtil.java similarity index 99% rename from src/main/java/ch/ntb/inf/libusbJava/logger/LogUtil.java rename to src/main/java/ch/ntb/usb/logger/LogUtil.java index 32e204a..51fd7b4 100644 --- a/src/main/java/ch/ntb/inf/libusbJava/logger/LogUtil.java +++ b/src/main/java/ch/ntb/usb/logger/LogUtil.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.logger; +package ch.ntb.usb.logger; import java.io.InputStream; import java.util.Properties; diff --git a/src/main/java/ch/ntb/inf/libusbJava/logger/package.html b/src/main/java/ch/ntb/usb/logger/package.html similarity index 100% rename from src/main/java/ch/ntb/inf/libusbJava/logger/package.html rename to src/main/java/ch/ntb/usb/logger/package.html diff --git a/src/main/java/ch/ntb/inf/libusbJava/package.html b/src/main/java/ch/ntb/usb/package.html similarity index 100% rename from src/main/java/ch/ntb/inf/libusbJava/package.html rename to src/main/java/ch/ntb/usb/package.html diff --git a/src/main/resources/.configure b/src/main/resources/.configure new file mode 100644 index 0000000..57fdbe2 --- /dev/null +++ b/src/main/resources/.configure @@ -0,0 +1,6 @@ +# enable or disable logging +ch.ntb.inf.libusbJava/debug = true +# set and configure individual loggers here +# the format is: projectName/debug/ = / +ch.ntb.inf.libusbJava/debug/logger0 = ch.ntb.inf.libusbJava/OFF +ch.ntb.inf.libusbJava/debug/logger1 = ch.ntb.inf.libusbJava.test/INFO diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/DeviceTest.java b/src/test/java/ch/ntb/usb/test/DeviceTest.java similarity index 97% rename from src/test/java/ch/ntb/inf/libusbJava/test/DeviceTest.java rename to src/test/java/ch/ntb/usb/test/DeviceTest.java index 7830970..228f2b8 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/DeviceTest.java +++ b/src/test/java/ch/ntb/usb/test/DeviceTest.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test; +package ch.ntb.usb.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -26,16 +26,16 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; -import ch.ntb.inf.libusbJava.Device; -import ch.ntb.inf.libusbJava.LibusbJava; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.USBException; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Usb_Config_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Device_Descriptor; -import ch.ntb.inf.libusbJava.Utils; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo.TransferMode; +import ch.ntb.usb.Device; +import ch.ntb.usb.LibusbJava; +import ch.ntb.usb.USB; +import ch.ntb.usb.USBException; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Usb_Config_Descriptor; +import ch.ntb.usb.Usb_Device_Descriptor; +import ch.ntb.usb.Utils; +import ch.ntb.usb.testApp.AbstractDeviceInfo; +import ch.ntb.usb.testApp.AbstractDeviceInfo.TransferMode; @SuppressWarnings("deprecation") public class DeviceTest { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/LibusbJava1Test.java b/src/test/java/ch/ntb/usb/test/LibusbJava1Test.java similarity index 97% rename from src/test/java/ch/ntb/inf/libusbJava/test/LibusbJava1Test.java rename to src/test/java/ch/ntb/usb/test/LibusbJava1Test.java index 1696b95..643c69d 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/LibusbJava1Test.java +++ b/src/test/java/ch/ntb/usb/test/LibusbJava1Test.java @@ -1,4 +1,4 @@ -package ch.ntb.inf.libusbJava.test; +package ch.ntb.usb.test; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -6,9 +6,9 @@ import static org.junit.Assert.fail; import org.junit.Test; -import ch.ntb.inf.libusbJava.LibusbJava1; -import ch.ntb.inf.libusbJava.Usb_Device; -import ch.ntb.inf.libusbJava.exceptions.LibusbError; +import ch.ntb.usb.LibusbJava1; +import ch.ntb.usb.Usb_Device; +import ch.ntb.usb.exceptions.LibusbError; public class LibusbJava1Test { /** diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/MemoryLeakTest.java b/src/test/java/ch/ntb/usb/test/MemoryLeakTest.java similarity index 92% rename from src/test/java/ch/ntb/inf/libusbJava/test/MemoryLeakTest.java rename to src/test/java/ch/ntb/usb/test/MemoryLeakTest.java index 3886583..727a423 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/MemoryLeakTest.java +++ b/src/test/java/ch/ntb/usb/test/MemoryLeakTest.java @@ -5,7 +5,7 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test; +package ch.ntb.usb.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -21,14 +21,14 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; -import ch.ntb.inf.libusbJava.Device; -import ch.ntb.inf.libusbJava.LibusbJava; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.USBException; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Utils; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo.TransferMode; +import ch.ntb.usb.Device; +import ch.ntb.usb.LibusbJava; +import ch.ntb.usb.USB; +import ch.ntb.usb.USBException; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Utils; +import ch.ntb.usb.testApp.AbstractDeviceInfo; +import ch.ntb.usb.testApp.AbstractDeviceInfo.TransferMode; @SuppressWarnings("deprecation") public class MemoryLeakTest { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/TestLibUsbJava.java b/src/test/java/ch/ntb/usb/test/TestLibUsbJava.java similarity index 94% rename from src/test/java/ch/ntb/inf/libusbJava/test/TestLibUsbJava.java rename to src/test/java/ch/ntb/usb/test/TestLibUsbJava.java index f1f807f..808afb9 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/TestLibUsbJava.java +++ b/src/test/java/ch/ntb/usb/test/TestLibUsbJava.java @@ -5,15 +5,15 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test; +package ch.ntb.usb.test; -import ch.ntb.inf.libusbJava.LibusbJava; -import ch.ntb.inf.libusbJava.Usb_Bus; -import ch.ntb.inf.libusbJava.Usb_Config_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Device; -import ch.ntb.inf.libusbJava.Usb_Endpoint_Descriptor; -import ch.ntb.inf.libusbJava.Usb_Interface; -import ch.ntb.inf.libusbJava.Usb_Interface_Descriptor; +import ch.ntb.usb.LibusbJava; +import ch.ntb.usb.Usb_Bus; +import ch.ntb.usb.Usb_Config_Descriptor; +import ch.ntb.usb.Usb_Device; +import ch.ntb.usb.Usb_Endpoint_Descriptor; +import ch.ntb.usb.Usb_Interface; +import ch.ntb.usb.Usb_Interface_Descriptor; /** * This class replicates the code from testlibusb.c supplied in the diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/devices/AT90USB1287.java b/src/test/java/ch/ntb/usb/test/devices/AT90USB1287.java similarity index 84% rename from src/test/java/ch/ntb/inf/libusbJava/test/devices/AT90USB1287.java rename to src/test/java/ch/ntb/usb/test/devices/AT90USB1287.java index 7d2f36a..5ffec61 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/devices/AT90USB1287.java +++ b/src/test/java/ch/ntb/usb/test/devices/AT90USB1287.java @@ -5,10 +5,10 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test.devices; +package ch.ntb.usb.test.devices; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; +import ch.ntb.usb.USB; +import ch.ntb.usb.testApp.AbstractDeviceInfo; public class AT90USB1287 extends AbstractDeviceInfo { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/devices/CY7C68013A.java b/src/test/java/ch/ntb/usb/test/devices/CY7C68013A.java similarity index 82% rename from src/test/java/ch/ntb/inf/libusbJava/test/devices/CY7C68013A.java rename to src/test/java/ch/ntb/usb/test/devices/CY7C68013A.java index 3b8ee82..2649315 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/devices/CY7C68013A.java +++ b/src/test/java/ch/ntb/usb/test/devices/CY7C68013A.java @@ -5,10 +5,10 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test.devices; +package ch.ntb.usb.test.devices; -import ch.ntb.inf.libusbJava.USB; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; +import ch.ntb.usb.USB; +import ch.ntb.usb.testApp.AbstractDeviceInfo; public class CY7C68013A extends AbstractDeviceInfo { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/devices/MX500.java b/src/test/java/ch/ntb/usb/test/devices/MX500.java similarity index 87% rename from src/test/java/ch/ntb/inf/libusbJava/test/devices/MX500.java rename to src/test/java/ch/ntb/usb/test/devices/MX500.java index 121dbb8..38e9fdc 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/devices/MX500.java +++ b/src/test/java/ch/ntb/usb/test/devices/MX500.java @@ -5,9 +5,9 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test.devices; +package ch.ntb.usb.test.devices; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; +import ch.ntb.usb.testApp.AbstractDeviceInfo; public class MX500 extends AbstractDeviceInfo { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/devices/MousePlus.java b/src/test/java/ch/ntb/usb/test/devices/MousePlus.java similarity index 88% rename from src/test/java/ch/ntb/inf/libusbJava/test/devices/MousePlus.java rename to src/test/java/ch/ntb/usb/test/devices/MousePlus.java index 3697c5a..db9e92c 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/devices/MousePlus.java +++ b/src/test/java/ch/ntb/usb/test/devices/MousePlus.java @@ -5,9 +5,9 @@ * http://libusbjava.sourceforge.net * This library is covered by the LGPL, read LGPL.txt for details. */ -package ch.ntb.inf.libusbJava.test.devices; +package ch.ntb.usb.test.devices; -import ch.ntb.inf.libusbJava.testApp.AbstractDeviceInfo; +import ch.ntb.usb.testApp.AbstractDeviceInfo; public class MousePlus extends AbstractDeviceInfo { diff --git a/src/test/java/ch/ntb/inf/libusbJava/test/exceptions/LibusbErrorTest.java b/src/test/java/ch/ntb/usb/test/exceptions/LibusbErrorTest.java similarity index 95% rename from src/test/java/ch/ntb/inf/libusbJava/test/exceptions/LibusbErrorTest.java rename to src/test/java/ch/ntb/usb/test/exceptions/LibusbErrorTest.java index c6f3157..f928c6a 100644 --- a/src/test/java/ch/ntb/inf/libusbJava/test/exceptions/LibusbErrorTest.java +++ b/src/test/java/ch/ntb/usb/test/exceptions/LibusbErrorTest.java @@ -1,4 +1,4 @@ -package ch.ntb.inf.libusbJava.test.exceptions; +package ch.ntb.usb.test.exceptions; import static org.junit.Assert.assertEquals; @@ -10,7 +10,7 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import ch.ntb.inf.libusbJava.exceptions.LibusbError; +import ch.ntb.usb.exceptions.LibusbError; @RunWith(Parameterized.class) public class LibusbErrorTest { diff --git a/java/testdevice.properties b/src/test/resources/testdevice.properties similarity index 97% rename from java/testdevice.properties rename to src/test/resources/testdevice.properties index 7c92baa..8eb508d 100644 --- a/java/testdevice.properties +++ b/src/test/resources/testdevice.properties @@ -1,13 +1,13 @@ -################################################################ -# define the usb test class for test/ch.ntb.inf.libusbJava.DeviceTest here -# it must implement ch.ntb.inf.libusbJava.AbstractDeviceInfo -################################################################ - -# Atmel AVR AT90USB1287 -testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.AT90USB1287 -# Cypress FX2 CY7C68013A -#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.CY7C68013A -# MX500 Mouse -#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.MX500 -# Logitech Notebook Mouse Plus -#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.MousePlus +################################################################ +# define the usb test class for test/ch.ntb.inf.libusbJava.DeviceTest here +# it must implement ch.ntb.inf.libusbJava.AbstractDeviceInfo +################################################################ + +# Atmel AVR AT90USB1287 +testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.AT90USB1287 +# Cypress FX2 CY7C68013A +#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.CY7C68013A +# MX500 Mouse +#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.MX500 +# Logitech Notebook Mouse Plus +#testdeviceInfo=ch.ntb.inf.libusbJava.test.devices.MousePlus diff --git a/java/uml/StarUML.url b/uml/StarUML.url similarity index 96% rename from java/uml/StarUML.url rename to uml/StarUML.url index d3103e6..d91e41b 100644 --- a/java/uml/StarUML.url +++ b/uml/StarUML.url @@ -1,3 +1,3 @@ -[InternetShortcut] -URL=http://staruml.sourceforge.net/ -Modified=7081E8FF540DC70101 +[InternetShortcut] +URL=http://staruml.sourceforge.net/ +Modified=7081E8FF540DC70101 diff --git a/java/uml/ch.ntb.usb.jpg b/uml/ch.ntb.usb.jpg similarity index 100% rename from java/uml/ch.ntb.usb.jpg rename to uml/ch.ntb.usb.jpg diff --git a/java/uml/ch.ntb.usb.uml b/uml/ch.ntb.usb.uml similarity index 98% rename from java/uml/ch.ntb.usb.uml rename to uml/ch.ntb.usb.uml index 4f55368..1ccc9e8 100644 --- a/java/uml/ch.ntb.usb.uml +++ b/uml/ch.ntb.usb.uml @@ -1,2023 +1,2023 @@ - - - - - - -UMLStandard - - - - -Untitled -5 - -Use Case Model -UMLStandard -useCaseModel -FtDtfOwik0OVQfE6ZPIIGQAA -1 - -Main -hbd/RrRc9EeCFFOhgTtNRQAA - -JzSJSx+4SUGBjb1zXBl8cQAA - - - - -Analysis Model -UMLStandard -analysisModel -FtDtfOwik0OVQfE6ZPIIGQAA -1 - -Main -True -RobustnessDiagram -CNPw4gYWoEG9/GGPCspCSAAA - -0DEch0URP06Bhr3ctOKuJQAA - - - - -Design Model -UMLStandard -designModel -FtDtfOwik0OVQfE6ZPIIGQAA -1 - -Main -True -+VhQCvPWpkq9N+U+GjchOQAA - -jGVxNbYj00Chrjdm4wEWXAAA -32 - -clMaroon -$00B9FFFF -56 -56 -713 -501 -BWFMxN62oEGNP+kKcODiEgAA - - -ch.ntb.inf.libusbJava - - -False - - -False - - - - -clMaroon -$00B9FFFF -448 -216 -113 -53 -Y0tGKOGA/UquqP1qaYDayQAA - - -1 -LibusbJava - - -False - - -False - - - -Y0tGKOGA/UquqP1qaYDayQAA - - -Y0tGKOGA/UquqP1qaYDayQAA - - -False -Y0tGKOGA/UquqP1qaYDayQAA - - - -clMaroon -$00B9FFFF -596 -272 -136 -68 -Native class to access -the LibusbJava.dll which -is a wrapper to the -LibUsb-Win32 API. - - - -clMaroon -$00B9FFFF -560,264;596,278 -kFuXbRCvX0OxyJYGXAJ2NwAA -bj7RYkSMO0qIEP8jkhRPkgAA - - -clMaroon -$00B9FFFF -440 -108 -140 -59 -NDp8e0ch10ST3dwxWPam4AAA - - -1 -Device - - -False - - -False - - - -NDp8e0ch10ST3dwxWPam4AAA - - -NDp8e0ch10ST3dwxWPam4AAA - - -False -NDp8e0ch10ST3dwxWPam4AAA - - - -clMaroon -$00B9FFFF -508,166;505,216 -bHBJ2iMT1Emo3/z1QruACAAA -bj7RYkSMO0qIEP8jkhRPkgAA -2BBmOZlXy0elqrvf1Pfb0QAA - -False -1.5707963267949 -15 -bHBJ2iMT1Emo3/z1QruACAAA - - -False -1.5707963267949 -30 -bHBJ2iMT1Emo3/z1QruACAAA - - -False --1.5707963267949 -15 -bHBJ2iMT1Emo3/z1QruACAAA - - -False --0.523598775598299 -30 -epHead -gBDIpZT7JEe5yWqm5udjswAA - - -False -0.523598775598299 -30 -epTail -9KWfrYr7HUmfL2Kub4NWjQAA - - -False -0.523598775598299 -25 -epHead -gBDIpZT7JEe5yWqm5udjswAA - - -False --0.523598775598299 -25 -epTail -9KWfrYr7HUmfL2Kub4NWjQAA - - -False --0.785398163397448 -40 -epHead -gBDIpZT7JEe5yWqm5udjswAA - - -False -0.785398163397448 -40 -epTail -9KWfrYr7HUmfL2Kub4NWjQAA - - -False --1000 --1000 -50 -8 -gBDIpZT7JEe5yWqm5udjswAA - - -False --1000 --1000 -50 -8 -9KWfrYr7HUmfL2Kub4NWjQAA - - - -clMaroon -$00B9FFFF -352 -308 -80 -43 -fKheOe+4606Ei/JrIdvAnwAA - - -1 -Usb_Bus - - -False - - -False - - - -fKheOe+4606Ei/JrIdvAnwAA - - -fKheOe+4606Ei/JrIdvAnwAA - - -False -fKheOe+4606Ei/JrIdvAnwAA - - - -clMaroon -$00B9FFFF -213 -308 -80 -43 -CYy/2ClqUUO8tWkJYxc3EwAA - - -1 -Usb_Device - - -False - - -False - - - -CYy/2ClqUUO8tWkJYxc3EwAA - - -CYy/2ClqUUO8tWkJYxc3EwAA - - -False -CYy/2ClqUUO8tWkJYxc3EwAA - - - -clMaroon -$00B9FFFF -352,329;292,329 -rRumqTzUKUikwPtpVUuuxQAA -EmkgqCDDHEeVmq/pvU4k2gAA -aFv0LI7ePk6WALpiWziNnAAA - -False -1.5707963267949 -15 -rRumqTzUKUikwPtpVUuuxQAA - - -False -1.5707963267949 -30 -rRumqTzUKUikwPtpVUuuxQAA - - -False --1.5707963267949 -15 -rRumqTzUKUikwPtpVUuuxQAA - - -False --0.523598775598299 -30 -epHead -fPb+E6EWw0SS68JSU1n2PQAA - - -False -0.523598775598299 -30 -epTail -Ktquk70tXEeWxRy5mE3lRQAA - - -0.523598775598299 -25 -epHead -0..* -fPb+E6EWw0SS68JSU1n2PQAA - - -False --0.523598775598299 -25 -epTail -Ktquk70tXEeWxRy5mE3lRQAA - - -False --0.785398163397448 -40 -epHead -fPb+E6EWw0SS68JSU1n2PQAA - - -False -0.785398163397448 -40 -epTail -Ktquk70tXEeWxRy5mE3lRQAA - - -False --1000 --1000 -50 -8 -fPb+E6EWw0SS68JSU1n2PQAA - - -False --1000 --1000 -50 -8 -Ktquk70tXEeWxRy5mE3lRQAA - - - -clMaroon -$00B9FFFF -68 -308 -97 -43 -BhOtKDs6x0a1MSfBURjV3wAA - - -1 -Usb_Descriptor - - -False - - -False - - - -BhOtKDs6x0a1MSfBURjV3wAA - - -BhOtKDs6x0a1MSfBURjV3wAA - - -False -BhOtKDs6x0a1MSfBURjV3wAA - - - -clMaroon -$00B9FFFF -213,329;164,329 -iOkg8RoFXkawUPB8gsL6/QAA -+ip26EaWW06hVyLJe7YYXgAA -EmkgqCDDHEeVmq/pvU4k2gAA - -False -1.5707963267949 -15 -iOkg8RoFXkawUPB8gsL6/QAA - - -False -1.5707963267949 -30 -iOkg8RoFXkawUPB8gsL6/QAA - - -False --1.5707963267949 -15 -iOkg8RoFXkawUPB8gsL6/QAA - - -False --0.523598775598299 -30 -epHead -i+tjppNl/0SEXFu6g5HCzwAA - - -False -0.523598775598299 -30 -epTail -L09q640bS0+0SD6RlutglgAA - - -0.523598775598299 -25 -epHead -1 -i+tjppNl/0SEXFu6g5HCzwAA - - -False --0.523598775598299 -25 -epTail -L09q640bS0+0SD6RlutglgAA - - -False --0.785398163397448 -40 -epHead -i+tjppNl/0SEXFu6g5HCzwAA - - -False -0.785398163397448 -40 -epTail -L09q640bS0+0SD6RlutglgAA - - -False --1000 --1000 -50 -8 -i+tjppNl/0SEXFu6g5HCzwAA - - -False --1000 --1000 -50 -8 -L09q640bS0+0SD6RlutglgAA - - - -clMaroon -$00B9FFFF -64 -396 -139 -43 -WnjxeWRoQE+dRj+3+FKmAAAA - - -1 -Usb_Config_Descriptor - - -False - - -False - - - -WnjxeWRoQE+dRj+3+FKmAAAA - - -WnjxeWRoQE+dRj+3+FKmAAAA - - -False -WnjxeWRoQE+dRj+3+FKmAAAA - - - -clMaroon -$00B9FFFF -224,350;162,396 -hSAawvsHfkmM8rOCrDJNqwAA -V/iR3pEvp0+E4vtLxulBFwAA -EmkgqCDDHEeVmq/pvU4k2gAA - -False -1.5707963267949 -15 -hSAawvsHfkmM8rOCrDJNqwAA - - -False -1.5707963267949 -30 -hSAawvsHfkmM8rOCrDJNqwAA - - -False --1.5707963267949 -15 -hSAawvsHfkmM8rOCrDJNqwAA - - -False --0.523598775598299 -30 -epHead -eYy3sCm5cU2qevI2XvqfOQAA - - -False -0.523598775598299 -30 -epTail -bi54YUBBk0OKg2sVhfeXsgAA - - -0.523598775598299 -25 -epHead -1..* -eYy3sCm5cU2qevI2XvqfOQAA - - -False --0.523598775598299 -25 -epTail -bi54YUBBk0OKg2sVhfeXsgAA - - -False --0.785398163397448 -40 -epHead -eYy3sCm5cU2qevI2XvqfOQAA - - -False -0.785398163397448 -40 -epTail -bi54YUBBk0OKg2sVhfeXsgAA - - -False --1000 --1000 -50 -8 -eYy3sCm5cU2qevI2XvqfOQAA - - -False --1000 --1000 -50 -8 -bi54YUBBk0OKg2sVhfeXsgAA - - - -clMaroon -$00B9FFFF -288 -396 -91 -43 -s3tyNjh10EOlP9fTFKCHzgAA - - -1 -Usb_Interface - - -False - - -False - - - -s3tyNjh10EOlP9fTFKCHzgAA - - -s3tyNjh10EOlP9fTFKCHzgAA - - -False -s3tyNjh10EOlP9fTFKCHzgAA - - - -clMaroon -$00B9FFFF -202,417;288,417 -mH3MSoB9/UmX+ZKIsczTmQAA -9cvRIAusL0q/WdlYUOTN0QAA -V/iR3pEvp0+E4vtLxulBFwAA - -False -1.5707963267949 -15 -mH3MSoB9/UmX+ZKIsczTmQAA - - -False -1.5707963267949 -30 -mH3MSoB9/UmX+ZKIsczTmQAA - - -False --1.5707963267949 -15 -mH3MSoB9/UmX+ZKIsczTmQAA - - -False --0.523598775598299 -30 -epHead -g9gIEMzm106FV2WEfzg/cgAA - - -False -0.523598775598299 -30 -epTail -ss4cvrGCjkas7SCXWHrzGwAA - - -0.523598775598299 -25 -epHead -1..* -g9gIEMzm106FV2WEfzg/cgAA - - -False --0.523598775598299 -25 -epTail -ss4cvrGCjkas7SCXWHrzGwAA - - -False --0.785398163397448 -40 -epHead -g9gIEMzm106FV2WEfzg/cgAA - - -False -0.785398163397448 -40 -epTail -ss4cvrGCjkas7SCXWHrzGwAA - - -False --1000 --1000 -50 -8 -g9gIEMzm106FV2WEfzg/cgAA - - -False --1000 --1000 -50 -8 -ss4cvrGCjkas7SCXWHrzGwAA - - - -clMaroon -$00B9FFFF -64 -500 -157 -43 -1ZxdCeSlnke1mOXmwZo44gAA - - -1 -Usb_Interface_Descriptor - - -False - - -False - - - -1ZxdCeSlnke1mOXmwZo44gAA - - -1ZxdCeSlnke1mOXmwZo44gAA - - -False -1ZxdCeSlnke1mOXmwZo44gAA - - - -clMaroon -$00B9FFFF -294,438;180,500 -PzrlQ1JpekCs4WZeZXoxzAAA -SDQcLhaItkO2CR3ujsiVQgAA -9cvRIAusL0q/WdlYUOTN0QAA - -False -1.5707963267949 -15 -PzrlQ1JpekCs4WZeZXoxzAAA - - -False -1.5707963267949 -30 -PzrlQ1JpekCs4WZeZXoxzAAA - - -False --1.5707963267949 -15 -PzrlQ1JpekCs4WZeZXoxzAAA - - -False --0.523598775598299 -30 -epHead -4CMW55+u4U+8jmDGtiId6QAA - - -False -0.523598775598299 -30 -epTail -tSa9Dc6pX06DqFwtod8w3wAA - - -0.523598775598299 -25 -epHead -1..* -4CMW55+u4U+8jmDGtiId6QAA - - -False --0.523598775598299 -25 -epTail -tSa9Dc6pX06DqFwtod8w3wAA - - -False --0.785398163397448 -40 -epHead -4CMW55+u4U+8jmDGtiId6QAA - - -False -0.785398163397448 -40 -epTail -tSa9Dc6pX06DqFwtod8w3wAA - - -False --1000 --1000 -50 -8 -4CMW55+u4U+8jmDGtiId6QAA - - -False --1000 --1000 -50 -8 -tSa9Dc6pX06DqFwtod8w3wAA - - - -clMaroon -$00B9FFFF -296 -500 -153 -43 -r8we3ZgdtE+PkC4ethr1xgAA - - -1 -Usb_Endpoint_Descriptor - - -False - - -False - - - -r8we3ZgdtE+PkC4ethr1xgAA - - -r8we3ZgdtE+PkC4ethr1xgAA - - -False -r8we3ZgdtE+PkC4ethr1xgAA - - - -clMaroon -$00B9FFFF -220,521;296,521 -zcRjiWnEb0igPnnJ6hWtBAAA -G7uniSci8UWnqaXbrSHwxQAA -SDQcLhaItkO2CR3ujsiVQgAA - -False -1.5707963267949 -15 -zcRjiWnEb0igPnnJ6hWtBAAA - - -False -1.5707963267949 -30 -zcRjiWnEb0igPnnJ6hWtBAAA - - -False --1.5707963267949 -15 -zcRjiWnEb0igPnnJ6hWtBAAA - - -False --0.523598775598299 -30 -epHead -otEuPscjc0GzY5FZ4edKDQAA - - -False -0.523598775598299 -30 -epTail -Y0+EzvEeiUOOez0CtW5HcQAA - - -0.523598775598299 -25 -epHead -1..* -otEuPscjc0GzY5FZ4edKDQAA - - -False --0.523598775598299 -25 -epTail -Y0+EzvEeiUOOez0CtW5HcQAA - - -False --0.785398163397448 -40 -epHead -otEuPscjc0GzY5FZ4edKDQAA - - -False -0.785398163397448 -40 -epTail -Y0+EzvEeiUOOez0CtW5HcQAA - - -False --1000 --1000 -50 -8 -otEuPscjc0GzY5FZ4edKDQAA - - -False --1000 --1000 -50 -8 -Y0+EzvEeiUOOez0CtW5HcQAA - - - -clMaroon -$00B9FFFF -80 -112 -253 -56 -uDTqegf/MkeBHojXFEOLGwAA - - -1 -USB - - -False - - -False - - - -uDTqegf/MkeBHojXFEOLGwAA - - -uDTqegf/MkeBHojXFEOLGwAA - - -False -uDTqegf/MkeBHojXFEOLGwAA - - - -clMaroon -$00B9FFFF -24 -200 -129 -57 -A device factory which -creates and manages -all device instances. - - - -clMaroon -$00B9FFFF -125,200;169,167 -6dw/hbnfL0KObRrJlTOaOAAA -QgnPJMfYfkKI63CxIbKrUQAA - - -clMaroon -$00B9FFFF -470,268;418,308 -CUdyl1aeZ0+5m6T7YR+ScwAA -aFv0LI7ePk6WALpiWziNnAAA -bj7RYkSMO0qIEP8jkhRPkgAA - -False -1.5707963267949 -15 -CUdyl1aeZ0+5m6T7YR+ScwAA - - -False -1.5707963267949 -30 -CUdyl1aeZ0+5m6T7YR+ScwAA - - -False --1.5707963267949 -15 -CUdyl1aeZ0+5m6T7YR+ScwAA - - -False --0.523598775598299 -30 -epHead -eMLC5J+HEUOU0BNl4xEgOQAA - - -False -0.523598775598299 -30 -epTail -yd1VA+Osg0auP1WmaHV/pAAA - - -0.523598775598299 -25 -epHead -1 -eMLC5J+HEUOU0BNl4xEgOQAA - - -False --0.523598775598299 -25 -epTail -yd1VA+Osg0auP1WmaHV/pAAA - - -False --0.785398163397448 -40 -epHead -eMLC5J+HEUOU0BNl4xEgOQAA - - -False -0.785398163397448 -40 -epTail -yd1VA+Osg0auP1WmaHV/pAAA - - -False --1000 --1000 -50 -8 -eMLC5J+HEUOU0BNl4xEgOQAA - - -False --1000 --1000 -50 -8 -yd1VA+Osg0auP1WmaHV/pAAA - - - -clMaroon -$00B9FFFF -448 -364 -86 -41 -Linked List of -type Usb_Bus - - - -clMaroon -$00B9FFFF -454,364;429,350 -aFv0LI7ePk6WALpiWziNnAAA -rLlcF+A5KkiU7WAvQnrBbgAA - - -clMaroon -$00B9FFFF -228 -244 -101 -41 -Linked List of -type Usb_Device - - - -clMaroon -$00B9FFFF -260,308;270,284 -Pv0Pt3qkZkmPtYeARmmwEAAA -EmkgqCDDHEeVmq/pvU4k2gAA - - -clMaroon -$00B9FFFF -332,138;440,137 -E/QwNfFGUEiitlqp99S36AAA -2BBmOZlXy0elqrvf1Pfb0QAA -6dw/hbnfL0KObRrJlTOaOAAA - -False -1.5707963267949 -15 -E/QwNfFGUEiitlqp99S36AAA - - -False -0.977411820724642 -48.0416485978573 -E/QwNfFGUEiitlqp99S36AAA - - -False --1.5707963267949 -15 -E/QwNfFGUEiitlqp99S36AAA - - -False --0.523598775598299 -30 -epHead -tXktVESMQUOZFggmJCAGDAAA - - -False -0.523598775598299 -30 -epTail -ym/t3t4KOkinRJAqyF+HwQAA - - -0.523598775598299 -25 -epHead -0..* -tXktVESMQUOZFggmJCAGDAAA - - -False --0.523598775598299 -25 -epTail -ym/t3t4KOkinRJAqyF+HwQAA - - -False --0.785398163397448 -40 -epHead -tXktVESMQUOZFggmJCAGDAAA - - -False -0.785398163397448 -40 -epTail -ym/t3t4KOkinRJAqyF+HwQAA - - -False --1000 --1000 -50 -8 -tXktVESMQUOZFggmJCAGDAAA - - -False --1000 --1000 -50 -8 -ym/t3t4KOkinRJAqyF+HwQAA - - - -clMaroon -$00B9FFFF -656 -92 -89 -56 -p/wk8BA7x0OTRXXHy0OJmgAA - - -1 -USBException - - -<<exception>> - - -False - - - -p/wk8BA7x0OTRXXHy0OJmgAA - - -p/wk8BA7x0OTRXXHy0OJmgAA - - - -clMaroon -$00B9FFFF -628 -168 -134 -56 -nCivixeClUeJ/8WDflvLoAAA - - -1 -USBTimeoutException - - -<<exception>> - - -False - - - -nCivixeClUeJ/8WDflvLoAAA - - -nCivixeClUeJ/8WDflvLoAAA - - - -clMaroon -$00B9FFFF -579,130;656,123 -3Xd7YkTVeUijpP0dxF3K9wAA -1cUBYeKUdUuMBdS17locfgAA -2BBmOZlXy0elqrvf1Pfb0QAA - -False -1.5707963267949 -15 -3Xd7YkTVeUijpP0dxF3K9wAA - - -False -1.5707963267949 -30 -3Xd7YkTVeUijpP0dxF3K9wAA - - -False --1.5707963267949 -15 -3Xd7YkTVeUijpP0dxF3K9wAA - - -False --0.523598775598299 -30 -epHead -PCKabEdsC0+42T+WCC0J+gAA - - -False -0.523598775598299 -30 -epTail -RwLaC/BiAE+6PNyQNM7DRwAA - - -False -0.523598775598299 -25 -epHead -PCKabEdsC0+42T+WCC0J+gAA - - -False --0.523598775598299 -25 -epTail -RwLaC/BiAE+6PNyQNM7DRwAA - - -False --0.785398163397448 -40 -epHead -PCKabEdsC0+42T+WCC0J+gAA - - -False -0.785398163397448 -40 -epTail -RwLaC/BiAE+6PNyQNM7DRwAA - - -False --1000 --1000 -50 -8 -PCKabEdsC0+42T+WCC0J+gAA - - -False --1000 --1000 -50 -8 -RwLaC/BiAE+6PNyQNM7DRwAA - - - -clMaroon -$00B9FFFF -579,159;628,174 -juy2GOZNhkq5f7cp9rQyWQAA -m44pRtEbJU63JQyFoCCxtAAA -2BBmOZlXy0elqrvf1Pfb0QAA - -False -1.5707963267949 -15 -juy2GOZNhkq5f7cp9rQyWQAA - - -False -1.5707963267949 -30 -juy2GOZNhkq5f7cp9rQyWQAA - - -False --1.5707963267949 -15 -juy2GOZNhkq5f7cp9rQyWQAA - - -False --0.523598775598299 -30 -epHead -cJakFa0mdEChcxEhYeDaKwAA - - -False -0.523598775598299 -30 -epTail -RJcA8VyDe0K2sWOwSOHLiwAA - - -False -0.523598775598299 -25 -epHead -cJakFa0mdEChcxEhYeDaKwAA - - -False --0.523598775598299 -25 -epTail -RJcA8VyDe0K2sWOwSOHLiwAA - - -False --0.785398163397448 -40 -epHead -cJakFa0mdEChcxEhYeDaKwAA - - -False -0.785398163397448 -40 -epTail -RJcA8VyDe0K2sWOwSOHLiwAA - - -False --1000 --1000 -50 -8 -cJakFa0mdEChcxEhYeDaKwAA - - -False --1000 --1000 -50 -8 -RJcA8VyDe0K2sWOwSOHLiwAA - - - - -16 - -ch.ntb.inf.libusbJava -+VhQCvPWpkq9N+U+GjchOQAA -1 -3aqcGmdQBU2yR8XWwbH6wgAA -10 - -LibusbJava -BWFMxN62oEGNP+kKcODiEgAA -4 -bj7RYkSMO0qIEP8jkhRPkgAA -pYdCcwUS1kuxFBcQBuXWhwAA -B8g6dO1SPUKmK3vZse8ykwAA -uhBTnkByp0aEHfbKvbAIRgAA -2 -gBDIpZT7JEe5yWqm5udjswAA -yd1VA+Osg0auP1WmaHV/pAAA - - -Device -BWFMxN62oEGNP+kKcODiEgAA -4 -2BBmOZlXy0elqrvf1Pfb0QAA -vtJgj9fKHUOv3MF6LiZuaQAA -hWPO+G2l6UamJ9XP1xsU6gAA -4gcdaLKmOESleWMoU/ITdgAA -2 - -USBException -NDp8e0ch10ST3dwxWPam4AAA -3 -1cUBYeKUdUuMBdS17locfgAA -xvrkkvaXsEyKlXkeArvn6gAA -9XjxPvkTzUW160zoJoXJIgAA -2 -jAq2OWym/0CBShdxKGVvTgAA -PCKabEdsC0+42T+WCC0J+gAA - - -USBTimeoutException -NDp8e0ch10ST3dwxWPam4AAA -3 -m44pRtEbJU63JQyFoCCxtAAA -8ptu2+IQEkiODfeNkzBbIAAA -NCd0z6hUJUKirt04Te6MmAAA -2 -jB8ocTwTXEuDjkXR5KY03QAA -cJakFa0mdEChcxEhYeDaKwAA - -1 -S86PfEMMVEitYamqNGrOKgAA -6 -9KWfrYr7HUmfL2Kub4NWjQAA -tXktVESMQUOZFggmJCAGDAAA -gnNEskLBlEGy68pKD58J3gAA -gMOdBarVEUi69aAllgtqSAAA -RwLaC/BiAE+6PNyQNM7DRwAA -RJcA8VyDe0K2sWOwSOHLiwAA - - -Usb_Bus -BWFMxN62oEGNP+kKcODiEgAA -4 -aFv0LI7ePk6WALpiWziNnAAA -4mnVev5sO06YjJQcHwAzNAAA -ApB+Ycn4QkCd4JiwYWOuogAA -BoqVLNosikui7Gvm79DqwAAA -4 -Ktquk70tXEeWxRy5mE3lRQAA -BM39AT1FtkCD5DXdvFUWGwAA -eMLC5J+HEUOU0BNl4xEgOQAA -zVVM8HoZZ0K4SLvruROwSQAA - - -Usb_Device -BWFMxN62oEGNP+kKcODiEgAA -4 -EmkgqCDDHEeVmq/pvU4k2gAA -PTdUVfhJcUasUJqV7DrnzwAA -BrLi1ywnW0yy33ZKZYFfAQAA -mAD2mqiGJUmcDDGj80NyFwAA -4 -fPb+E6EWw0SS68JSU1n2PQAA -QkO09pUTaUqUag/gnTQhMAAA -L09q640bS0+0SD6RlutglgAA -bi54YUBBk0OKg2sVhfeXsgAA - - -Usb_Descriptor -BWFMxN62oEGNP+kKcODiEgAA -4 -+ip26EaWW06hVyLJe7YYXgAA -HHzH4uen30eMjBMjRst2mgAA -mqiCxho4tUOAdpt4/UzG1AAA -k95O6pb/JUut+HXhcujAvQAA -1 -i+tjppNl/0SEXFu6g5HCzwAA - - -Usb_Config_Descriptor -BWFMxN62oEGNP+kKcODiEgAA -4 -V/iR3pEvp0+E4vtLxulBFwAA -rC/MaZnjZkmCGY1tqVmdDQAA -bP5ruvrDjkuOZy0aWHw5qAAA -Tp/ZRDMhiEiRwOJ8Dte+6AAA -2 -eYy3sCm5cU2qevI2XvqfOQAA -ss4cvrGCjkas7SCXWHrzGwAA - - -Usb_Interface -BWFMxN62oEGNP+kKcODiEgAA -4 -9cvRIAusL0q/WdlYUOTN0QAA -mHOFyGNhZ02On/3bYclCQgAA -S8sNFKpNX0CfvJz4xM2R8QAA -ZR4POMzRtkii7O0qcFXeagAA -2 -g9gIEMzm106FV2WEfzg/cgAA -tSa9Dc6pX06DqFwtod8w3wAA - - -Usb_Interface_Descriptor -BWFMxN62oEGNP+kKcODiEgAA -4 -SDQcLhaItkO2CR3ujsiVQgAA -niJtEkEAIE27g/VJLGKCeQAA -tEi8ncuIh0akDZbNdI0BXAAA -f6iRLfdj90KPJZTvam9xcgAA -2 -4CMW55+u4U+8jmDGtiId6QAA -Y0+EzvEeiUOOez0CtW5HcQAA - - -Usb_Endpoint_Descriptor -BWFMxN62oEGNP+kKcODiEgAA -4 -G7uniSci8UWnqaXbrSHwxQAA -oOH1WDfw5E+CPfQCtwl3lwAA -zVJ7FeURsUqHB/7bijkGSgAA -8xSZnRanKUS7ttTDyMY3XQAA -1 -otEuPscjc0GzY5FZ4edKDQAA - - -USB -BWFMxN62oEGNP+kKcODiEgAA -4 -6dw/hbnfL0KObRrJlTOaOAAA -9NxPBd7BGEmMZajXGsdmCgAA -ReCrM4NymEe6kNr17N/fLwAA -oUsxZCkyqU+EFKmB53hfIQAA -1 - -getDevice -uDTqegf/MkeBHojXFEOLGwAA -3 - -idVendor -int -4R8Nv262EEqwj5BpzEwnFAAA - - -idProduct -int -4R8Nv262EEqwj5BpzEwnFAAA - - -return -pdkReturn -Device -4R8Nv262EEqwj5BpzEwnFAAA -NDp8e0ch10ST3dwxWPam4AAA - - -1 -ym/t3t4KOkinRJAqyF+HwQAA - -1 -mUO4OyL7Z0inPl8NM4gOKQAA - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -K1jbk7tvDECb113o54KaCgAA -ewuWWER98U2X1/Gyqau2iQAA -ydzgGYT1JUqGBbRngdAkOwAA -kRDUUGf7YkG4X7f5D7Tu5QAA -2 - -False -bHBJ2iMT1Emo3/z1QruACAAA -NDp8e0ch10ST3dwxWPam4AAA -4 -HnV1GDlOlUiEzDCgg3OVnwAA -3vJXTt9Ud0+cklGb7VirjwAA -T54kLOtp70+07rCDysRoRgAA -ZmEyokBAfUuimbUqLhInLAAA - - -bHBJ2iMT1Emo3/z1QruACAAA -Y0tGKOGA/UquqP1qaYDayQAA -4 -nP4i5P/O2UWgSJEnuXrNGAAA -NbkMFiV5UUyU8V6ZyNh/ggAA -qnQYuly9P0ePfBPLyOhoUgAA -KiPq8wTTI02Bz5cifJGqSAAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -N+DG+sDQsU+dEVL0AtioTgAA -h4biD7IVaE2ULotQ37wNTAAA -juYsWZ7nVUuYfA9bXvsoRQAA -gVKvw0NHaUCC8LoVjlxEaQAA -2 - -False -rRumqTzUKUikwPtpVUuuxQAA -fKheOe+4606Ei/JrIdvAnwAA -4 -OYIH3ymdpUit+s9rXvgX4QAA -2cgp4vLw00iUpTcWm5nXagAA -tGs9/SOEbkuqTf609sd2uQAA -wlFJ5gxqB0W1JznjbhR82wAA - - -0..* -rRumqTzUKUikwPtpVUuuxQAA -CYy/2ClqUUO8tWkJYxc3EwAA -4 -tvTF0QXyTkOU+lco6nawpAAA -OlG/OTSXdkeeQhih0vfj2gAA -E2JhEcUXZkeaMU/vi7BgQwAA -Pgiug9F5sEm6RGjxSJwN0QAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -2 - -False -N1GWtLD2hke4QpWNj3VbPQAA -CYy/2ClqUUO8tWkJYxc3EwAA - - -1 -N1GWtLD2hke4QpWNj3VbPQAA -fKheOe+4606Ei/JrIdvAnwAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -tgaMJ8+zg0Sn4iEmoOIchwAA -rgg15Kcdr0mVUlnlnH9jIgAA -keuOun+wjE+QghwhaUSp7QAA -LDA6nTIXBkWsIuU2zIrtiAAA -2 - -False -iOkg8RoFXkawUPB8gsL6/QAA -CYy/2ClqUUO8tWkJYxc3EwAA -4 -VnH93Y/7IkaJYl+DPinjmwAA -J87I73G/nkuAKdCKS1ov3AAA -gX2CUgfdCki+IWGLlwLwBgAA -8AgdepV+YECTfuxJBIqCCwAA - - -1 -iOkg8RoFXkawUPB8gsL6/QAA -BhOtKDs6x0a1MSfBURjV3wAA -4 -1qxaXx2+hEq1Na+Bk3itGQAA -FePC/A0aMEGuAW8YyMNUfQAA -jbg1/Hojq0CDpZmGOngZ8gAA -XyLeWJl15kSVqLBfioHjpwAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -BkeBTT1wlUu9nQU0NNTXFAAA -Tj/mtG0ojUeUZaROPDr/HAAA -0MVCo5fIBUSXtmRyYABJcQAA -UVrEAk/Wbk2olhkdMQkz9wAA -2 - -False -hSAawvsHfkmM8rOCrDJNqwAA -CYy/2ClqUUO8tWkJYxc3EwAA -4 -uBprnnKYk0qBu9UZ9bv+5wAA -uUm65cZr+USoFHmg+9GOTAAA -21oCmtYmTk6I99TNGY+WmQAA -CEBGmwNSDE+W0wJ/aQr5ogAA - - -1..* -hSAawvsHfkmM8rOCrDJNqwAA -WnjxeWRoQE+dRj+3+FKmAAAA -4 -q/Tjz7MsSkCzN45MnaE+ygAA -Ct5Onzw2LES6ewhEa/3NWQAA -9Z0KUb7BbUO7F3MYIOiSrQAA -cY/H4Djf5kicM3tDZOwWkAAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -u2OPyc/1n0+QIGTThiMa3AAA -KLVJzL8T0EW4b4yH0XzDkgAA -OMzpA/ZwnEujuwqWpMDwIwAA -ed2kVo8InU6lewfrLcWA0wAA -2 - -False -mH3MSoB9/UmX+ZKIsczTmQAA -WnjxeWRoQE+dRj+3+FKmAAAA -4 -ElMIvqx9s0qrTOxejhsaSQAA -/avxLTDZe0qmoKyO79Gi7AAA -tjnuHlEOBk2grTlQ+kPGnQAA -oS91czwGhEKtYBANVGPPnwAA - - -1..* -mH3MSoB9/UmX+ZKIsczTmQAA -s3tyNjh10EOlP9fTFKCHzgAA -4 -YlWEGJVu1Eu9BEa5L9YqyQAA -upJz60gOiE2Y6jwQzzUoqQAA -PpS7OEegzUeBhCrBHXgkwAAA -XVazEpRSqkyH0zMCJgEnBAAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -h/CUffjgwUqCUDakMMJ7QQAA -ZnaPkKZFCEaRFYlVBh84uAAA -O1VlBtzO0EaAsu2MtMnYhQAA -S22NfH+9rUCXuvo2rsAWDgAA -2 - -False -PzrlQ1JpekCs4WZeZXoxzAAA -s3tyNjh10EOlP9fTFKCHzgAA -4 -lo8h2SqcoUeOOUPAe0EjdAAA -mv0gaJr3SUeuVY1xo1FdowAA -VQ4ysUxS306j02ouNykrpwAA -+GMHnNNOiEW2P4PaNnKcsgAA - - -1..* -PzrlQ1JpekCs4WZeZXoxzAAA -1ZxdCeSlnke1mOXmwZo44gAA -4 -/cDNFyyj1kKTrWJ1HeW7jwAA -T7Yrg8efIE2hhid6kOwp/AAA -eq+vp2GL9Ey4am7PZZZvYwAA -HB0H112qzU65avMG65s6+AAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -Qa9DlhrWuEyzlqeeW42vigAA -OOu7JCeVT06/I9zcCYxoMgAA -eXZQmjjOb0mgLqiKIEgNjgAA -Z54IgvzlG0+i0eC61Nul2QAA -2 - -False -zcRjiWnEb0igPnnJ6hWtBAAA -1ZxdCeSlnke1mOXmwZo44gAA -4 -Wf6tv7bE1kq7mrxCiOa+SQAA -3TeYQ+z3sUaWb3mqCq5ZswAA -e6lrE15aj0SZAg2c/y97hgAA -B4mF3KmBkEmmqPeQhru4awAA - - -1..* -zcRjiWnEb0igPnnJ6hWtBAAA -r8we3ZgdtE+PkC4ethr1xgAA -4 -lhChbObcCU2CcZDalktiVQAA -eX+Li7xw8Eu7Q+WVQJ7NWgAA -QIJa01TJ8UWewFDbze7RZwAA -z9YWV6a+CkmXxyniylWBegAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -3d03ZiQMEUyp/GDpSGjNdQAA -EnqlEABzrEyr7NnE3rXmXAAA -v5SF4iq4U0idtpnG9Es3XAAA -vmgfHAqH1kK8d0+ACOZ3LgAA -2 - -False -CUdyl1aeZ0+5m6T7YR+ScwAA -Y0tGKOGA/UquqP1qaYDayQAA -4 -cJO2BE8tMk6Vdt7DH7oXUgAA -ztnLte7rf0CX37ncwAxYbgAA -mEJVUc0onE+FHNS1qwcDygAA -dg0oZAkRp02LqrBKRlJGygAA - - -1 -CUdyl1aeZ0+5m6T7YR+ScwAA -fKheOe+4606Ei/JrIdvAnwAA -4 -ACS3R0vnCkiCG7/+fEq01gAA -6bLwfBAaDE6zqua+j7Jf+wAA -PvH2F0s2CU+u9nUzCb6FmwAA -+s+HLixVdk+3Jjh1dYo5NgAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -2 - -False -sq2Gf22XcUO8hotO+r/6swAA -fKheOe+4606Ei/JrIdvAnwAA - - -sq2Gf22XcUO8hotO+r/6swAA -BWFMxN62oEGNP+kKcODiEgAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -15TrBVceQkG56FTsqMwcxgAA -3Fgd7pnAA0+KRKisyFBaqwAA -hxuj8u8Y2EK8qsnGTaBOzQAA -znFoObTUEUOch9SPd7VBJAAA -2 - -False -E/QwNfFGUEiitlqp99S36AAA -uDTqegf/MkeBHojXFEOLGwAA -4 -k9T1VNzEo0ufuAB6TN2QRwAA -oiCIMGX8ik6YjhRQQxB8OQAA -Tu5aL5lgO0ut/RTBGjiKqAAA -iDNEYw6KL0uVCCKPtWa8bwAA - - -0..* -E/QwNfFGUEiitlqp99S36AAA -NDp8e0ch10ST3dwxWPam4AAA -4 -4Vg7xm7w902Ov8oTfg9PSAAA -DWRmEP/U1kOcrZnzyvRnXQAA -FngPhombp0y5VL3elyPMMgAA -ETXPzMurVEmlbvocuDXtVwAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -2 - -V1q5qLSIxEidFrrPCOFqIgAA -NDp8e0ch10ST3dwxWPam4AAA - - -V1q5qLSIxEidFrrPCOFqIgAA -p/wk8BA7x0OTRXXHy0OJmgAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -2 - -7Niy2MZhPUynlh2A2zVkEQAA -NDp8e0ch10ST3dwxWPam4AAA - - -7Niy2MZhPUynlh2A2zVkEQAA -nCivixeClUeJ/8WDflvLoAAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -Rk0gcRI5ikapDGR7M2bn5AAA -HXSRZ0W7C02e+CDSTe+vQgAA -39P+Jod7A0SpXNClHK/bIwAA -FOp7UHIFjUmRJarTRH6h3AAA -2 - -False -3Xd7YkTVeUijpP0dxF3K9wAA -NDp8e0ch10ST3dwxWPam4AAA -4 -IIOw3R07h0mYIbxgQNAvlgAA -6DAAoxE3gE6btQ3QR6zXSAAA -Ilbnf/apgU2JUqlCax0E0AAA -GWJjJWM040mgOfcnzTwGqgAA - - -3Xd7YkTVeUijpP0dxF3K9wAA -p/wk8BA7x0OTRXXHy0OJmgAA -4 -Mf6lj8hCekmAt8LSuv0gPQAA -roosZQXLT0uL9JG9OjvfIQAA -gZyJB5c8j0qqNEv58A7qkQAA -jGiYNVwhsUqy+u4GsecJkwAA - - - -+VhQCvPWpkq9N+U+GjchOQAA -4 -Mp4OVq4lq0Ot63a04V2k0AAA -gef03vYxbUeRLVhwDqSRtwAA -vk1lNcjPWk2tPqsfZgpaNgAA -1F1Ggg3l7kq2YUNbccrRzAAA -2 - -False -juy2GOZNhkq5f7cp9rQyWQAA -NDp8e0ch10ST3dwxWPam4AAA -4 -zO1s01kJIE6XkTjlSB6aywAA -W9sijr2Fr02bK6wbKT19/wAA -UxK4awc9BUaq32wB9ulIlQAA -62JK0r9fykSMDnmw3ZuktgAA - - -juy2GOZNhkq5f7cp9rQyWQAA -nCivixeClUeJ/8WDflvLoAAA -4 -NlVzv49r5EKp3NXgP9SJUgAA -2Q3xA4DACkm0S1EmjZ54IwAA -S2waQNcxi0SMzX3GtK14MwAA -hN0Adta+JUWLfSVgHKKVEgAA - - - - -Implementation Model -UMLStandard -implementationModel -FtDtfOwik0OVQfE6ZPIIGQAA -1 - -Main -RoG5Bh+N8kiY/NeIyRBD4wAA - -NN8Cz7nUpkWUBrC4fP0hnwAA - - - - -Deployment Model -UMLStandard -deploymentModel -FtDtfOwik0OVQfE6ZPIIGQAA -1 - -Main -xUneQ8+pSE+Bo7LqxpLuhQAA - -SXfsx2mnwUOegNnzMTcg/gAA - - - - - - + + + + + + +UMLStandard + + + + +Untitled +5 + +Use Case Model +UMLStandard +useCaseModel +FtDtfOwik0OVQfE6ZPIIGQAA +1 + +Main +hbd/RrRc9EeCFFOhgTtNRQAA + +JzSJSx+4SUGBjb1zXBl8cQAA + + + + +Analysis Model +UMLStandard +analysisModel +FtDtfOwik0OVQfE6ZPIIGQAA +1 + +Main +True +RobustnessDiagram +CNPw4gYWoEG9/GGPCspCSAAA + +0DEch0URP06Bhr3ctOKuJQAA + + + + +Design Model +UMLStandard +designModel +FtDtfOwik0OVQfE6ZPIIGQAA +1 + +Main +True ++VhQCvPWpkq9N+U+GjchOQAA + +jGVxNbYj00Chrjdm4wEWXAAA +32 + +clMaroon +$00B9FFFF +56 +56 +713 +501 +BWFMxN62oEGNP+kKcODiEgAA + + +ch.ntb.inf.libusbJava + + +False + + +False + + + + +clMaroon +$00B9FFFF +448 +216 +113 +53 +Y0tGKOGA/UquqP1qaYDayQAA + + +1 +LibusbJava + + +False + + +False + + + +Y0tGKOGA/UquqP1qaYDayQAA + + +Y0tGKOGA/UquqP1qaYDayQAA + + +False +Y0tGKOGA/UquqP1qaYDayQAA + + + +clMaroon +$00B9FFFF +596 +272 +136 +68 +Native class to access +the LibusbJava.dll which +is a wrapper to the +LibUsb-Win32 API. + + + +clMaroon +$00B9FFFF +560,264;596,278 +kFuXbRCvX0OxyJYGXAJ2NwAA +bj7RYkSMO0qIEP8jkhRPkgAA + + +clMaroon +$00B9FFFF +440 +108 +140 +59 +NDp8e0ch10ST3dwxWPam4AAA + + +1 +Device + + +False + + +False + + + +NDp8e0ch10ST3dwxWPam4AAA + + +NDp8e0ch10ST3dwxWPam4AAA + + +False +NDp8e0ch10ST3dwxWPam4AAA + + + +clMaroon +$00B9FFFF +508,166;505,216 +bHBJ2iMT1Emo3/z1QruACAAA +bj7RYkSMO0qIEP8jkhRPkgAA +2BBmOZlXy0elqrvf1Pfb0QAA + +False +1.5707963267949 +15 +bHBJ2iMT1Emo3/z1QruACAAA + + +False +1.5707963267949 +30 +bHBJ2iMT1Emo3/z1QruACAAA + + +False +-1.5707963267949 +15 +bHBJ2iMT1Emo3/z1QruACAAA + + +False +-0.523598775598299 +30 +epHead +gBDIpZT7JEe5yWqm5udjswAA + + +False +0.523598775598299 +30 +epTail +9KWfrYr7HUmfL2Kub4NWjQAA + + +False +0.523598775598299 +25 +epHead +gBDIpZT7JEe5yWqm5udjswAA + + +False +-0.523598775598299 +25 +epTail +9KWfrYr7HUmfL2Kub4NWjQAA + + +False +-0.785398163397448 +40 +epHead +gBDIpZT7JEe5yWqm5udjswAA + + +False +0.785398163397448 +40 +epTail +9KWfrYr7HUmfL2Kub4NWjQAA + + +False +-1000 +-1000 +50 +8 +gBDIpZT7JEe5yWqm5udjswAA + + +False +-1000 +-1000 +50 +8 +9KWfrYr7HUmfL2Kub4NWjQAA + + + +clMaroon +$00B9FFFF +352 +308 +80 +43 +fKheOe+4606Ei/JrIdvAnwAA + + +1 +Usb_Bus + + +False + + +False + + + +fKheOe+4606Ei/JrIdvAnwAA + + +fKheOe+4606Ei/JrIdvAnwAA + + +False +fKheOe+4606Ei/JrIdvAnwAA + + + +clMaroon +$00B9FFFF +213 +308 +80 +43 +CYy/2ClqUUO8tWkJYxc3EwAA + + +1 +Usb_Device + + +False + + +False + + + +CYy/2ClqUUO8tWkJYxc3EwAA + + +CYy/2ClqUUO8tWkJYxc3EwAA + + +False +CYy/2ClqUUO8tWkJYxc3EwAA + + + +clMaroon +$00B9FFFF +352,329;292,329 +rRumqTzUKUikwPtpVUuuxQAA +EmkgqCDDHEeVmq/pvU4k2gAA +aFv0LI7ePk6WALpiWziNnAAA + +False +1.5707963267949 +15 +rRumqTzUKUikwPtpVUuuxQAA + + +False +1.5707963267949 +30 +rRumqTzUKUikwPtpVUuuxQAA + + +False +-1.5707963267949 +15 +rRumqTzUKUikwPtpVUuuxQAA + + +False +-0.523598775598299 +30 +epHead +fPb+E6EWw0SS68JSU1n2PQAA + + +False +0.523598775598299 +30 +epTail +Ktquk70tXEeWxRy5mE3lRQAA + + +0.523598775598299 +25 +epHead +0..* +fPb+E6EWw0SS68JSU1n2PQAA + + +False +-0.523598775598299 +25 +epTail +Ktquk70tXEeWxRy5mE3lRQAA + + +False +-0.785398163397448 +40 +epHead +fPb+E6EWw0SS68JSU1n2PQAA + + +False +0.785398163397448 +40 +epTail +Ktquk70tXEeWxRy5mE3lRQAA + + +False +-1000 +-1000 +50 +8 +fPb+E6EWw0SS68JSU1n2PQAA + + +False +-1000 +-1000 +50 +8 +Ktquk70tXEeWxRy5mE3lRQAA + + + +clMaroon +$00B9FFFF +68 +308 +97 +43 +BhOtKDs6x0a1MSfBURjV3wAA + + +1 +Usb_Descriptor + + +False + + +False + + + +BhOtKDs6x0a1MSfBURjV3wAA + + +BhOtKDs6x0a1MSfBURjV3wAA + + +False +BhOtKDs6x0a1MSfBURjV3wAA + + + +clMaroon +$00B9FFFF +213,329;164,329 +iOkg8RoFXkawUPB8gsL6/QAA ++ip26EaWW06hVyLJe7YYXgAA +EmkgqCDDHEeVmq/pvU4k2gAA + +False +1.5707963267949 +15 +iOkg8RoFXkawUPB8gsL6/QAA + + +False +1.5707963267949 +30 +iOkg8RoFXkawUPB8gsL6/QAA + + +False +-1.5707963267949 +15 +iOkg8RoFXkawUPB8gsL6/QAA + + +False +-0.523598775598299 +30 +epHead +i+tjppNl/0SEXFu6g5HCzwAA + + +False +0.523598775598299 +30 +epTail +L09q640bS0+0SD6RlutglgAA + + +0.523598775598299 +25 +epHead +1 +i+tjppNl/0SEXFu6g5HCzwAA + + +False +-0.523598775598299 +25 +epTail +L09q640bS0+0SD6RlutglgAA + + +False +-0.785398163397448 +40 +epHead +i+tjppNl/0SEXFu6g5HCzwAA + + +False +0.785398163397448 +40 +epTail +L09q640bS0+0SD6RlutglgAA + + +False +-1000 +-1000 +50 +8 +i+tjppNl/0SEXFu6g5HCzwAA + + +False +-1000 +-1000 +50 +8 +L09q640bS0+0SD6RlutglgAA + + + +clMaroon +$00B9FFFF +64 +396 +139 +43 +WnjxeWRoQE+dRj+3+FKmAAAA + + +1 +Usb_Config_Descriptor + + +False + + +False + + + +WnjxeWRoQE+dRj+3+FKmAAAA + + +WnjxeWRoQE+dRj+3+FKmAAAA + + +False +WnjxeWRoQE+dRj+3+FKmAAAA + + + +clMaroon +$00B9FFFF +224,350;162,396 +hSAawvsHfkmM8rOCrDJNqwAA +V/iR3pEvp0+E4vtLxulBFwAA +EmkgqCDDHEeVmq/pvU4k2gAA + +False +1.5707963267949 +15 +hSAawvsHfkmM8rOCrDJNqwAA + + +False +1.5707963267949 +30 +hSAawvsHfkmM8rOCrDJNqwAA + + +False +-1.5707963267949 +15 +hSAawvsHfkmM8rOCrDJNqwAA + + +False +-0.523598775598299 +30 +epHead +eYy3sCm5cU2qevI2XvqfOQAA + + +False +0.523598775598299 +30 +epTail +bi54YUBBk0OKg2sVhfeXsgAA + + +0.523598775598299 +25 +epHead +1..* +eYy3sCm5cU2qevI2XvqfOQAA + + +False +-0.523598775598299 +25 +epTail +bi54YUBBk0OKg2sVhfeXsgAA + + +False +-0.785398163397448 +40 +epHead +eYy3sCm5cU2qevI2XvqfOQAA + + +False +0.785398163397448 +40 +epTail +bi54YUBBk0OKg2sVhfeXsgAA + + +False +-1000 +-1000 +50 +8 +eYy3sCm5cU2qevI2XvqfOQAA + + +False +-1000 +-1000 +50 +8 +bi54YUBBk0OKg2sVhfeXsgAA + + + +clMaroon +$00B9FFFF +288 +396 +91 +43 +s3tyNjh10EOlP9fTFKCHzgAA + + +1 +Usb_Interface + + +False + + +False + + + +s3tyNjh10EOlP9fTFKCHzgAA + + +s3tyNjh10EOlP9fTFKCHzgAA + + +False +s3tyNjh10EOlP9fTFKCHzgAA + + + +clMaroon +$00B9FFFF +202,417;288,417 +mH3MSoB9/UmX+ZKIsczTmQAA +9cvRIAusL0q/WdlYUOTN0QAA +V/iR3pEvp0+E4vtLxulBFwAA + +False +1.5707963267949 +15 +mH3MSoB9/UmX+ZKIsczTmQAA + + +False +1.5707963267949 +30 +mH3MSoB9/UmX+ZKIsczTmQAA + + +False +-1.5707963267949 +15 +mH3MSoB9/UmX+ZKIsczTmQAA + + +False +-0.523598775598299 +30 +epHead +g9gIEMzm106FV2WEfzg/cgAA + + +False +0.523598775598299 +30 +epTail +ss4cvrGCjkas7SCXWHrzGwAA + + +0.523598775598299 +25 +epHead +1..* +g9gIEMzm106FV2WEfzg/cgAA + + +False +-0.523598775598299 +25 +epTail +ss4cvrGCjkas7SCXWHrzGwAA + + +False +-0.785398163397448 +40 +epHead +g9gIEMzm106FV2WEfzg/cgAA + + +False +0.785398163397448 +40 +epTail +ss4cvrGCjkas7SCXWHrzGwAA + + +False +-1000 +-1000 +50 +8 +g9gIEMzm106FV2WEfzg/cgAA + + +False +-1000 +-1000 +50 +8 +ss4cvrGCjkas7SCXWHrzGwAA + + + +clMaroon +$00B9FFFF +64 +500 +157 +43 +1ZxdCeSlnke1mOXmwZo44gAA + + +1 +Usb_Interface_Descriptor + + +False + + +False + + + +1ZxdCeSlnke1mOXmwZo44gAA + + +1ZxdCeSlnke1mOXmwZo44gAA + + +False +1ZxdCeSlnke1mOXmwZo44gAA + + + +clMaroon +$00B9FFFF +294,438;180,500 +PzrlQ1JpekCs4WZeZXoxzAAA +SDQcLhaItkO2CR3ujsiVQgAA +9cvRIAusL0q/WdlYUOTN0QAA + +False +1.5707963267949 +15 +PzrlQ1JpekCs4WZeZXoxzAAA + + +False +1.5707963267949 +30 +PzrlQ1JpekCs4WZeZXoxzAAA + + +False +-1.5707963267949 +15 +PzrlQ1JpekCs4WZeZXoxzAAA + + +False +-0.523598775598299 +30 +epHead +4CMW55+u4U+8jmDGtiId6QAA + + +False +0.523598775598299 +30 +epTail +tSa9Dc6pX06DqFwtod8w3wAA + + +0.523598775598299 +25 +epHead +1..* +4CMW55+u4U+8jmDGtiId6QAA + + +False +-0.523598775598299 +25 +epTail +tSa9Dc6pX06DqFwtod8w3wAA + + +False +-0.785398163397448 +40 +epHead +4CMW55+u4U+8jmDGtiId6QAA + + +False +0.785398163397448 +40 +epTail +tSa9Dc6pX06DqFwtod8w3wAA + + +False +-1000 +-1000 +50 +8 +4CMW55+u4U+8jmDGtiId6QAA + + +False +-1000 +-1000 +50 +8 +tSa9Dc6pX06DqFwtod8w3wAA + + + +clMaroon +$00B9FFFF +296 +500 +153 +43 +r8we3ZgdtE+PkC4ethr1xgAA + + +1 +Usb_Endpoint_Descriptor + + +False + + +False + + + +r8we3ZgdtE+PkC4ethr1xgAA + + +r8we3ZgdtE+PkC4ethr1xgAA + + +False +r8we3ZgdtE+PkC4ethr1xgAA + + + +clMaroon +$00B9FFFF +220,521;296,521 +zcRjiWnEb0igPnnJ6hWtBAAA +G7uniSci8UWnqaXbrSHwxQAA +SDQcLhaItkO2CR3ujsiVQgAA + +False +1.5707963267949 +15 +zcRjiWnEb0igPnnJ6hWtBAAA + + +False +1.5707963267949 +30 +zcRjiWnEb0igPnnJ6hWtBAAA + + +False +-1.5707963267949 +15 +zcRjiWnEb0igPnnJ6hWtBAAA + + +False +-0.523598775598299 +30 +epHead +otEuPscjc0GzY5FZ4edKDQAA + + +False +0.523598775598299 +30 +epTail +Y0+EzvEeiUOOez0CtW5HcQAA + + +0.523598775598299 +25 +epHead +1..* +otEuPscjc0GzY5FZ4edKDQAA + + +False +-0.523598775598299 +25 +epTail +Y0+EzvEeiUOOez0CtW5HcQAA + + +False +-0.785398163397448 +40 +epHead +otEuPscjc0GzY5FZ4edKDQAA + + +False +0.785398163397448 +40 +epTail +Y0+EzvEeiUOOez0CtW5HcQAA + + +False +-1000 +-1000 +50 +8 +otEuPscjc0GzY5FZ4edKDQAA + + +False +-1000 +-1000 +50 +8 +Y0+EzvEeiUOOez0CtW5HcQAA + + + +clMaroon +$00B9FFFF +80 +112 +253 +56 +uDTqegf/MkeBHojXFEOLGwAA + + +1 +USB + + +False + + +False + + + +uDTqegf/MkeBHojXFEOLGwAA + + +uDTqegf/MkeBHojXFEOLGwAA + + +False +uDTqegf/MkeBHojXFEOLGwAA + + + +clMaroon +$00B9FFFF +24 +200 +129 +57 +A device factory which +creates and manages +all device instances. + + + +clMaroon +$00B9FFFF +125,200;169,167 +6dw/hbnfL0KObRrJlTOaOAAA +QgnPJMfYfkKI63CxIbKrUQAA + + +clMaroon +$00B9FFFF +470,268;418,308 +CUdyl1aeZ0+5m6T7YR+ScwAA +aFv0LI7ePk6WALpiWziNnAAA +bj7RYkSMO0qIEP8jkhRPkgAA + +False +1.5707963267949 +15 +CUdyl1aeZ0+5m6T7YR+ScwAA + + +False +1.5707963267949 +30 +CUdyl1aeZ0+5m6T7YR+ScwAA + + +False +-1.5707963267949 +15 +CUdyl1aeZ0+5m6T7YR+ScwAA + + +False +-0.523598775598299 +30 +epHead +eMLC5J+HEUOU0BNl4xEgOQAA + + +False +0.523598775598299 +30 +epTail +yd1VA+Osg0auP1WmaHV/pAAA + + +0.523598775598299 +25 +epHead +1 +eMLC5J+HEUOU0BNl4xEgOQAA + + +False +-0.523598775598299 +25 +epTail +yd1VA+Osg0auP1WmaHV/pAAA + + +False +-0.785398163397448 +40 +epHead +eMLC5J+HEUOU0BNl4xEgOQAA + + +False +0.785398163397448 +40 +epTail +yd1VA+Osg0auP1WmaHV/pAAA + + +False +-1000 +-1000 +50 +8 +eMLC5J+HEUOU0BNl4xEgOQAA + + +False +-1000 +-1000 +50 +8 +yd1VA+Osg0auP1WmaHV/pAAA + + + +clMaroon +$00B9FFFF +448 +364 +86 +41 +Linked List of +type Usb_Bus + + + +clMaroon +$00B9FFFF +454,364;429,350 +aFv0LI7ePk6WALpiWziNnAAA +rLlcF+A5KkiU7WAvQnrBbgAA + + +clMaroon +$00B9FFFF +228 +244 +101 +41 +Linked List of +type Usb_Device + + + +clMaroon +$00B9FFFF +260,308;270,284 +Pv0Pt3qkZkmPtYeARmmwEAAA +EmkgqCDDHEeVmq/pvU4k2gAA + + +clMaroon +$00B9FFFF +332,138;440,137 +E/QwNfFGUEiitlqp99S36AAA +2BBmOZlXy0elqrvf1Pfb0QAA +6dw/hbnfL0KObRrJlTOaOAAA + +False +1.5707963267949 +15 +E/QwNfFGUEiitlqp99S36AAA + + +False +0.977411820724642 +48.0416485978573 +E/QwNfFGUEiitlqp99S36AAA + + +False +-1.5707963267949 +15 +E/QwNfFGUEiitlqp99S36AAA + + +False +-0.523598775598299 +30 +epHead +tXktVESMQUOZFggmJCAGDAAA + + +False +0.523598775598299 +30 +epTail +ym/t3t4KOkinRJAqyF+HwQAA + + +0.523598775598299 +25 +epHead +0..* +tXktVESMQUOZFggmJCAGDAAA + + +False +-0.523598775598299 +25 +epTail +ym/t3t4KOkinRJAqyF+HwQAA + + +False +-0.785398163397448 +40 +epHead +tXktVESMQUOZFggmJCAGDAAA + + +False +0.785398163397448 +40 +epTail +ym/t3t4KOkinRJAqyF+HwQAA + + +False +-1000 +-1000 +50 +8 +tXktVESMQUOZFggmJCAGDAAA + + +False +-1000 +-1000 +50 +8 +ym/t3t4KOkinRJAqyF+HwQAA + + + +clMaroon +$00B9FFFF +656 +92 +89 +56 +p/wk8BA7x0OTRXXHy0OJmgAA + + +1 +USBException + + +<<exception>> + + +False + + + +p/wk8BA7x0OTRXXHy0OJmgAA + + +p/wk8BA7x0OTRXXHy0OJmgAA + + + +clMaroon +$00B9FFFF +628 +168 +134 +56 +nCivixeClUeJ/8WDflvLoAAA + + +1 +USBTimeoutException + + +<<exception>> + + +False + + + +nCivixeClUeJ/8WDflvLoAAA + + +nCivixeClUeJ/8WDflvLoAAA + + + +clMaroon +$00B9FFFF +579,130;656,123 +3Xd7YkTVeUijpP0dxF3K9wAA +1cUBYeKUdUuMBdS17locfgAA +2BBmOZlXy0elqrvf1Pfb0QAA + +False +1.5707963267949 +15 +3Xd7YkTVeUijpP0dxF3K9wAA + + +False +1.5707963267949 +30 +3Xd7YkTVeUijpP0dxF3K9wAA + + +False +-1.5707963267949 +15 +3Xd7YkTVeUijpP0dxF3K9wAA + + +False +-0.523598775598299 +30 +epHead +PCKabEdsC0+42T+WCC0J+gAA + + +False +0.523598775598299 +30 +epTail +RwLaC/BiAE+6PNyQNM7DRwAA + + +False +0.523598775598299 +25 +epHead +PCKabEdsC0+42T+WCC0J+gAA + + +False +-0.523598775598299 +25 +epTail +RwLaC/BiAE+6PNyQNM7DRwAA + + +False +-0.785398163397448 +40 +epHead +PCKabEdsC0+42T+WCC0J+gAA + + +False +0.785398163397448 +40 +epTail +RwLaC/BiAE+6PNyQNM7DRwAA + + +False +-1000 +-1000 +50 +8 +PCKabEdsC0+42T+WCC0J+gAA + + +False +-1000 +-1000 +50 +8 +RwLaC/BiAE+6PNyQNM7DRwAA + + + +clMaroon +$00B9FFFF +579,159;628,174 +juy2GOZNhkq5f7cp9rQyWQAA +m44pRtEbJU63JQyFoCCxtAAA +2BBmOZlXy0elqrvf1Pfb0QAA + +False +1.5707963267949 +15 +juy2GOZNhkq5f7cp9rQyWQAA + + +False +1.5707963267949 +30 +juy2GOZNhkq5f7cp9rQyWQAA + + +False +-1.5707963267949 +15 +juy2GOZNhkq5f7cp9rQyWQAA + + +False +-0.523598775598299 +30 +epHead +cJakFa0mdEChcxEhYeDaKwAA + + +False +0.523598775598299 +30 +epTail +RJcA8VyDe0K2sWOwSOHLiwAA + + +False +0.523598775598299 +25 +epHead +cJakFa0mdEChcxEhYeDaKwAA + + +False +-0.523598775598299 +25 +epTail +RJcA8VyDe0K2sWOwSOHLiwAA + + +False +-0.785398163397448 +40 +epHead +cJakFa0mdEChcxEhYeDaKwAA + + +False +0.785398163397448 +40 +epTail +RJcA8VyDe0K2sWOwSOHLiwAA + + +False +-1000 +-1000 +50 +8 +cJakFa0mdEChcxEhYeDaKwAA + + +False +-1000 +-1000 +50 +8 +RJcA8VyDe0K2sWOwSOHLiwAA + + + + +16 + +ch.ntb.inf.libusbJava ++VhQCvPWpkq9N+U+GjchOQAA +1 +3aqcGmdQBU2yR8XWwbH6wgAA +10 + +LibusbJava +BWFMxN62oEGNP+kKcODiEgAA +4 +bj7RYkSMO0qIEP8jkhRPkgAA +pYdCcwUS1kuxFBcQBuXWhwAA +B8g6dO1SPUKmK3vZse8ykwAA +uhBTnkByp0aEHfbKvbAIRgAA +2 +gBDIpZT7JEe5yWqm5udjswAA +yd1VA+Osg0auP1WmaHV/pAAA + + +Device +BWFMxN62oEGNP+kKcODiEgAA +4 +2BBmOZlXy0elqrvf1Pfb0QAA +vtJgj9fKHUOv3MF6LiZuaQAA +hWPO+G2l6UamJ9XP1xsU6gAA +4gcdaLKmOESleWMoU/ITdgAA +2 + +USBException +NDp8e0ch10ST3dwxWPam4AAA +3 +1cUBYeKUdUuMBdS17locfgAA +xvrkkvaXsEyKlXkeArvn6gAA +9XjxPvkTzUW160zoJoXJIgAA +2 +jAq2OWym/0CBShdxKGVvTgAA +PCKabEdsC0+42T+WCC0J+gAA + + +USBTimeoutException +NDp8e0ch10ST3dwxWPam4AAA +3 +m44pRtEbJU63JQyFoCCxtAAA +8ptu2+IQEkiODfeNkzBbIAAA +NCd0z6hUJUKirt04Te6MmAAA +2 +jB8ocTwTXEuDjkXR5KY03QAA +cJakFa0mdEChcxEhYeDaKwAA + +1 +S86PfEMMVEitYamqNGrOKgAA +6 +9KWfrYr7HUmfL2Kub4NWjQAA +tXktVESMQUOZFggmJCAGDAAA +gnNEskLBlEGy68pKD58J3gAA +gMOdBarVEUi69aAllgtqSAAA +RwLaC/BiAE+6PNyQNM7DRwAA +RJcA8VyDe0K2sWOwSOHLiwAA + + +Usb_Bus +BWFMxN62oEGNP+kKcODiEgAA +4 +aFv0LI7ePk6WALpiWziNnAAA +4mnVev5sO06YjJQcHwAzNAAA +ApB+Ycn4QkCd4JiwYWOuogAA +BoqVLNosikui7Gvm79DqwAAA +4 +Ktquk70tXEeWxRy5mE3lRQAA +BM39AT1FtkCD5DXdvFUWGwAA +eMLC5J+HEUOU0BNl4xEgOQAA +zVVM8HoZZ0K4SLvruROwSQAA + + +Usb_Device +BWFMxN62oEGNP+kKcODiEgAA +4 +EmkgqCDDHEeVmq/pvU4k2gAA +PTdUVfhJcUasUJqV7DrnzwAA +BrLi1ywnW0yy33ZKZYFfAQAA +mAD2mqiGJUmcDDGj80NyFwAA +4 +fPb+E6EWw0SS68JSU1n2PQAA +QkO09pUTaUqUag/gnTQhMAAA +L09q640bS0+0SD6RlutglgAA +bi54YUBBk0OKg2sVhfeXsgAA + + +Usb_Descriptor +BWFMxN62oEGNP+kKcODiEgAA +4 ++ip26EaWW06hVyLJe7YYXgAA +HHzH4uen30eMjBMjRst2mgAA +mqiCxho4tUOAdpt4/UzG1AAA +k95O6pb/JUut+HXhcujAvQAA +1 +i+tjppNl/0SEXFu6g5HCzwAA + + +Usb_Config_Descriptor +BWFMxN62oEGNP+kKcODiEgAA +4 +V/iR3pEvp0+E4vtLxulBFwAA +rC/MaZnjZkmCGY1tqVmdDQAA +bP5ruvrDjkuOZy0aWHw5qAAA +Tp/ZRDMhiEiRwOJ8Dte+6AAA +2 +eYy3sCm5cU2qevI2XvqfOQAA +ss4cvrGCjkas7SCXWHrzGwAA + + +Usb_Interface +BWFMxN62oEGNP+kKcODiEgAA +4 +9cvRIAusL0q/WdlYUOTN0QAA +mHOFyGNhZ02On/3bYclCQgAA +S8sNFKpNX0CfvJz4xM2R8QAA +ZR4POMzRtkii7O0qcFXeagAA +2 +g9gIEMzm106FV2WEfzg/cgAA +tSa9Dc6pX06DqFwtod8w3wAA + + +Usb_Interface_Descriptor +BWFMxN62oEGNP+kKcODiEgAA +4 +SDQcLhaItkO2CR3ujsiVQgAA +niJtEkEAIE27g/VJLGKCeQAA +tEi8ncuIh0akDZbNdI0BXAAA +f6iRLfdj90KPJZTvam9xcgAA +2 +4CMW55+u4U+8jmDGtiId6QAA +Y0+EzvEeiUOOez0CtW5HcQAA + + +Usb_Endpoint_Descriptor +BWFMxN62oEGNP+kKcODiEgAA +4 +G7uniSci8UWnqaXbrSHwxQAA +oOH1WDfw5E+CPfQCtwl3lwAA +zVJ7FeURsUqHB/7bijkGSgAA +8xSZnRanKUS7ttTDyMY3XQAA +1 +otEuPscjc0GzY5FZ4edKDQAA + + +USB +BWFMxN62oEGNP+kKcODiEgAA +4 +6dw/hbnfL0KObRrJlTOaOAAA +9NxPBd7BGEmMZajXGsdmCgAA +ReCrM4NymEe6kNr17N/fLwAA +oUsxZCkyqU+EFKmB53hfIQAA +1 + +getDevice +uDTqegf/MkeBHojXFEOLGwAA +3 + +idVendor +int +4R8Nv262EEqwj5BpzEwnFAAA + + +idProduct +int +4R8Nv262EEqwj5BpzEwnFAAA + + +return +pdkReturn +Device +4R8Nv262EEqwj5BpzEwnFAAA +NDp8e0ch10ST3dwxWPam4AAA + + +1 +ym/t3t4KOkinRJAqyF+HwQAA + +1 +mUO4OyL7Z0inPl8NM4gOKQAA + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +K1jbk7tvDECb113o54KaCgAA +ewuWWER98U2X1/Gyqau2iQAA +ydzgGYT1JUqGBbRngdAkOwAA +kRDUUGf7YkG4X7f5D7Tu5QAA +2 + +False +bHBJ2iMT1Emo3/z1QruACAAA +NDp8e0ch10ST3dwxWPam4AAA +4 +HnV1GDlOlUiEzDCgg3OVnwAA +3vJXTt9Ud0+cklGb7VirjwAA +T54kLOtp70+07rCDysRoRgAA +ZmEyokBAfUuimbUqLhInLAAA + + +bHBJ2iMT1Emo3/z1QruACAAA +Y0tGKOGA/UquqP1qaYDayQAA +4 +nP4i5P/O2UWgSJEnuXrNGAAA +NbkMFiV5UUyU8V6ZyNh/ggAA +qnQYuly9P0ePfBPLyOhoUgAA +KiPq8wTTI02Bz5cifJGqSAAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +N+DG+sDQsU+dEVL0AtioTgAA +h4biD7IVaE2ULotQ37wNTAAA +juYsWZ7nVUuYfA9bXvsoRQAA +gVKvw0NHaUCC8LoVjlxEaQAA +2 + +False +rRumqTzUKUikwPtpVUuuxQAA +fKheOe+4606Ei/JrIdvAnwAA +4 +OYIH3ymdpUit+s9rXvgX4QAA +2cgp4vLw00iUpTcWm5nXagAA +tGs9/SOEbkuqTf609sd2uQAA +wlFJ5gxqB0W1JznjbhR82wAA + + +0..* +rRumqTzUKUikwPtpVUuuxQAA +CYy/2ClqUUO8tWkJYxc3EwAA +4 +tvTF0QXyTkOU+lco6nawpAAA +OlG/OTSXdkeeQhih0vfj2gAA +E2JhEcUXZkeaMU/vi7BgQwAA +Pgiug9F5sEm6RGjxSJwN0QAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +2 + +False +N1GWtLD2hke4QpWNj3VbPQAA +CYy/2ClqUUO8tWkJYxc3EwAA + + +1 +N1GWtLD2hke4QpWNj3VbPQAA +fKheOe+4606Ei/JrIdvAnwAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +tgaMJ8+zg0Sn4iEmoOIchwAA +rgg15Kcdr0mVUlnlnH9jIgAA +keuOun+wjE+QghwhaUSp7QAA +LDA6nTIXBkWsIuU2zIrtiAAA +2 + +False +iOkg8RoFXkawUPB8gsL6/QAA +CYy/2ClqUUO8tWkJYxc3EwAA +4 +VnH93Y/7IkaJYl+DPinjmwAA +J87I73G/nkuAKdCKS1ov3AAA +gX2CUgfdCki+IWGLlwLwBgAA +8AgdepV+YECTfuxJBIqCCwAA + + +1 +iOkg8RoFXkawUPB8gsL6/QAA +BhOtKDs6x0a1MSfBURjV3wAA +4 +1qxaXx2+hEq1Na+Bk3itGQAA +FePC/A0aMEGuAW8YyMNUfQAA +jbg1/Hojq0CDpZmGOngZ8gAA +XyLeWJl15kSVqLBfioHjpwAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +BkeBTT1wlUu9nQU0NNTXFAAA +Tj/mtG0ojUeUZaROPDr/HAAA +0MVCo5fIBUSXtmRyYABJcQAA +UVrEAk/Wbk2olhkdMQkz9wAA +2 + +False +hSAawvsHfkmM8rOCrDJNqwAA +CYy/2ClqUUO8tWkJYxc3EwAA +4 +uBprnnKYk0qBu9UZ9bv+5wAA +uUm65cZr+USoFHmg+9GOTAAA +21oCmtYmTk6I99TNGY+WmQAA +CEBGmwNSDE+W0wJ/aQr5ogAA + + +1..* +hSAawvsHfkmM8rOCrDJNqwAA +WnjxeWRoQE+dRj+3+FKmAAAA +4 +q/Tjz7MsSkCzN45MnaE+ygAA +Ct5Onzw2LES6ewhEa/3NWQAA +9Z0KUb7BbUO7F3MYIOiSrQAA +cY/H4Djf5kicM3tDZOwWkAAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +u2OPyc/1n0+QIGTThiMa3AAA +KLVJzL8T0EW4b4yH0XzDkgAA +OMzpA/ZwnEujuwqWpMDwIwAA +ed2kVo8InU6lewfrLcWA0wAA +2 + +False +mH3MSoB9/UmX+ZKIsczTmQAA +WnjxeWRoQE+dRj+3+FKmAAAA +4 +ElMIvqx9s0qrTOxejhsaSQAA +/avxLTDZe0qmoKyO79Gi7AAA +tjnuHlEOBk2grTlQ+kPGnQAA +oS91czwGhEKtYBANVGPPnwAA + + +1..* +mH3MSoB9/UmX+ZKIsczTmQAA +s3tyNjh10EOlP9fTFKCHzgAA +4 +YlWEGJVu1Eu9BEa5L9YqyQAA +upJz60gOiE2Y6jwQzzUoqQAA +PpS7OEegzUeBhCrBHXgkwAAA +XVazEpRSqkyH0zMCJgEnBAAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +h/CUffjgwUqCUDakMMJ7QQAA +ZnaPkKZFCEaRFYlVBh84uAAA +O1VlBtzO0EaAsu2MtMnYhQAA +S22NfH+9rUCXuvo2rsAWDgAA +2 + +False +PzrlQ1JpekCs4WZeZXoxzAAA +s3tyNjh10EOlP9fTFKCHzgAA +4 +lo8h2SqcoUeOOUPAe0EjdAAA +mv0gaJr3SUeuVY1xo1FdowAA +VQ4ysUxS306j02ouNykrpwAA ++GMHnNNOiEW2P4PaNnKcsgAA + + +1..* +PzrlQ1JpekCs4WZeZXoxzAAA +1ZxdCeSlnke1mOXmwZo44gAA +4 +/cDNFyyj1kKTrWJ1HeW7jwAA +T7Yrg8efIE2hhid6kOwp/AAA +eq+vp2GL9Ey4am7PZZZvYwAA +HB0H112qzU65avMG65s6+AAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +Qa9DlhrWuEyzlqeeW42vigAA +OOu7JCeVT06/I9zcCYxoMgAA +eXZQmjjOb0mgLqiKIEgNjgAA +Z54IgvzlG0+i0eC61Nul2QAA +2 + +False +zcRjiWnEb0igPnnJ6hWtBAAA +1ZxdCeSlnke1mOXmwZo44gAA +4 +Wf6tv7bE1kq7mrxCiOa+SQAA +3TeYQ+z3sUaWb3mqCq5ZswAA +e6lrE15aj0SZAg2c/y97hgAA +B4mF3KmBkEmmqPeQhru4awAA + + +1..* +zcRjiWnEb0igPnnJ6hWtBAAA +r8we3ZgdtE+PkC4ethr1xgAA +4 +lhChbObcCU2CcZDalktiVQAA +eX+Li7xw8Eu7Q+WVQJ7NWgAA +QIJa01TJ8UWewFDbze7RZwAA +z9YWV6a+CkmXxyniylWBegAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +3d03ZiQMEUyp/GDpSGjNdQAA +EnqlEABzrEyr7NnE3rXmXAAA +v5SF4iq4U0idtpnG9Es3XAAA +vmgfHAqH1kK8d0+ACOZ3LgAA +2 + +False +CUdyl1aeZ0+5m6T7YR+ScwAA +Y0tGKOGA/UquqP1qaYDayQAA +4 +cJO2BE8tMk6Vdt7DH7oXUgAA +ztnLte7rf0CX37ncwAxYbgAA +mEJVUc0onE+FHNS1qwcDygAA +dg0oZAkRp02LqrBKRlJGygAA + + +1 +CUdyl1aeZ0+5m6T7YR+ScwAA +fKheOe+4606Ei/JrIdvAnwAA +4 +ACS3R0vnCkiCG7/+fEq01gAA +6bLwfBAaDE6zqua+j7Jf+wAA +PvH2F0s2CU+u9nUzCb6FmwAA ++s+HLixVdk+3Jjh1dYo5NgAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +2 + +False +sq2Gf22XcUO8hotO+r/6swAA +fKheOe+4606Ei/JrIdvAnwAA + + +sq2Gf22XcUO8hotO+r/6swAA +BWFMxN62oEGNP+kKcODiEgAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +15TrBVceQkG56FTsqMwcxgAA +3Fgd7pnAA0+KRKisyFBaqwAA +hxuj8u8Y2EK8qsnGTaBOzQAA +znFoObTUEUOch9SPd7VBJAAA +2 + +False +E/QwNfFGUEiitlqp99S36AAA +uDTqegf/MkeBHojXFEOLGwAA +4 +k9T1VNzEo0ufuAB6TN2QRwAA +oiCIMGX8ik6YjhRQQxB8OQAA +Tu5aL5lgO0ut/RTBGjiKqAAA +iDNEYw6KL0uVCCKPtWa8bwAA + + +0..* +E/QwNfFGUEiitlqp99S36AAA +NDp8e0ch10ST3dwxWPam4AAA +4 +4Vg7xm7w902Ov8oTfg9PSAAA +DWRmEP/U1kOcrZnzyvRnXQAA +FngPhombp0y5VL3elyPMMgAA +ETXPzMurVEmlbvocuDXtVwAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +2 + +V1q5qLSIxEidFrrPCOFqIgAA +NDp8e0ch10ST3dwxWPam4AAA + + +V1q5qLSIxEidFrrPCOFqIgAA +p/wk8BA7x0OTRXXHy0OJmgAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +2 + +7Niy2MZhPUynlh2A2zVkEQAA +NDp8e0ch10ST3dwxWPam4AAA + + +7Niy2MZhPUynlh2A2zVkEQAA +nCivixeClUeJ/8WDflvLoAAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +Rk0gcRI5ikapDGR7M2bn5AAA +HXSRZ0W7C02e+CDSTe+vQgAA +39P+Jod7A0SpXNClHK/bIwAA +FOp7UHIFjUmRJarTRH6h3AAA +2 + +False +3Xd7YkTVeUijpP0dxF3K9wAA +NDp8e0ch10ST3dwxWPam4AAA +4 +IIOw3R07h0mYIbxgQNAvlgAA +6DAAoxE3gE6btQ3QR6zXSAAA +Ilbnf/apgU2JUqlCax0E0AAA +GWJjJWM040mgOfcnzTwGqgAA + + +3Xd7YkTVeUijpP0dxF3K9wAA +p/wk8BA7x0OTRXXHy0OJmgAA +4 +Mf6lj8hCekmAt8LSuv0gPQAA +roosZQXLT0uL9JG9OjvfIQAA +gZyJB5c8j0qqNEv58A7qkQAA +jGiYNVwhsUqy+u4GsecJkwAA + + + ++VhQCvPWpkq9N+U+GjchOQAA +4 +Mp4OVq4lq0Ot63a04V2k0AAA +gef03vYxbUeRLVhwDqSRtwAA +vk1lNcjPWk2tPqsfZgpaNgAA +1F1Ggg3l7kq2YUNbccrRzAAA +2 + +False +juy2GOZNhkq5f7cp9rQyWQAA +NDp8e0ch10ST3dwxWPam4AAA +4 +zO1s01kJIE6XkTjlSB6aywAA +W9sijr2Fr02bK6wbKT19/wAA +UxK4awc9BUaq32wB9ulIlQAA +62JK0r9fykSMDnmw3ZuktgAA + + +juy2GOZNhkq5f7cp9rQyWQAA +nCivixeClUeJ/8WDflvLoAAA +4 +NlVzv49r5EKp3NXgP9SJUgAA +2Q3xA4DACkm0S1EmjZ54IwAA +S2waQNcxi0SMzX3GtK14MwAA +hN0Adta+JUWLfSVgHKKVEgAA + + + + +Implementation Model +UMLStandard +implementationModel +FtDtfOwik0OVQfE6ZPIIGQAA +1 + +Main +RoG5Bh+N8kiY/NeIyRBD4wAA + +NN8Cz7nUpkWUBrC4fP0hnwAA + + + + +Deployment Model +UMLStandard +deploymentModel +FtDtfOwik0OVQfE6ZPIIGQAA +1 + +Main +xUneQ8+pSE+Bo7LqxpLuhQAA + +SXfsx2mnwUOegNnzMTcg/gAA + + + + + +