
HBCI4Java for C++ (Stefan Palme <hbci4java@kapott.org>)
=======================================================


This is a C++ library that enables C++ applications to use HBCI4Java.
HBCI4Java is a Java library that provides a set of banking functions to
Java applications. With (HBCI4Java)4CPP the same set of functions is available
for C++ applications. 

A better approach to use HBCI features in C++ applications is to make use of
the libraries from the AqBanking project, because this is native code
and does not require Java. But beware: the AqBanking-API is not compatible
with the HBCI4Java-API, so if you are familiar with one of these libraries,
there is normally no need to switch to the other one.

For more information about HBCI4Java see http://hbci4java.kapott.org.


Most parts of (HBCI4Java)4CPP are not coded "by hand". Instead, Java4CPP
(http://java4cpp.kapott.org) is used to generate C++ classes from 
HBCI4Java when compiling this package. 


This is the reason why this package is so small - it contains only Makefiles
to generate a shared library (libhbci4java.so) from existing HBCI4Java classes
and some sample code to demonstrate how to use the resulting library.


The following steps are required to compile (HBCI4Java)4CPP:

- You need a JRE version 1.4.x. Maybe also JRE-1.5 works, but this is not
  yet tested.
  

- You need a current version of HBCI4Java. Either fetch and unpack the
  binary archive, or fetch, unpack and compile the source archive. You
  definitively need either the file hbci4java.jar or a directory containing
  all the HBCI4Java class files.
  
  
- You need a current version of Java4CPP. Just fetch it via SVN and compile 
  it or grab the all-in-one-archive and unpack it.
  
  
- Edit Makefile.java4cpp. This Makefile contains some variables that define
  how to create the C++ wrapper classes and where to find all needed
  components (Java4CPP and HBCI4Java). Look into Makefile.java4cpp for
  a description of all settings.


- Call "make". 
 
  This will call java4cpp to create a lot of C++ files in the java_wrapper/src 
  directory. For this to work, the CLASSPATH settings in Makefile.java4cpp must
  be correct so that the Java4CPP main class and the HBCI4Java classes will be
  found. 
  
  After that all generated C++ classes will be compiled and linked to a 
  shared library (java_wrapper/libhbci4java.so). At this point we the basic
  stuff is done: we have C++ header files (in java_wrapper/src) to be used
  in your C++ application, and we have a shared library
  (java_wrapper/libhbci4java.so) to link your application against.
  
  See the README found in the Java4CPP package for hints on how to use the 
  wrapper classes in your application and what to be aware of when compiling
  and running your application.
  
  The Makefile of (HBCI4Java)4CPP will also compile a small sample application
  from the directory src/c. Take a look at its source files to learn how
  to use the HBCI4Java wrapper classes. This small demo application fetches
  the balance of your banking account and displays it. To run this demo 
  application, just edit the content of the file src/hbci.properties. The file
  contains settings needed by HBCI4Java to define what type of HBCI account you
  have and how it has to be configured. After that, edit and run the script 
  runme.sh - it is responsible for establishing an environment for your 
  application so that it can use the HBCI4Java library.
  
