[brailleblaster] Re: More on Embosser Drivers

  • From: Michael Whapples <mwhapples@xxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Sat, 6 Nov 2010 18:25:27 +0000

Dealing with the idea of including C/C++ code in a jar file with java bindings, 
yes this can be done (examples both being SWT and JNA). Now to would this 
protect those who want to keep things secret? The jar file itself is simply an 
archive file and is easily extracted. Now if a user were to do this they would 
find some java class files (these would be the compiled class files not the 
source) and a DLL or other shared library file (like for any other compiled 
C/C++ library). So I believe the C/C++ part would be as protected as they may 
be now without any java bindings. While the C/C++ code may be as secure, a 
standard java class file I believe can be decompiled, but this probably 
wouldn't reveal anything top secret as it could simply use their published 
C/C++ API and so would be just a mapping between two knowns.

One thing this does raise in my mind, if drivers are to be done as described by 
John, BrailleBlaster would need some way to dynamically detect drivers which 
are installed (may be some sort of plugin system where the user simply has to 
drop a jar file in a certain directory then next time they start BrailleBlaster 
that new embosser will be shown). There may be some frameworks already out 
there to support such a plugin system.

Now I do have a slight question, may be the answer is obvious to those more 
involved in Braille production, why don't embossers use a standard API, may be 
even the printer API like the tiger printer does?

Michael Whapples
On 6 Nov 2010, at 11:26, John J. Boyer wrote:

> I think the driver interface and the classes which implement it should 
> be in a package called org.brailleblaster.drivers The interface would be 
> called driver.java Each class implementing it would be named for the 
> embosser which it suppoorts, for example, Tiger.java Indexd.java 
> Everest.java 
> 
> As I mentioned previously, the drivers should be written in Java or 
> converted from other languages to avoid messing around with bindings. A 
> manufacturer might chose to protect propritary information by supplying 
> a driver compiled into a C or C++ library. In this case it woulod be 
> desirable for the manufacturer to also supply the Java bindings and to 
> incorporate the JNI portion of the bindings into the library containing 
> the driver.
> 
> Is it possible to put Java code containing proprietary information into 
> a jar file which can be used by the Java compiler and the JRE but which 
> the user cannot see inside? That would make it much easier to get Java 
> drivers from manufacurers.
> 
> John
> 
> -- 
> John J. Boyer; President, Chief Software Developer
> Abilitiessoft, Inc.
> http://www.abilitiessoft.com
> Madison, Wisconsin USA
> Developing software for people with disabilities
> 
> 


Other related posts: