So, there is one problem, there is the case that you just have the
notation in eolian that a special object implements a interface, to
bring the actual logic to it, you are going to composite_attach a other
object to it. The problem then in clouseau was that clouseau doesnt know
a implementation does exist, so it didnt display the implementation.
The new solution uses eo to fetch the function pointer to the actual
implementation to know if the function is really implemented or not.
Some buffers of 2K were allocated in the stack during the classes
buffering.
A crash was happening when the data was too big to fill most of the
stack buffer. This was rewriting the stack frames information.
Ecore X functions are not used anymore. An Evas snapshot is created and
its data is stored when the RENDER POST event is invoked on the canvas.
It fixes the random black screenshot and the constant black region at
the bottom of the window (probably caused by some change made on the
title bar management, as it seems to be the exact size).
When a return value is the only parameter of the function, a blank name
was displayed.
Additionally, the param name is not shown if there is only one parameter
for the function.
When the user wants to save the data (snapshot), Clouseau requests from
every running extension the data that is "exported".
All the data are then encapsulated into one single file.
The first idea was to use EET to store the extensions blobs as basic var
arrays. But it was taking so much time that is has been chosen that the
data itself is appended in the file after the EET blob. This one only
contains the app name/pid and the number of bytes of the blob, per
extension.
Additionnally, the objects introspection extension has been modified to
behave as the first Clouseau, i.e taking all the objects information in
one shot and using it during the interaction with the user.
The Save/Load button is now a part of the main toolbar.
It has been removed when the extentions feature has been introduced.
Now, when -f is used in the command line, a list of extensions is
displayed to request the user to choose the extension that needs to
handle this file.
The objects introspection, that has always been as a core part, is now
an extension, and can be not used.
The directories structure allows other extensions to be developed inside
the Clouseau tree, even if they can be developed outside.
Other extensions will be added and the extensions feature will be
adapted to fit all their requirements.