[Portland] Current plan summarized

nf2 nf2 at scheinwelt.at
Thu Mar 16 12:12:29 EET 2006


Kevin Krammer wrote:
> On Wednesday 15 March 2006 11:47, nf2 wrote:
>   
>> I'm still not convinced regarding the static linking of the interface
>> library. We have not discussed this thoroughly and perhaps it's too
>> early to decide. I think there are two options here:
>>     
>
> Static linking has the advantage that starting an application on a system 
> without "DAPI" support will not fail due to unresolved symbols.
>
> Of course there is always the possibility to have the API part of the library 
> statically linked and the IPC part dlopen'ed.
>   
Perhaps a "strong" package dependency would be ok. Otherwise the 
application developer has to deal with another fallback-case.
>   
>> 1) Standardize protocol, socket locations, dapi-daemon startup-scripts...
>> 2) Standardize the API of a dynamically linked dapi-client library (You
>> can still have convenience wrappers for C++,...), hiding all the IPC
>> complexity.
>>     
>
> As long as the API specification stays within bounds of complexity that allows 
> generation of bindings, I'd prefer the first one.
>   
We will see. Async stuff is not trivial and Lubos code is not truely 
non-blocking yet. It's going to be quite a lot of code to write and 
debug if you reinvent the dapi client wheel several times.
> Providing the base implementation for something that is meant to be wrapped is 
> IMHO a lot more work than a normal implementation because the base 
> implementation cannot make any assumptions about restrictions implied by the 
> binding language/library.
>   
Why not? There are a lots of bindings for the gtk stuff for instance. 
I'm not sure what's the requirements for that. Just having reference 
counters? Someone here who knows more about that topic?
> As an example it is not recommended for DBus to use the DBus library directly, 
> even C developers are encouraged to use the glib bindings.
>   
That's what's so sad about dbus. You can't use it inside in a shared 
infrastructure library.*) Abstraction, modularization and code-reuse is 
essential for every modern computer system - and on linux/unix you just 
can not have it because of this stupid main-loop-problem?

*) Well - maybe dbus can be used without bindings and instead pass a 
generic main loop adaption object through the dapi library. I'll be 
investigating that.

Cheers,
Norbert





More information about the Portland mailing list