Design Improvements #191
Updated by André Neto almost 10 years ago
h1. Main definitions
h2. Object
The MARTe Object is a class which offers the following functionality:
# Can be managed through a shared/smart pointer mechanism;
# Can be automatically constructed given a class name;
# Provides a standard initialisation/configuration configuration/setup entry function;
# It has a name;
# Is introspectable.
## As a minimum the following information shall be available:
### The name of the class;
### The name of the object;
### The version of the class from which the code was compiled (i.e. revision control version)
## Shall enable reflection of derived classes that wish to expose this information.
As in the previous version of the framework any Object class instance shall automatically register itself in a class database. This database shall expose:
# All the classes that were instantiated by the framework for any given application;
# The number of objects that were instantiated for any given class.
h2. Smart/shared pointers
As in the previous version of MARTe (i.e. BaseLib2) the framework shall support, promote and enforce the usage of shared pointers. This was implemented using GCRTemplate and GCRefences. Only minor refactoring is expected.
Naming of new classes to be agreed. Reference
h3.
h2. Object
The MARTe Object is a class which offers the following functionality:
# Can be managed through a shared/smart pointer mechanism;
# Can be automatically constructed given a class name;
# Provides a standard initialisation/configuration configuration/setup entry function;
# It has a name;
# Is introspectable.
## As a minimum the following information shall be available:
### The name of the class;
### The name of the object;
### The version of the class from which the code was compiled (i.e. revision control version)
## Shall enable reflection of derived classes that wish to expose this information.
As in the previous version of the framework any Object class instance shall automatically register itself in a class database. This database shall expose:
# All the classes that were instantiated by the framework for any given application;
# The number of objects that were instantiated for any given class.
h2. Smart/shared pointers
As in the previous version of MARTe (i.e. BaseLib2) the framework shall support, promote and enforce the usage of shared pointers. This was implemented using GCRTemplate and GCRefences. Only minor refactoring is expected.
Naming of new classes to be agreed. Reference
h3.