home products site map about
Elicia  
   
   
 
 

Elicia Framework Component – Overview

Elicia Framework Components Library provides the programmers the building blocks for building-up their own application frameworks. It contains the most common and useful object classes for framework construction. By using Elicia, programmers and software designers can concentrate on the architecture of the framework and don’t need to worry about the implementation of the basic objects any more. Elicia Framework Components library includes the classes of following aspects: multi-threading and synchronization, data persistence and management, message queues and commands, software engine, and debug helpers etc.

Class List

Synchronization objects:

It includes the object classes of Events, Mutexes, Semaphores and Critical Sections. These object classes encapsulated those kernel objects and they can be used in a very simple and straight forward way without calling the APIs.

Threading objects:

It includes simple thread object class and worker thread object class. By these classes, new execution threads can be implemented simply by overriding the classes. For the worker thread class, it also provides the function of work progress notification.

Data Set Persistence and Management objects:

It includes the object classes that help you to persist and to manage your data in the application. Programmers can implement their own Data Store objects by deriving from the Data Store class, and then Data Store Manager will help you to save/load the data into the files automatically.

Message Queues:

It provides the general Message Queue functionalities. Messages can be sent to dedicated targets or to all targets. Messages can be delayed or repeated in specified time interval.

FIFO Buffer:

It provides the First-In-First-Out (FIFO) raw data buffer. It is most suitable in the multi-thread producer-consumer data models.

Options String Parser:

It provides the object class that helps you to parse and retrieve the options from the command line argument string.

Registry Key Helper:

It provides the object class that helps you to operate the Windows Registry. The methods of the registry wrapper object simplified the calls to the Windows Registry APIs, so that registry operations can be done in much more easy way.

Data Objects and Commands:

It provides the Data Object classes that wrap fundamental data types and array objects. These Data Objects can be serialized into flat memory blocks. And then the memory blocks can be saved / loaded or sent to another computer in simple way. It mostly used in communication between application programs or computers. It also provides a Command Object class that can also be serialized as Data Objects. By using it, commands to other programs or other computers can be sent easily.

Debug Helpers:

It provides a Debug Helper class that helps you to manage the debug messages. It also defines a Debug framework for you applications. By using the Debug Helper, you can define your debug messages into different debug levels. In runtime, you can specify which level’s messages are shown. You can also choose which module’s debug messages are shown and where the debug messages are shown (e.g. into a file, in debug window or in console).

Software Engine:

It provides a high performance and very flexible software engine architecture for your applications. In addition, the software engine contains a message queue inside it so messages can easily be sent to the clients of the engine. It also provides with a high precision timer so clients can have very accurate timing in each loop.