60
•
_LIT
provides support for literal descriptors, which is highly recommended in
preference to
_L
•
default screen size
KConsFullScreen
definition added, to create text consoles filling
the entire screen regardless of its size (
KConsDefaultScreenSize
was good only
for 640x240 displays)
•
RPointerArray<T>
and
RArray<T>
classes now available, which destroy their
objects when
Close()
d
•
CleanupClosePushL()
and similar functions are now in E32, rather than in
STORE: binary compatibility is maintained, since these functions are inline templates
•
TFixedArray<class T, TInt S>
provides an effective wrapper on C++ arrays
Text and language support:
•
Unicode character tables, collation etc added
•
Euro and z-caron characters added.
•
more Far Eastern languages added to
TLanguage
enumeration
Improvements in math functions required to attain full JCK certification (more tightly specified
than the previous IEEE754 certification).
8.5.3.1.1.2 Performance
Many optimizations:
•
machine-coding many math, memory and other functions
•
specialized arrays are used where the generality of
CArray
-type classes was not needed
•
MMU code has been redesigned to reduce context-switching overheads by supporting
system processes whose address mapping is fixed with respect to execution context (this
reduces the need for cache flushes and PDE moves on context switching)
8.5.3.1.1.3 i/o handling and porting
Kernel changes:
•
layering improvements in the kernel for better porting
•
support for many different hardware variants
PC Card control code now supports i/o cards as well as memory cards.
Better i/o handling:
•
interrupt chaining now supported, many DFC-related improvements
•
new power model in which devices report their requirements, and the kernel keeps track
of power requirements and power sources, calling power management functions
appropriately
•
PC Card support has been generalized to cover any peripheral bus;
RBusDev
classes
introduced, eg
RBusDevComm
which replaces
RDevComm
. PBus code
separated into own DLL to allow machines without a peripheral bus not to load it.
•
changed UIDs on all device drivers because of the resulting incompatibilities
8.5.3.1.2 F32
8.5.3.1.2.1 User API
•
RFs::NotifyChange()
can now notify when changes occur in a directory, a file, a
directory and all subdirectories, or a directory across a number of drives (eg
?:\system\apps\
and subdirectories), and several other combinations. Several
notification requests may be issued by a single client. The corresponding cancel API may
cancel all or only selected notifications.
•
RFs::ReadFileSection()
reads bytes from a file without opening it and without
checking locks. This function allows rapid heuristic identification of file types, for the