Re: [anjuta-devel] The new parser-engine Plugin



Hi Johannes,

And with the last one [2] I'd the problem, that I don't know, if a
plugin only integrates IAnjutaProvider or addition to that
IAnjutaLanguageProvider.

You can always check if something is implemented by macros like
IANJUTA_IS_PROVIDER(obj) or IANJUTA_IS_LANGUAGE_PROVIDER(obj). But why
would you need to know, you would just do it for sanety checking.
The language support plugin cannot control the methods, which are implemented with IAnjutaProvider. For example sourceview_provider_activate_proposal() [1] calls ianjuta_provider_activate(). If only IAnjutaProvider is implemented, then the method is realize in the class, which implements IAnjutaProvider (i.e. the sippets-manager plugin). But if IAnjutaLanguageProvider is implemented, then sourceview_provider_activate_proposal() should calls the ianjuta_provider_activate() method, which is realize in the sourceview plugin [2].

The language support plugins don't need to implement IAnjutaProvider, because populate(), get_start_iter() and activate() are already implemented. [3] Only get_name() will remain unaffected.

Regards,
Moritz

[1] http://git.gnome.org/browse/anjuta/tree/plugins/sourceview/sourceview-provider.c#n89 [2] https://github.com/ritze/anjuta-clang/blob/parser-sourceview/plugins/sourceview/sourceview-provider.c#L312 [3] https://github.com/ritze/anjuta-clang/blob/parser-sourceview/plugins/sourceview/sourceview-provider.c#L504



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]