the function arguments were passed in the wrong order, which resulted in
a wonderfull backtrace. Further more, eolian decided to return NULL as
class parents, and extensions. This _at_least_ brings back the basic
works.
If, for some reason, the application didn't load clouseau_debug.so, the
snapshot opcodes are not known, resulting in Clouseau freezing forever.
fix T7017
This reverts commit 318ee74c88.
The changed there let to segfaults here, and it barelly worked, so new
changes are done after that, to get clouseau back to work mode now.
Summary:
All eolian API's require to use Eolian object.
The object introspection still doesn't works for me. At least clouseau
is compiling now.
Test Plan: Compile Clouseau with git efl.
Reviewers: ajwillia.ms, JackDanielZ, Deepwarrior, i.furs
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D5632
This for now shows the nodes that are registered in a manager, in the
hirarchy that is used. Redirects are displayed red, logicals gray and
normals in a e-style blue. If something is part of the focus history its
green.
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.
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 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.
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.