Download Jabon
Copyright and license
All software available from this website is copyright protected © 2008 - 2010 by Diego Rodriguez-Losada, except from the CMarkup class XML parser source code which is copyright by FirstObject.
Unless stated otherwise, all software is provided free of charge for research or education purposes. For commercial use, please contact the author.
Disclaimer
All software is provided on an "as is" basis without warranty of any kind, express or implied.
Under no circumstances and under no legal theory, whether in tort, contract, or otherwise, shall Diego Rodriguez-Losada and/or UPM be liable to you or to any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or for any and all other damages or losses.
If you do not agree with these terms, then you you are advised to not use the software.
Do not link to specific files, but to the web page.
ChangeLog
Version 1.4
- Visual 6.0 deprecated. Not maintained any more.
- Solved several bugs and issues with HTTP transfers of large data. Tests in LAN between Win and Linux machines now obtain between 1.5-3 Mb/sec, and data up to 15Mb size.
- Esponja router improved.
- Removed #pragma warnings in generated and library code
- Added a very simple example "Math" for perfoming a sum.
- Solved several compatibility issues of WSDL format.
- HttpServer is now able to gets its own IP.
- Added compatibility for MAC OS
Version 1.3
- Esponja GUI (VS6.0) completed!
- HttpClient now is able to reconnect, using its own thread to avoid delays (a failed connect can hold for 1 second).
- Class Socket made movable non-copyable, class HttpClient neither movable nor copyable.
- Created Thread utility class, for launching member functions (non-static) as threads.
- Socket::IsConnected now actually checks connection with a select() and a recv() of 0 bytes.
- Soved bug in Base64 when using empty strings, solved bug in SmartPointer.
- Logger class improved can log also to file and to stringstream, with access to the string (useful for GUIs) thread-safely.
Version 1.2
- Added esponja, a new tool used for rounting messages between agents, each agent composed by a client and a server.
- Added logging class, including coloured output.
- Added a mutex class, used for synchronized output, so the sentences are not merged.
- New Base64Binary XML type support. This is necessary to transmit binary data without the extra cost of XML string encoding-decoding. Use a Method(std::string& binaryXXXXX, other parameters), to take advantage of this type. See the Image example.
- XML string encoding-decoding. Previous version used the strings as given, without any handling of <> " characters. Now strings are automatically encoded and decoded. This introduced a great overhead for binary strings, so the Base64Binary type was introduced.
- Solved cin>>String bug in linux.
- Solved no_subfolder problem for data types generated files.
Version 1.1
- Added support for Base64 enconding, with an example for transmitiing a large image. A 800x600x3 raw image can be send over a local network in about 400ms. The sockets buffers size have been modified (enlarged) in order to achieve this.
- Added support for C++ namespace (the Interface passed to Jabon can be inside a namespace, but only the interface, the data types are a ToDo), and single inheritance (the interface passed to Jabon can inherit from other class).
- Added -no_subfolder option to Jabon, so all the generated code will be put in the same folder. With these changes, it can be easily used for the OpenRDK framework
- Added directory utils to the jabonrt library
- The precompiled library has been removed. Now it is compulsory to build it (CMake files provided)
- Updated doc.