2009-12-09, 23:54
I'd like to abstract out the embedded Python library to allow for a more general interface where other interpreters could be embedded (e.g. Perl, Ruby, Lua) or external programs used, following a goal of more language-agnostic bindings.
For external programs, I'm thinking a D-Bus connection could be used to allow them to call back into the XBMC modules: the program would be launched and instead of the interpreter thread, a D-Bus object server would accept requests and map them to the existing Python bindings. Of course the goal would be to keep the original embedded Python interpreter working the same way from a script developer perspective.
I'll have some time to work on this this month; I wanted to start a discussion here in case plans for language-agnostic bindings are already under way, and to get feedback.
For external programs, I'm thinking a D-Bus connection could be used to allow them to call back into the XBMC modules: the program would be launched and instead of the interpreter thread, a D-Bus object server would accept requests and map them to the existing Python bindings. Of course the goal would be to keep the original embedded Python interpreter working the same way from a script developer perspective.
I'll have some time to work on this this month; I wanted to start a discussion here in case plans for language-agnostic bindings are already under way, and to get feedback.