The architecture of SophiaFramework UNIVERSE consists of three layers:
|
The SophiaFramework UNIVERSE style of development is to use the GUI framework, and to combine APIs of the C++ Utilities and Wrapper classes as the basis for BREW applications.
*SophiaFramework UNIVERSE can also be extended according to the needs of the developer.
GUI ( GUI Framework and UI Components )
The GUI framework automates jump processing of events and redrawing of windows.
All that is left to do is register events and their corresponding event handlers to the framework.
Useful UI components such as windows, dialog boxes, buttons, radio buttons, tabs and combo boxes are also provided.
UI specifications can be readily modified using the GUI libraries, and these original specifications can be shared amongst multiple applications.
SophiaFramework UNIVERSE GUI for BREW ( zip file )
Utilities
Mobile SOAP / XML
XML-related classes such as DOM / SAX parsers supporting DTD / XMLSchema, and WSDL / SOAP communication classes allow the rapid development of Mobile SOAP / XML applications.
SophiaFramework UNIVERSE XML for BREW
Network
Network classes help handle high level protocols such as POP3 / SMTP, HTTP / HTTPS, TCP / IP and SSL. A class for representing IP addresses and a DNS resolver are also included.
File
File classes provide high level functions such as create / delete list of directories, or create / delete and read / write of files, in addition to the management of file paths.
Stream
Stream classes automate complicated context management for data transmission / reception, and make the reading / writing of files and network communications simple.
String
String classes can mutually convert char and AECHAR strings, and automate the management of runtime memory. An instance of a String class can be directly passed to C++ wrappers.
There are string classes for recognizing ASCII, UTF-8, UTF-16 and for encodings like Shift_JIS.
Buffer
Buffer classes encapsulates the allocation of dynamic memory by the function MALLOC(), and the deallocation by the function FREE().
Using these classes, even if the developer forgets to free memory, memory leaks won't occur.
Included are a heap class, a class that supports block allocation, a normal buffer class and a ring buffer class.
Shape and Color
Shape and Color classes make the movement of figures, arrangement and drawing processes intuitive.
Instances of shape and color classes can be passed to C++ wrappers directly.
Collection
Collection classes are classes optimized for BREW and the RVCTB compiler, including array list, interactive link list, hash map, and stack for managing mutable data.
They automate allocation and deallocation of memory needed when managing mutable data.
Mathematics
Mathematical classes enable the use of floating-point operations, which are the standard math functions included in the RVCTB compiler. It facilitates the migration of software from computers or PDAs to BREW-enabled handsets.
Classes that support UNIX drand48 and Mersenne Twister algorithm are also included.
General
General classes include classes for handling dates, converting endians, managing configuration files, managing a list of string pairs and drawing objects.
C++ Wrappers ( BREW Interface Wrappers and Smart Pointers )
All BREW interfaces are wrapped in C++ so that C++ instances for String, Shape, Color or other utility classes can be passed directly to BREW interfaces.
Using Wrapper Libraries with Smart Pointer classes automates memory allocation and deallocation, eliminating the need to manage complicated interface controls while avoiding memory leaks.
Others
Reserved words and predefined macros make the source code readable and concise.