On 4/3/09 11:10 AM, Antony Dovgal wrote:
> On 03.04.2009 17:44, Davi Arnaut wrote:
>> There needs to be a separation between private (to the server) and
>> public (exposed to the plugins) structures, we can't just expose all of
>> then without creating a mess as it might later hinder our ability to
>> modify or fix internal structures without causing havoc for the plugins.
>
> I understand you concerns.
> If you are fully confident that some header file must not and can not be used by
> any plugins - fine, don't install it. Can you define such files?
>
> As far as I understand (correct me if I'm wrong) both private and public structs
> are defined in the same headers, so separating them would require much bigger
> patch than the proposed one.
You are correct.
>> We should be looking at this on a case-by-case basis. Or we decide to
>> not guarantee stability on the exposed structures. What do you prefer?
>
> I truly believe that any plugins doing weird things with structures they shouldn't
> be using at all do deserve to be broken.
>
> What did you mean by case-by-case basis?
We should analyze every little part of the API that we make public.
> I can try to figure out which headers are required to build my plugin, but others
> may
> need something I don't use, which means the problem would be still there, just hidden
> for some time.
Could you list which pieces (structures, functions, etc) of the server
that you need to use from your plugin? Or its more a matter circular
dependency? I think we need to sched some light on the specific problem..
-- Davi Arnaut