aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/efl_mono/libefl_mono_native_test.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* csharp: Split test filesLauro Moura2019-05-221-4096/+0
| | | | | | | | | | | | | | Summary: Make it easier to add new tests Reviewers: vitor.sousa Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8937
* csharp: Fix event marshalling for value typesLauro Moura2019-05-141-3/+13
| | | | | | | | | | | | | | | | | | | | | | Summary: It was wrongly assuming value types were passed by value. As stated in the documentation, all arguments are passed with a single level of indirection. Fixes T7957 Reviewers: woohyun, felipealmeida, vitor.sousa, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7957 Differential Revision: https://phab.enlightenment.org/D8889
* csharp: Add Part suffix for the part wrappersLauro Moura2019-05-071-8/+8
| | | | | | | | | | | | Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8835
* csharp: Fix test code memory handlingLauro Moura2019-04-231-8/+29
| | | | | | | | | | | | | | | | | | | | | Summary: It was causing the test to crash when running in debug build. Also some minor fixes cleaning up stuff when exiting. Fixes T7792. Reviewers: segfaultxavi, vitor.sousa Reviewed By: segfaultxavi, vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7792 Differential Revision: https://phab.enlightenment.org/D8679
* efl-csharp: fix resource deallocation causing errors everywhereVitor Sousa2019-04-051-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit mainly fixes errors caused by deallocating resources in the garbage collector thread. Using `ecore_main_loop_thread_safe_call_async` to queue resource deallocation in the main thread seems to solve it. Also, some `efl_ref` calls are added in places they were missing, mainly objects that unref in the destructor thus taking ownership if efl_ref is not called. Also fix improper resource deallocation in tests that were causing it to crash, enabling it to call Efl.All.Shutdown again. This allocation and the deallocation process was moved from the Eo class constructor to static class methods that are called in the test 'set up' and 'tear down' methods. Queuing resource deallocation in the main thread make it mandatory that tests call `Efl.App.AppMain.Iterate()` if they want to check proper resource deallocation (like TestFunctionPointers.set_callback_inherited_called_from_c). Extras: Remove duplicated declaration of 'eflcustomexportsmono' in meson in order to fix some linking problems. Remove some unused code around deallocation functions that had to be reworked. Object allocation is now supplied with the call site information it expects (file name and line for _efl_add_start). Depends on D8550 Test Plan: meson test Reviewers: felipealmeida, lauromoura, cedric, segfaultxavi Reviewed By: lauromoura Subscribers: segfaultxavi Tags: #efl_language_bindings, #do_not_merge Differential Revision: https://phab.enlightenment.org/D8431
* csharp: Make classes abstract and rework castingLauro Moura2019-04-051-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Abstract Eo classes are now proper C# abstract classes. As a side effect, returning Eo instances from native code was reworked to return instances of their actual Eo classes instead of previous behavior of returning a generic Efl.Object and using static_cast. Instead of `var window = Efl.Ui.Win.static_cast(widget.GetParent());` Use `var window = widget.GetParent() as Efl.Ui.Win;` Another side effect was that `efl_constructor` was removed from the list of supported `Efl.Object` overrides. It is invoked inside `efl_add_internal_start`, before the bindings makes the association of the newly created EoId with the C# instance that created it, making the managed delegate meaningless. C# users then can use regular C# constructors to initialize fields. Also changed to set the private data of C#-inherited classes before the call to constructing methods (aka constructor parameters) so C# classes can override them correctly. Fixes T7778 Fixes T7757 Reviewers: vitor.sousa, felipealmeida, segfaultxavi Reviewed By: vitor.sousa, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7778, T7757, T7702 Differential Revision: https://phab.enlightenment.org/D8550
* efl-csharp: Add back I prefix for interfaces.Lauro Moura2019-03-211-0/+12
| | | | | | | | | | | | | | | | | | | | | | Summary: Conforming to C# coding conventions. For properties, now we only generate a wrapper if its name does not clash with the name of the class that would be implementing it. Fixes T7751 Reviewers: vitor.sousa, felipealmeida, segfaultxavi Reviewed By: vitor.sousa, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7751 Differential Revision: https://phab.enlightenment.org/D8397
* mono-tests: Fix after latest changes to eolianXavi Artigas2019-03-211-3/+3
| | | | | | | | | | | | | | | | Summary: Event payload checking is more strict now. Test Plan: Check that master can be built Reviewers: lauromoura, q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8437
* csharp: Remove test about conflicting events.Lauro Moura2019-03-201-12/+0
| | | | | | | | | | Conflictings events won't be allowed anymore on eolian-based classes. For manually subclassed C# classes that eventually have conflicts, this should be dealt with in T7744. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D8426
* csharp: Support Efl.Class for interfacesLauro Moura2019-03-151-0/+9
| | | | | | | | | | | | | | | | | | | | | Summary: The `GetEflClassStatic` method for interface is in their Concrete sidekick. Previously, passing a valid Eo interface as a type caused the binding to complain that `Type is not an Efl.Object`. Test Plan: run test case Reviewers: vitor.sousa, felipealmeida Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8360
* csharp: Fix event names with underscore.Lauro Moura2019-03-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | Summary: names like `focus_geometry,changed` shoud be converted to FocusGeometryChanged instead of Focus_geometryChanged. Fixes T7735 Test Plan: run tests Reviewers: vitor.sousa, felipealmeida, segfaultxavi Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7735 Differential Revision: https://phab.enlightenment.org/D8301
* efl-csharp: Respect beta for classes and other stuff.Lauro Moura2019-03-111-20/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In order to work around an issue with Efl.App, which is stable but inherits from Efl.Core.Command_Line, @beta interfaces/mixins in the inheritance chain are simply skipped. Also changed the class used int test for inheritance from C# Efl.Loop is stable but internally it uses a @beta class as argument to its Register() method in the constructor. When instantiating a user-defined C# subclass, the binding calls the C# override in the NativeInherit class and the marshalling fails as no code is generated for the beta class. Also moved Efl.Part test to a beta class. Efl.Part is still beta. Regarding parts, they are skipped if its class is @beta too. Also rejected all elm_* files in elm public eo files. They should get back in as they are converted to Efl.Ui.* api. An exception is elm_interface_scrollable.eo, as efl_ui_panel depends on it. Fixes T7730 Test Plan: Run tests Reviewers: vitor.sousa, segfaultxavi, felipealmeida, cedric, bu5hm4n, zmike Reviewed By: vitor.sousa Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7730 Differential Revision: https://phab.enlightenment.org/D8268
* efl-csharp: Respect beta in constructor parameters.Lauro Moura2019-03-071-0/+25
| | | | | | | | | | | | | | | | | | | | | | Summary: Fixes compilation after Efl.Ui.Win parameter changes. Also removed an unused var and now we pass the beta option to the eolian mono invocation for the tests. Fixes T7723 Reviewers: segfaultxavi, felipealmeida, vitor.sousa Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7723 Differential Revision: https://phab.enlightenment.org/D8150
* efl-mono: Add support for dotnet coreFelipe Magno de Almeida2019-03-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This commits adds dotnet as a supported C# platform for EFL# bindings. Due to differences between Mono and Dotnet regarding DllImport, the bindings now are using an imperative approach to load the function pointers through the NativeModule and FunctionWrapper classes. These classes handle the dlopen/LoadLibrary and dlsym/GetProcAddress calls. Also, the previous caching of non-owned strings returned to native code was removed until further memory checks. We also had to create workaround for bool and chars in Structs for C# marshaling. Going through System.Byte instead and Marshaling manually to their respective types. In order to actually build efl_mono.dll with dotnet right now, issue #4782 from Meson should be fixed to make it properly detect and used the Dotnet compiler. Also use "-Ddotnet=true" when running meson. Fixes T7394 Reviewers: felipealmeida, vitor.sousa, bu5hm4n Reviewed By: vitor.sousa Subscribers: cedric Tags: #efl Maniphest Tasks: T7394 Differential Revision: https://phab.enlightenment.org/D8069
* efl-mono: Add support for Efl.ClassLauro Moura2019-03-011-0/+12
| | | | | | | | | | | | | Efl.Class (in practice, the return from the *_class_get() functions) can be used as argument to functions, like in Efl.Object.provider_find and Efl.Ui.Widget_Factory.item_class(get/set). This commits adds support by representing Efl.Class instances as System.Type in the C# API, allowing someone to do things like: `factory.ItemClass == typeof(MyFramework.MyButton)` It also supports user-defined classes that inherit from efl classes.
* efl-csharp: Remove generated inlist/inarray supportLauro Moura2019-02-281-15/+0
| | | | | | | | | | | | | | Summary: To be added again in a later release after rework in Eolian Reviewers: q66, vitor.sousa, felipealmeida Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8056
* efl-csharp: Add support for containers in events.Lauro Moura2019-02-221-0/+5
| | | | | | | | | | | | | | Summary: Using a simple wrapper as event parameters are not ownable. Reviewers: vitor.sousa Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7981
* eolian: drop class function overridingMarcel Hollerbach2019-02-131-16/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until this commit eo did class functions as part of the vtable, which enabled those functions to be overwritten in classes inheriting another class. However in task T7675 we decided that this is not really good for bindings, as most OOP languages do not support this sort of feature. After this commit eolian realizes class function completly outside of the vtable, the c-symbol that is the class funciton is now just directly redirecting to a implementation, without the involvement of the vtable. This also means a change to the syntax created by eo: Calling before: class_function(CLASS_A); Calling after: class_function(); Implementation before: class_function(const Eo *obj, void *pd) { ... } Implementation after: class_function(void) { ... } This fixes T7675. Co-authored-by: lauromauro <lauromoura@expertisesolutions.com.br> Reviewed-by: Daniel Kolesa <daniel@octaforge.org> Differential Revision: https://phab.enlightenment.org/D7901
* eolian-mono: Provide constructor parameters based on the constructorsFelipe Magno de Almeida2019-02-011-0/+40
| | | | | | | | | | | | | | section of the Eo files. Reviewers: woohyun, segfaultxavi, bu5hm4n, felipealmeida Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7789
* efl_mono: add a free function to every owned typeMarcel Hollerbach2019-01-231-6/+6
| | | | | | | | | | | this is another step towards enforcing free functions on every owned type. To equip every owned type with a free function the following is applied. Every owned ptr is assumed to be a heap pointer, with the free function "free". Every string that is owed is converted to a mstring. a pointer to a eo object is also assumed to be a heap pointer, and equiped with the free function "free". Differential Revision: https://phab.enlightenment.org/D7710
* efl-mono: Fix lots of warnings in testsFelipe Magno de Almeida2019-01-171-6/+6
| | | | | | Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7675
* eolian_mono: fix inheriting from efl types not considering additional interfacesVitor Sousa2019-01-171-0/+11
| | | | | | | | | | Reviewers: segfaultxavi, bu5hm4n, Jaehyun_Cho, lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7635
* efl-mono: Add proper test for interface inheritanceFelipe Magno de Almeida2019-01-171-0/+24
| | | | | | | | | | Reviewers: segfaultxavi, bu5hm4n, woohyun, Jaehyun_Cho, lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7634
* efl-mono: test on inout RwSlice.Lauro Moura2019-01-161-0/+8
|
* efl-mono: Fix marshalling of struct in event data.Lauro Moura2019-01-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, we just converted through PtrToStructure, which didn't have the full marshalling info converting from the internal one to the external. This fixes the usage of the Efl.Loop.arguments event. Also renamed the ToExternal methods to ToManaged, to make clearer that the output struct is the one intended to be used from the managed code. Also fixed a minor styling in the generated code (making it easier to be inspected). Depends on D7538 Reviewers: segfaultxavi, felipealmeida, bu5hm4n Reviewed By: bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7539
* efl-mono: Remove warningsLauro Moura2018-12-211-7/+0
| | | | | | | | | | | | | | Test Plan: run tests Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7501
* efl_app: introduce app_main for getting the app objectMarcel Hollerbach2018-12-201-1/+1
| | | | | | | | | | This brings in the possibility to receive the app object from bindings. With the app object you can listen to pause / args / terminate / resume events. fix T7509 Differential Revision: https://phab.enlightenment.org/D7480
* efl-mono: Fix call of virtual methods after new APILauro Moura2018-12-141-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: After the new API, the virtual wrapper classes (*NativeInherit) just declared the wrappers for the current class. But as they didn't have any inheritance information, reimplementing methods from a parent Eo class wouldn't work. (e.g. Efl.Ui.Button reimplementing Efl.Object FinalizeAdd). This commit changes these NativeInherit classes to mimic the inheritance chain of their regular/abstract counterparts, reusing the virtual wrapper implementations. In order to access the correct Eo class created, the methods on it were changed from static to instance methods. The instance will be held as a class member of the regular/abstract API class to keep the delegates alive and allow getting C Function pointers from them. The class_initializer method was also split in two. The method collecting the wrapper delegates was extracted in order to call the parent ones. Also avoid exception in cached strings queries as TryGetValue requires non-null keys. Test Plan: Run test suite. Reviewers: vitor.sousa, felipealmeida Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7460
* eolian_mono: Add support for C# style propertiesLauro Moura2018-12-141-0/+20
| | | | | | | | | | | | | | | | Summary: Syntatic sugar around the Get/Set functions for now. Test Plan: Run efl-mono-suite Reviewers: vitor.sousa, segfaultxavi, felipealmeida, Jaehyun_Cho Reviewed By: vitor.sousa Subscribers: cedric Tags: #efl_language_bindings Differential Revision: https://phab.enlightenment.org/D7394
* csharp: Change to new class API.Lauro Moura2018-11-291-427/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As discussed in T7204: - Eo Interfaces/mixins -> C# Interfaces with concrete class implementations - Eo Regular/Abstracts -> Proper C# classes - Added some new generators and helper methods. - Refactored the class generator, splitting into helper methods Eo handles now are stored only in the "root" class in any given inheritance tree (generally, Efl.Object), and accessible to each child. Methods also are defined in a single place instead of repeatedly generated in everyfile, reducing the size of the generated .dll from 30MB to around 4.5MB. Mixins are generated as C# interfaces but any regular class it inherits from is lost, as we can't have interfaces inheriting from regular classes. This will be dealt with in a later commit. Summary of API Changes: - Merged Inherit/Concrete classes. (These suffixes disappear from regular classes). - Interface still have implementations with 'Concrete' suffix for when they are returned from methods. - Removed 'I' from interface names. - Removed interfaces for regular/abstract Eo classes. - Concrete classes for interfaces/mixins hold the event argument struct. - Removed '_' from classes, enums, structs, etc, as indicated in C# naming conventions. - Namespaces are now Camel.Cased. - Renamed IWrapper's raw_handle/raw_klass to NativeHandle/NativeClass Also renamed the test classes as after the namespace change, the test namespace Test can conflict with the helper Test namespace. (And use more meaningful names than Test.Testing...) Also Fixes T7336 by removing a deprecated example and adding efl_loop_timer_example to build system. Fixes T7451 by hiding the class_get DllImports and renaming the IWrapper fields. The native handlers are used in the manual binding. Still need to work: - As there are still some events names clashing (e.g. Efl.Ui.Bg with "resize" from Efl.Gfx.Entity and Efl.Gfx.Image), Events are currently declared on the interface and implemented "namespaced" in the classes, requiring the cast to the interface to access the event. - The Mixin Conundrum. Mixin inheritance will be dealt in a future commit. Depends on D7260 Reviewers: segfaultxavi, vitor.sousa, felipealmeida, Jaehyun_Cho Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7451, T7336 Differential Revision: https://phab.enlightenment.org/D7262
* efl-csharp: Use value_new/free for wrapped valuesLauro Moura2018-09-031-3/+3
| | | | | | | | | | | | | | | | | | | | | Summary: Using malloc/free as it was used before would cause double frees and other issues when mixing with eina_values created from the value mempool inside Eina. Fixes T7359 Reviewers: felipealmeida, vitor.sousa, segfaultxavi Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7359 Differential Revision: https://phab.enlightenment.org/D6958
* efl_mono: Fixes after efl_part/del changes.Lauro Moura2018-05-241-0/+2
| | | | Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
* efl: major rewrite of efl_part.Cedric BAIL2018-05-241-1/+1
| | | | | | | | | | The interface efl_part_get should not be directly called from C, but the efl_part wrapper should. It rely on efl_noref to properly destroy the object. Binding can control the lifecycle of the reference the way they want by either calling the wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set doesn't need to be exposed outside of EFL anymore. Differential Revision: https://phab.enlightenment.org/D6098
* Revert "efl_add_ref - fis to use efl_add properly with a parent."Cedric BAIL2018-05-241-1/+1
| | | | | | | | | | | | This reverts commit 2fb5cc3ad09f6aaf82b5d1131ac5ed22ed848bd4. Most of this change where wrong as they didn't affect the destruction of the object. efl_add_ref allow for manual handling of the lifecycle of the object and make sure it is still alive during destructor. efl_add will not allow you to access an object after invalidate also efl.parent.get will always return NULL once the object is invalidated. Differential Revision: https://phab.enlightenment.org/D6062
* efl_mono: Generate support for accessors in .eosLauro Moura2018-05-231-0/+15
| | | | | | | | | | | | | | Summary: Depends on D6190 Reviewers: felipealmeida, vitor.sousa Reviewed By: vitor.sousa Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6191
* efl_mono: Start generating eina future in eolian_mono.Lauro Moura2018-05-171-0/+43
| | | | | | | | | | | | | | | | | | | | | | | Summary: Besides the normal methods returning Futures, we now generate a wrapper with the "Async" suffix. This wrapper returns a Systems.Threading.Tasks.Task which can be awaited on and reflect the status of the Future. When an eina.Future fails with ECANCELED, TaskCanceledException is raised in the Task. Otherwise, an efl.FutureException(eina.Error) is raised. Depends on D6174 Reviewers: felipealmeida Reviewed By: felipealmeida Subscribers: cedric, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6175
* efl_mono: Add support for Eina.Error/Empty in eina.ValueLauro Moura2018-05-171-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Summary: eina.Value.Empty now means that we have an zeroed (empty) eina value. For optional values that are empty use eina.Value.OptionalEmpty. This was required to support the empty values passed with EINA_VALUE_EMPTY in some Ecore futures. Also, returning an eina_value by value is not supported in eolian for safety reasons, so we removed some tests that tried to use this behavior. Depends on D6171 Reviewers: felipealmeida Reviewed By: felipealmeida Subscribers: cedric, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6172
* efl_mono: Support type aliases.Lauro Moura2018-05-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: Due to the absence of typedef from C#, we generate thin structs with implicit operators to allow reference the data from their typedef'd name from C#. The other alternatives would be always converting to the lowest base on the alias stack (losing the meaningfulness of the typedef name) or using the 'using' directive. The latter has the restriction that it makes an alias visible only in the file they are declared. Reviewers: felipealmeida, cedric, segfaultxavi Reviewed By: segfaultxavi Subscribers: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6157
* efl_mono: Actually test events by passing things by value and structsLauro Moura2018-04-261-6/+17
| | | | | | | | | | | | | | | | | | | Summary: While the test events were declared as by value, the support code passed by reference, which was - wrongly - the only implementation supported in event code. Also added test with Eina_Bool and structs (passed by pointer to events, while not having the ptr modifier explicitly. Depends on D5995 Reviewers: felipealmeida Reviewed By: felipealmeida Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5996
* efl_mono: Instantiate parts in constructor in testLauro Moura2018-04-261-15/+18
| | | | | | | | | | | | | | | Summary: Don't try to lazily create the parts when getting them, as it would modify the owner inside its @const Efl.Part.part. Depends on D5993 Reviewers: felipealmeida Reviewed By: felipealmeida Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5994
* efl_mono: Fix after prop get const changeLauro Moura2018-04-191-2/+2
|
* efl_mono: Proper support for @class methods.Lauro Moura2018-04-121-0/+24
| | | | | | Previously, class methods were implemented as regular instance methods. This commits generates C# static methods for @class methods on the *Concrete classes (and their childs).
* csharp: Silence test build warnings.Lauro Moura2018-04-031-2/+2
| | | | Was trying to modify const strings.
* csharp: Support argument marshalling in func ptrsLauro Moura2018-04-031-0/+7
| | | | | | | Function pointers now go through the same argument marshalling pipeline as normal functions. This will enable interfaces like Efl.Ui.Format to work properly.
* csharp: Provisionally fix conversion of eina.ValueLauro Moura2018-04-031-0/+5
| | | | | | | | | | | When we have an eina.Value_Native (representing an Eina_Value passed by value) and assign it to an eina.Value (a class with an IntPtr to an underlying Eina_Value) we copy it so the eina.Value can take ownership and free the data normally. A possibly better alternative would be adding an extra flag to eina.Value (something like OwnsPointer) to check whether we should free the struct we point to or not.
* efl_mono: Initial version of Strbuf support.Lauro Moura2018-04-031-0/+10
| | | | | Also moved the ValueOwnership enum from eina value to eina.Ownership. It can be shared among the eina structures if needed.
* efl-mono: Fix test not include'ing Ecore.hFelipe Magno de Almeida2018-04-031-0/+1
|
* efl_add_ref - fis to use efl_add properly with a parent.Carsten Haitzler (Rasterman)2018-03-291-1/+1
| | | | | fixes bc18b7e7ad1f8c5d587400b27fabab0865017011 and 168849e8a08966ecc284e28f64126a3a85965965
* efl: use efl_add_ref to create objects which have no parentCedric BAIL2018-03-201-1/+1
| | | | Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
* csharp: Add support for efl parts as PropertiesLauro Moura2018-03-201-0/+26
| | | | | | | | | | Instead of var bg = efl.ui.Background.static_cast(myobj.Part("background")); Now do var bg = myobj.Background; Also a couple helper functions were added.