csharp: add a interface to start apps

Authored by Marcel Hollerbach <mail@marcel-hollerbach.de> on Jan 16 2019, 3:28 AM.


csharp: add a interface to start apps

until to today you had to call init functions and a run function which
were static function in a class called Efl.Ui.Config.

However, calling those init functions there is not really OOP style.
Right now things have changed into a manner where you are defining you
application class with inheriting from the Application /
SimpleApplication abstract.

This enables you to call launch() on your application class, calling
launch there leads to a call to the args function, you can call and use
the Efl classes in there, everything is booted up.
Option parsing and dependency start can still be done in the main method
or application constructor, just ensure that you never call any efl
class / function outside the launch function.

A commit that demonstrates the usage can be found at

ref T7204


Reviewers: felipealmeida, segfaultxavi, Jaehyun_Cho, cedric

Reviewed By: segfaultxavi

Subscribers: zmike, woohyun, akanad, lauromoura, reviewers, committers

Tags: efl: language bindings

Maniphest Tasks: T7204

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