XFoundation

alpha version, October 2000

The Epoc standard libraries offer moderate services, but the particular API is not quite programmer-friendly, and is not really object-oriented. Besides, there are many very basic services you just can't find there (like the hashed table or typeless containers). Thence, the XSdk offers a rich set of libraries, which try to be as much easy to use and as much object-clean as in the C++ possible. Naturally, as soon as the Objective C is available, the GNUStep luxury libraries will be used.

The XFoundation library offers a rich set of services for all the basic needs, and the other libraries and services are using it; thence "foundation". The current set of services will be considerably extended in future--remember that the current XSdk is in an extremely early state.

Note that all the XFoundation classes have a prefix "CX", the first "C" meaning they are a CBase-derived classes, and the rest standing for XFoundation. None of the methods return any exit code, for that is a nonsense when a proper exception support is available. So, any possible error is reported by an exception. That means in the Epoc-talk any methods can "leave"; thence the Epoc convention of the "L" suffix would be superfluous and is not used. All methods are virtual, as is normal in any sensible OO environment.

In a sense, these conventions are the reason why all the methods begin by a lowercase letter just like it is normally done in Java or ObjC: they follow rather these object-oriented conventions than the non-OO conventions of the C++ or Epoc SDK.

To be able to use any foundation class, you have to include just one header file: the "XFoundation.h". The appropriate library is linked in automatically, as soon as you add the XFoundation framework to the project (see the XSdk frameworks system). Have also look at the following documents:

Currently, the XFoundation contains the following classes:

Copyright © 1999-2000 X.soft, all rights reserved