HomePhabricator

c#: Implement IList<T> to Eina.List.

Authored by brunobelo on Dec 11 2019, 1:47 PM.

Description

c#: Implement IList<T> to Eina.List.

Summary:
Container can have three configuration over Own and OwnContent:
Own = true and OwnContent = true;
Own = true and OwnContent = false;
Own = falseand `OwnContent = false;
If someone try to instanciate the container with Own = false and OwnContent = true, a exception raises.

There is two Ownerships' behaviours in c#, where IsReadOnly is responsible and IsReadOnly = !OwnContent:
Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with OwnContent = true.
No Ownership: User cannot use modify/Add/Remove operations, this is implemented with OwnContent = false.

For the memory, Own frees the node, while OwnContent frees the data portion.
ref T8487

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi, jptiz

Reviewed By: lauromoura

Subscribers: cedric, reviewers, committers

Tags: efl

Maniphest Tasks: T8487

Differential Revision: https://phab.enlightenment.org/D10742

Details