Index of ZeusBase-Library
1. General
The ZeusBase library builts the base of the whole Zeus-Framework and therefore the cell computing applications. It defines the base classes, the interface handling and the platform data types.
It is also very usable for other C++ projects. It extends the STL or BOOST libraries. It wrapps the classes of STL and provides a simple interface to use them.
2. Documentation
There is a complete documentation and explanation of the ZeusBase-Library available.
The documentation includes:
- Description of classes and the API
- Code examples
- Theorie about X-Object and MOM concepts
- Framework extendsion and configuration
There is some documentation online as well (see below).
Documentation of the Zeus-Framework [pdf] (in german only)
Documentation of the ZeusBase Library [pdf] (in german only)
The API documentation includes only class and code documentation.
API Documentation of the Zeus-Framework [html]
Lots of concepts implemented with Zeus-Framework are taken from RFC, like:
- Hypertext Transfer Protocol -- HTTP/1.0 (RFC 1945).
- Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616).
- Uniform Resource Identifiers (URI): Generic Syntax (RFC 2396).
3. Sub packages
3.1 Overview
The class framework includes a large number of classes and tools. They are grouped within packages and modules. The packages are compiled together into one library called ZeusBase-Library. Modules are libraries which are based on the Zeus-Framework but can be exchanged during runtime.
- xIDL: extended Interface Definition Language
- System
- Differnt data types like lists, strings, variant and more
- Big Integers
- Streaming. IO Stream classes, filter classes.
- Serializing of objects
- X-Objects (XML based object design). [Needs XML_Service-Library]
- Threading
- Internationalisation
- File and Directory classes
- Logging. [Needs LOG_Service-Library]
- Settings for applications (Properties, XML)
- Net
- Sockets. Server and client sockets
- Protocols.
- HTTP and CCTP (Cell communication protocol transfer)
- SMTP for e-mail transfer
- E-Mail classes
- IP Addresses. IPv4 and IPv6
- URI class
- Remote
- Naming service. [Needs NameServer-Library]
- Base classes for Stubs and Skeletons
- RMI classes and interfaces
- Security
- Security manager
- Filesystem Access Rights
- Secure Hash and Fingerprint classes
- Whirlpool
- SHA-1
- SHA-2
- MD4
- MD5
- Encryption and Decryption streams
- DES and 3DES
- XTEA
- RSA
- Authentication code and methods
- NTLM
- HMAC-MD4
- HMAC-MD5
- HMAC-SHA1
- HMAC-SHA2
- Processing
- Messaging
- Message Pool [Needs MessageServer and NameServer]
- Different message types
- MOM
- The MOM 2 implementation
- Module sessions
4. External Libraries
The Zeus-Framework is built on top of the stl and some other open source libraries:
- Boost Library: Regular expression
http://www.boost.org/ - ZLib: Compression for filtered streams.
http://www.zlib.net/ - XercesC: XML Parser
http://xerces.apache.org/xerces-c/ - XalanC: XSL Processor
http://xml.apache.org/xalan-c/ - Log4CXX: Logging library
http://logging.apache.org/log4cxx/index.html - CPPUNIT: Test environment
http://sourceforge.net/projects/cppunit
Some of the packages are optional. To enable the functionality you have to enable the options on your platform include (zeusbase/Config/Platforms/*):
- BlueZ Lib: Library for bluetooth. Works with linux.
http://www.bluez.org/lists.html
5. Test
The test application [zeusbaseTest] was written to test the major classes of the ZeusBase library. The test application needs a CPPUint library witch is included by the project already. Following libraries are needed to run the test sucessfully:
- XML_Service
- NameServer
- MessageServer
- TestModule
The test application will be installed in a local [bin]-directory of the project itself.
The test need also following files such as:
- ./bin/tests/ISO8859-1.txt
- ./bin/tests/test.properties
- ./bin/tests/Text.txt
- ./bin/tests/UserData.xml
- ./bin/tests/UTF16_bigEndian.txt
- ./bin/tests/UTF16_littleEndian.txt
- ./bin/tests/XMLFile1.xml
- ./bin/tests/XMLFile2.xml
- ./bin/tests/XMLTest001.xml