Daniel Zaoui
0987b31247
Eolian/Generator: detach Eo1 from Legacy generator.
...
This step is needed to clean the code and to prepare the integration of
Eo2 inside Eolian.
Except the eo_do invocation, there is no reason why legacy has to know
about Eo.
2014-03-24 08:14:30 +02:00
Daniel Zaoui
cc9526cd7f
Eolian/Generator: generate Eo * instead of Evas_Object *
2014-03-23 08:04:22 +02:00
Carsten Haitzler
4da1081c4d
drm - shut up warnings (not actual bugs)
2014-03-22 19:12:07 +09:00
Mike Blumenkrantz
f3d5cee0e4
edje_cc can now use group.program_remove to remove inherited programs
...
@feature
2014-03-22 02:20:09 -04:00
Mike Blumenkrantz
7cfde40500
edje_cc no longer fails when program.name is specified after program.after
2014-03-22 00:52:55 -04:00
Mike Blumenkrantz
a755dfa75e
edje_cc should probably disallow overriding of currently-sequencing program
2014-03-22 00:13:18 -04:00
Mike Blumenkrantz
b8bc366a28
edje_cc now supports program.sequence for more easily chaining programs together
...
this is just some syntax shortening for program.after which causes program.action and program.script to create a new program and automatically chain it within the sequence{} block
recursive sequences not currently allowed/planned (don't be insane)
@feature
2014-03-21 23:56:05 -04:00
Mike Blumenkrantz
98eaad570b
edje_cc macros even more of its parser setup for consistency
2014-03-21 23:04:05 -04:00
Mike Blumenkrantz
b6949578cf
edje_cc typo which almost broke everything except nobody noticed
2014-03-21 22:36:22 -04:00
Mike Blumenkrantz
cc5f8c6852
edje_cc uses macros for some of its handler setup
...
this reduces code size, ensures consistency, and actually fixes bugs where the "filter" keyword was erroneously disallowed in some places
@fix
2014-03-21 22:09:54 -04:00
Mike Blumenkrantz
499020ce4d
edje_cc no longer reads every character of a script during parsing
2014-03-21 22:08:19 -04:00
Mike Blumenkrantz
0681af5ca1
edje_cc group.remove should probably be group.part_remove
...
this allows things like group.program_remove to exist
2014-03-21 16:50:12 -04:00
Mike Blumenkrantz
4619c3de4e
edje_cc now supports part.inherit for copying attributes of parts within a group more easily
...
@feature
2014-03-21 15:47:04 -04:00
Mike Blumenkrantz
79a6653f59
edje_cc error message for description with missing state is now useful
2014-03-21 15:40:40 -04:00
Mike Blumenkrantz
fa14af1afb
edje_cc no longer errors when inheriting a description before/when state is not set
...
anonymous states are allowed in other places, so having this check is inconsistent and breaks inheriting. an error will be triggered at a later point.
2014-03-21 15:25:15 -04:00
Mike Blumenkrantz
153e3b45b4
edje_cc now supports group.remove for removing parts from inherited groups
...
@feature
2014-03-21 15:12:38 -04:00
Mike Blumenkrantz
c4fc401d87
edje_cc now supports program.targets keyword for adding N targets in one line
...
@feature
2014-03-20 19:40:51 -04:00
Mike Blumenkrantz
d025f89b2e
edje_cc also checks min args correctly for STATE_SET actions
...
@fix
2014-03-20 19:27:48 -04:00
Mike Blumenkrantz
0f1ccdad09
edje_cc now correctly handles lack of state int in STATE_SET action
...
@fix
2014-03-20 19:20:50 -04:00
Mike Blumenkrantz
edf825fd07
edje_cc no longer fails on collections.group{}
...
@fix
2014-03-20 14:59:58 -04:00
Cedric BAIL
15654012a6
edje: let's be careful on the string content.
...
Fix CID 1193215.
2014-03-20 16:48:38 +09:00
Tae-Hwan Kim
3061a706c4
Add new PLUGIN_RUN action type and new plugins.plugin handlers 1. If external library is commerical source and not opensource, we cannot include/build the library within edje. 2. If external library does not use general encodable sources, we...
...
Summary:
...cannot encode those things into edje.
In our case, we need vibration when longpressed. But those files are not
audio or image and cannot be encoded into edje. Also, this library is not
opensource so should not be linked directly with edje.
So we should call vibration API by using this plug-in.
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D588
2014-03-20 13:00:21 +09:00
Stefan Schmidt
44a54caa16
eolian/eo1_generator: Fix leak in error path
...
We allocated tmpstr so we should free it before we return in the error case.
CID 1191926
2014-03-19 16:40:52 +01:00
Daniel Zaoui
d5256d442d
Eolian/Generator: Don't generate sub ids structure if not needed.
...
If no methods and properties are declared for a class, no base id and
sub_ids structure are generated.
@fix
2014-03-19 07:52:04 +02:00
Daniel Zaoui
15f2bda474
Eolian/Generator: fix generation of events.
2014-03-19 07:04:28 +02:00
Jean-Philippe Andre
320a9f18c5
Evas cserve2: Fix client crashes when a file changed
...
Clients must ignore changed file entries as they are not valid
anymore. The server will also mark the entry as invalid in case
of file update.
@fix
2014-03-18 13:49:05 +09:00
Daniel Zaoui
5d1b948508
Eolian/Generator: Retrieve the Eo prefix from the database instead of
...
guessing it.
2014-03-16 16:00:29 +02:00
Yossi Kantor
6862fa801b
Eolian/Generator: Improved event generation
...
Line breaks in source files and extern definitions
of events in header files.
2014-03-16 09:23:49 +02:00
Daniel Zaoui
c203df0b5d
Eolian: Support default return values from .eo file.
...
Now, it is possible to assign a default return value for a
method/property.
It will be used in case the function invocation makes issues, e.g eo_do
failing to find the function...
2014-03-16 08:37:23 +02:00
Daniel Zaoui
81c2a5d217
Eolian/Generator: return values set to 0.
...
Before eo_do invocation, generated legacy functions returning a value
initialize it to 0.
This change is needed in the case that eo_do fails to find some
function, which leads to an unitialized value and behavior.
2014-03-14 13:21:51 +02:00
Daniel Zaoui
dcf94e9dd8
Eolian/Generator: fix generation of headers for const params.
...
When a parameter of a property is const for get but not for set, the
.eo file indicates it by setting a flag 'const' for this parameter.
The generation was checking this flag for C files generation but not for
H files.
2014-03-13 09:14:14 +02:00
Daniel Zaoui
fd67c1692c
Eolian/Generator: fix generation for return values.
...
- Remove space between type and variable if a star is present.
- Initialize return value to NULL before eo_do. It is needed in case the
eo_do invocation fails (NULL object...).
- Add const to the internal return value if needed.
2014-03-11 15:43:46 +02:00
Daniel Zaoui
d3f343bdcc
Eolian/Generator: fix type when no data type exists.
...
When data is set as "null", the generator was writing for this data
variable "void * *_pd" instead of "void *_pd".
2014-03-11 15:25:24 +02:00
Daniel Zaoui
0d6fadcab9
Eolian/Generator: fix for virtual pure implementations
2014-03-11 15:20:54 +02:00
Yossi Kantor
b070981f8f
Eolian: Support of unsigned short as int in va_arg
2014-03-11 07:37:47 +02:00
Daniel Zaoui
d96c429179
Eolian/Generator: support NULL pointers for return values.
...
When an Eo operation returns a value, this one is stored in the last
parameter as an out parameter.
In case the caller doesn't set a pointer there, the storing will be done
in a NULL pointer and will bring to a segfault.
The generator has been modified to handle this case. Now, if the ret
pointer is NULL, the value will not be returned.
2014-03-10 15:07:05 +02:00
Daniel Zaoui
4e33fd16e2
Eolian: add support of eo_prefix and data.
...
You can add in the .eo file the eo_prefix:... and data:... in case
you want to override respectively the Eo prefix and the data type.
If "data: null" is used, no data type will be added.
2014-03-10 15:07:05 +02:00
Daniel Zaoui
a04e80e7f6
Eolian/Generator: fix for legacy function name overriding.
...
When legacy is specified in the .eo file, the generator was adding the
property/method name after the legacy name.
So if you have 'legacy evas_object_textblock_clear_all' for clear method,
it was adding the function evas_object_textblock_clear_all_clear.
2014-03-10 13:28:03 +02:00
Daniel Zaoui
4be9526cc2
Eolian/Generator: more fixes related to stars to add to params.
2014-03-09 13:19:30 +02:00
Tom Hacohen
561ea66dec
Eet vieet: Fixed to work on non-bash compat shells.
...
Thanks to Davide Andreoli for reporting and suggesting fixes.
2014-03-08 10:55:37 +00:00
Daniel Zaoui
a78f779486
Eolian: Fixes into generated files.
...
- Added Doxygen description to parameters and return
- Added default description for parameters
- Return type needs to be after all the other parameters
- Better handling of stars for pointers: try to figure if a space is
needed between the type and the variable (e.g int *a / int a)
2014-03-07 17:42:41 +02:00
Daniel Zaoui
bb8af681f9
Eolian: Coverity fixes
2014-03-07 17:42:41 +02:00
Tom Hacohen
e63a5cc903
Eet: Added vieet a tool to edit eet files.
...
This tool lets you just open an eet file for editing directly,
by wrapping around 'eet' and the preferred editor defined in the env var
'EDITOR'.
@feature
2014-03-07 15:11:30 +00:00
Tom Hacohen
426e95b214
Eolian gen: Have a more useful error message when failing to write file.
2014-03-07 12:01:52 +00:00
Cedric BAIL
f01a5a6265
git: ignore generated file.
2014-03-07 09:36:52 +09:00
Daniel Zaoui
7aebf671bf
Eolian/Generator: Switch set/get functions generation.
...
We want to generate first set properties and then get properties to be
in accordance with the current op ids order.
2014-03-06 15:12:51 +02:00
Daniel Zaoui
232a3cf5fc
Eolian/Generator: Fix comments generation in headers.
...
Trailing whitespaces were added in description empty lines.
2014-03-06 15:12:51 +02:00
Chris Michael
3d5f93a9cf
ecore-drm: Add code for SPARTACUS !! ;)
...
@ferature: This adds code for the ecore-drm auth process to open
restricted inputs/cards/etc by the user.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:15:29 +00:00
Cedric BAIL
dea550eba1
edje: add AUTHORS and more than one license file to Edje.
...
@feature
2014-03-06 16:33:06 +09:00
Cedric BAIL
add9540b1c
edje: fix edje_watch to not pass the '\n' to eio_monitor.
...
Eina_File line iterator does give the length of the line including the '\n'.
We did previously ignore that and passed the '\n' down to eio_monitor. Obviously
it would fail to monitor a PATH that finished with a '\n' and edje_watch did
stop working. I guess nobody did any real testing with edje watch in the past
year.
@fix
2014-03-05 12:14:40 +09:00
Daniel Zaoui
fe682d9760
Eolian: Valgrind fixes
2014-03-03 18:14:14 +02:00
Daniel Zaoui
49822ec28d
Eolian: remove Ecore_File dependency
2014-03-03 18:14:14 +02:00
Daniel Zaoui
e8ee7ae24b
Eolian: fix warnings.
...
Don't want Stefan to be angry ;-)
2014-03-03 14:28:30 +02:00
Yossi Kantor
1287177ac2
Eolian: New features/bugs fixes
...
1) Include files now have include guards
2) --gh option generates legacy header with --legacy flag and eo header
without --legacy flag
3) EOLIAN keyword is introduced to mark functions used by generated
file.
4) * for comments when comment text is empty
2014-03-03 14:09:57 +02:00
Yossi Kantor
67dd5ef497
Eolian: New generation feature tested and bugs fixed
...
1) Underscore for static global names
2) Escape special characters for in-code descriptions
3) Proper spaces for generated lines
2014-03-03 14:09:57 +02:00
Daniel Zaoui
87f661e08e
Eolian: support non null parameters.
...
The generation is only needed in legacy headers.
2014-03-03 14:09:57 +02:00
Daniel Zaoui
210051ebb3
Eolian/Generator: fix data type for implement function
2014-03-03 14:09:57 +02:00
Daniel Zaoui
10d7bffc4a
Eolian: support warn_unused variables.
2014-03-03 14:09:56 +02:00
Daniel Zaoui
2db3cdb5e3
Eolian: Valgrind cleaning
2014-03-03 14:09:56 +02:00
Daniel Zaoui
21533a0079
Eolian/Generator: errors handling improvement.
...
Errors occuring during generation are now propagated to the main (i.e
exit code).
Logs have been ported to EINA_LOG instead of printf.
2014-03-03 14:09:56 +02:00
Daniel Zaoui
baaf92c93a
Eolian/Generator: implementation prototype change
...
Since we know the type of the private data given as parameter of the
implemented function, we can set it instead of void *.
2014-03-03 14:09:56 +02:00
Daniel Zaoui
60919ecbe6
Eolian/Generator: improve command line arguments and logging.
...
Now --gh/--gc don't require an additional argument.
If eolian_gen is called with --gc and some file.eo, the tool will
generate file.eo.c.
You can force another filename by using the -o with an argument.
Moreover, logging has been added to the generator.
2014-03-03 14:09:56 +02:00
Yossi Kantor
521701ff70
Eolian: naming convention for implemented functions
...
The format is now _<current_class>_<inherited_class>_function_name.
2014-03-03 14:09:56 +02:00
Daniel Zaoui
02f4c112ca
Eolian/Generator: add private data to the prototypes of implementations
2014-03-03 14:09:56 +02:00
Yossi Kantor
c7beca12ec
Eolian: Class type and class constructor/destructor generation added
2014-03-03 14:09:56 +02:00
Daniel Zaoui
920c035c57
Eolian: Support of virtual pure functions.
...
Virtual pure can be defined in Eolian format by adding in the section
implements virtual::class_name::func_name[::func_type].
2014-03-03 14:09:55 +02:00
Daniel Zaoui
f7dce9c8c9
Eolian/Generator: update options and return value from main.
...
-v is used instead of -V
returns 1 when an error occurred
useless print removed when scanning include directories
2014-03-03 14:09:55 +02:00
Daniel Zaoui
5ae7cc962f
Eolian: Format changes
...
- Support keys/values for properties instead of params
- Direction for parameters syntax changed from in to @in...
- obj:const changed to const in .eo
2014-03-03 14:09:55 +02:00
Daniel Zaoui
a8661af73e
Eolian: update .gitignore
2014-03-03 14:09:55 +02:00
Daniel Zaoui
61b180448a
Eolian/Generator: improve the files management.
...
Now, the .eo file given as parameter doesn't have to be into the given
include paths.
2014-03-03 14:09:55 +02:00
Daniel Zaoui
9add4c695c
Eolian: remove --class option.
...
Now, the .eo file needs to be supplied instead of the class.
2014-03-03 14:09:54 +02:00
Yossi Kantor
17abdbdd43
Eolian: Code review fixes
...
1) API defined under EFL_BETA_API_SUPPORT
2) Init counters for init and shutdown
3) void for no-parameters functions
2014-03-03 14:09:54 +02:00
Daniel Zaoui
7a114b18af
Eolian/Generator: oups, didn't mean to push that.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
8de58b9757
Eolian/Lexer: rename signals to events.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
a934780714
Eolian-generator: fix crash during generation
...
It happens when no description is supplied for an event.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
ab8d877150
Eolian/Generator: support legacy as option.
...
For the moment, the option works for C files. Have to add support for H
files.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
327202ef37
Eolian/Generator: port options to getopt
...
Even if we want to remove the appending options, we still support them.
We will remove them later.
2014-03-03 14:09:54 +02:00
Daniel Zaoui
5dea8ee0a8
Eolian: first import.
...
Imported by Tom, from the eolian repo which was written by:
Daniel Zaoui <daniel.zaoui@samsung.com>
Yakov Goldberg <yakov.g@samsung.com>
Yossi Kantor <yossi.kantor@samsung.com>
Savio Sena <savio@expertisesolutions.com.br>
Jérémy Zurcher <jeremy@asynk.ch>
Signed-off-by: Tom Hacohen <tom@stosb.com>
2014-03-03 14:09:53 +02:00
Cedric Bail
92a24dea79
edje: @feature to include license in edje file.
...
This will close T1027.
2014-03-03 08:39:53 -03:00
Jean-Philippe Andre
1fae9e5e21
cserve2: Fix minor clang warning
2014-02-14 13:06:05 +09:00
Carsten Haitzler
bf4d34c172
edje - edje_cc - remove logically dead code
...
fixes CID 1135268
2014-02-13 19:31:29 +09:00
Carsten Haitzler
8764bd240c
evas cserve2 - fix chekc of wrong return type
...
the wrong value was checked (not the returned value) - coverity caught
this. fixes CID 1135269
2014-02-13 19:27:11 +09:00
Carsten Haitzler
db1990020a
edje - feature - add channel types for sounds and ability to mute them
...
this adds a new feature to be able to assign a sample to a given
"type" of audio channel, and then to be able to mute these from code.
2014-02-09 19:08:12 +09:00
Carsten Haitzler
7c7f2eb300
formatting - make parse enum easier to read
2014-02-09 13:38:36 +09:00
Carsten Haitzler
82af0f60c5
edje_cc - sample play - document speed param and allow wider range
2014-02-09 13:31:00 +09:00
Jean-Philippe Andre
22e94df0f7
Evas filters: Quick check for existing part name
...
We just add all buffer source names to the part lookup queue,
so that edje_cc will check that the source part exists.
The final int key is discarded.
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre
a25b212bac
Evas filters: Add support for proxies in Edje
...
They will be defined with the following syntax:
buffer:buf(src=part);
2014-02-07 17:33:18 +09:00
Jean-Philippe Andre
08f2624e6a
Evas filters: Implement basic Edje support
...
Does not support proxies yet.
Implemented as "filter" field in a part.description.text (next
to a "font").
2014-02-07 17:33:18 +09:00
Cedric BAIL
5593964ead
embryo: force the insertion of a '/' in the path to be sure that file path make sense.
2014-01-24 08:19:47 +09:00
Carsten Haitzler
1c2da046dc
embryo_cc - remove trainling / from path for windows stat so it works
2014-01-23 08:45:44 +09:00
Jean Guyomarc'h
1e287bde2b
edje_cc: factorize two strlen()s
...
Reviewers: cedric, raster
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D454
2014-01-20 12:47:46 +09:00
Jean-Philippe Andre
137383b532
Evas/cserve2: Add some safety checks when reading socket messages
...
Fixes CID 1039571 and 1039572.
2014-01-15 16:06:08 +09:00
Jean-Philippe Andre
debbba4758
Evas/cserve2: Fix potential crash in image_free
...
Don't try to free an object that was already freed.
Basically, allow image_free(NULL).
2014-01-14 14:23:05 +09:00
Jean-Philippe Andre
99efaf4ad1
Evas/cserve2: Clear up File_Data when opening a new image
...
After a file changed, the "changed" flag was not reset in the
File_Data structure, although it was supposed to represent a
new entry altogether.
2014-01-14 14:23:05 +09:00
Jean-Philippe Andre
73670beba3
Evas/cserve2: Rename "invalid" field to "changed"
...
This flag indicates that a file changed, not that the entry
is invalid. There is another "valid" flag already.
2014-01-14 14:23:05 +09:00
Jean-Philippe Andre
1d99c82381
Evas/cserve2: Improve error messages a bit
2014-01-14 14:23:04 +09:00
Jean-Philippe Andre
038f4b4fcf
Evas/cserve2: Reduce error logs on invalid glyph load
...
Change message level from ERR to WRN, when a glyph is not
loadable because FT fails to load it or it contains 0 pixel.
cserve2 used to complain about invalid glyph 3, on a few fonts
2014-01-14 14:23:04 +09:00
Jean-Philippe Andre
6a4c84a6a4
Evas/cserve2: Fix crash in server on file change
...
An inotify callback is triggered when an image file changes,
and it is supposed to cleanup all references to this image.
Unfortunately, it was doing it in a very unsafe way as pointers
could become invalid, because of hash free callbacks in the
referenced image list. Add some list safety and always assume
the pointer might be dead after free operations.
TBH, this _file_changed_cb function looks very confused to me
(as it tries to bypass eina_hash_del).
2014-01-14 14:23:04 +09:00
Jean-Philippe Andre
00417fe256
Evas/cserve2: Fix memleak during shutdown
...
Don't reset the dead slave callback, as it is used to free the
slave worker's resources.
2014-01-14 14:23:04 +09:00
Jean-Philippe Andre
f1aa32a4a4
Evas/cserve2: Use calloc instead of malloc
...
This will silence some warnings from valgrind (and add some
safety as well...)
2014-01-14 14:23:04 +09:00