diff options
Diffstat (limited to 'docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml')
-rw-r--r-- | docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml b/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml deleted file mode 100644 index 2c78acce..00000000 --- a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml +++ /dev/null @@ -1,262 +0,0 @@ -<!-- ##### SECTION Title ##### --> -ThunarxProviderPlugin - -<!-- ##### SECTION Short_Description ##### --> -The interface to the plugin type registration - -<!-- ##### SECTION Long_Description ##### --> -<para> - #ThunarxProviderPlugin is the interface to the file manager's type plugin loader implementation. It - provides methods to extensions - also called <emphasis>provider plugins</emphasis> - to register dynamic - types and control certain aspects of the plugin (see thunarx_provider_plugin_set_resident()). -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - #ThunarxProviderFactory -</para> - -<!-- ##### SECTION Stability_Level ##### --> -Stable - -<!-- ##### SECTION Image ##### --> - - -<!-- ##### STRUCT ThunarxProviderPlugin ##### --> -<para> - The #ThunarxProviderPlugin struct is just a typedef for - the interface instance type. -</para> - - -<!-- ##### ARG ThunarxProviderPlugin:resident ##### --> -<para> - -</para> - -<!-- ##### STRUCT ThunarxProviderPluginIface ##### --> -<para> - Interface with virtual methods implemented by the file manager and - accessible from the extensions. -</para> - -@get_resident: see thunarx_provider_plugin_get_resident(). -@set_resident: see thunarx_provider_plugin_set_resident(). -@register_type: see thunarx_provider_plugin_register_type(). -@add_interface: see thunarx_provider_plugin_add_interface(). -@register_enum: see thunarx_provider_plugin_register_enum(). -@register_flags: see thunarx_provider_plugin_register_flags(). - -<!-- ##### FUNCTION thunarx_provider_plugin_get_resident ##### --> -<para> - -</para> - -@plugin: -@Returns: - - -<!-- ##### FUNCTION thunarx_provider_plugin_set_resident ##### --> -<para> - -</para> - -@plugin: -@resident: - - -<!-- ##### FUNCTION thunarx_provider_plugin_register_type ##### --> -<para> - -</para> - -@plugin: -@type_parent: -@type_name: -@type_info: -@type_flags: -@Returns: - - -<!-- ##### FUNCTION thunarx_provider_plugin_add_interface ##### --> -<para> - -</para> - -@plugin: -@instance_type: -@interface_type: -@interface_info: - - -<!-- ##### FUNCTION thunarx_provider_plugin_register_enum ##### --> -<para> - -</para> - -@plugin: -@name: -@const_static_values: -@Returns: - - -<!-- ##### FUNCTION thunarx_provider_plugin_register_flags ##### --> -<para> - -</para> - -@plugin: -@name: -@const_static_values: -@Returns: - - -<!-- ##### MACRO THUNARX_DEFINE_TYPE ##### --> -<para> - A convenience macro for plugin type implementations, which declares a class - initialization function, a static variable named @t_n<!---->_parent_class - pointing to the parent and a static variable named @t_n<!---->_type containing - the #GType of the type to define. Furthermore, it defines a @t_n<!---->_get_type() - function and a @t_n<!---->_register_type() function. See THUNARX_DEFINE_TYPE_EXTENDED() - for an example. -</para> - -@TN: the name of the new type, in Camel case. -@t_n: the name of the new type, in lowercase, with words separated by '_'. -@T_P: the #GType of the parent type. - - -<!-- ##### MACRO THUNARX_DEFINE_TYPE_WITH_CODE ##### --> -<para> - A convenience macro for plugin type implementations. Similar to THUNARX_DEFINE_TYPE(), but - allows to insert custom code into the <code>*_get_type()</code> function, e.g. interface - implemenations via THUNARX_IMPLEMENT_INTERFACE(). See THUNARX_DEFINE_TYPE_EXTENDED() for - an example. -</para> - -@TN: the name of the new type, in Camel case. -@t_n: the name of the new type, in lowercase, with words separated by '_'. -@T_P: the #GType of the parent type. -@_C_: custom code that gets inserted in the <code>*_get_type()</code> function. - - -<!-- ##### MACRO THUNARX_DEFINE_ABSTRACT_TYPE ##### --> -<para> - A convenience macro for plugin type implementations. Similar to THUNARX_DEFINE_TYPE(), but defines - an abstract type. See THUNARX_DEFINE_TYPE_EXTENDED() for an example. -</para> - -@TN: the name of the new type, in Camel case. -@t_n: the name of the new type, in lowercase, with words separated by '_'. -@T_P: the #GType of the parent type. - - -<!-- ##### MACRO THUNARX_DEFINE_ABSTRACT_TYPE_WITH_CODE ##### --> -<para> - A convenience macro for plugin type implementations. Similar to THUNARX_DEFINE_TYPE_WITH_CODE(), but defines - an abstract type and allows to insert custom code into the <code>*_get_type()</code> function, e.g. interface - implementations via THUNARX_IMPLEMENT_INTERFACE(). See THUNARX_DEFINE_TYPE_EXTENDED() for an example. -</para> - -@TN: the name of the new type, in Camel case. -@t_n: the name of the new type, in lowercase, with words separated by '_'. -@T_P: the #GType of the parent type. -@_C_: custom code that gets inserted in the <code>*_get_type()</code> function. - - -<!-- ##### MACRO THUNARX_DEFINE_TYPE_EXTENDED ##### --> -<para> - The most general convenience macro for plugin type implementations, on which THUNARX_DEFINE_TYPE(), THUNARX_DEFINE_TYPE_WITH_CODE(), - THUNARX_DEFINE_ABSTRACT_TYPE() and THUNARX_DEFINE_ABSTRACT_TYPE_WITH_CODE() are based. - -</para> - -<informalexample><programlisting> -THUNARX_DEFINE_TYPE_EXTENDED (FooExtension, - foo_extension, - G_TYPE_OBJECT, - 0, - THUNARX_IMPLEMENT_INTERFACE (TYPE_BAR, - foo_extension_bar_init)); -</programlisting></informalexample> - -<para> - expands to -</para> - -<informalexample><programlisting> -static gpointer foo_extension_parent_class = NULL; -static GType foo_extension_type = G_TYPE_INVALID; - -static void foo_extension_init (FooExtension *self); -static void foo_extension_class_init (FooExtensionClass *klass); -static void foo_extension_class_intern_init (FooExtensionClass *klass) -{ - foo_extension_parent_class = g_type_class_peek_parent (klass); - foo_extension_class_init (klass); -} - -GType -foo_extension_get_type (void) -{ - return foo_extension_type; -} - -void -foo_extension_register_type (ThunarxProviderPlugin *plugin) -{ - GType thunarx_define_type_id; - static const thunarx_define_type_info = - { - sizeof (FooExtensionClass), - NULL, - NULL, - (GClassInitFunc) foo_extension_class_intern_init, - NULL, - NULL, - sizeof (FooExtension), - 0, - (GInstanceInitFunc) foo_extension_init, - NULL, - }; - thunarx_define_type_id = thunarx_provider_plugin_register_type (thunarx_define_type_plugin, G_TYPE_OBJECT, - "FooExtension", &thunarx_define_type_info, 0); - { - static const GInterfaceInfo thunarx_implement_interface_info = - { - (GInterfaceInitFunc) foo_extension_bar_init, - }; - thunarx_provider_plugin_add_interface (thunarx_define_type_plugin, thunarx_define_type_id, - TYPE_BAR, &thunarx_implement_interface_info); - }; - foo_extension_type = thunarx_define_type_id; -} -</programlisting></informalexample> - -<para> - The only pieces which have to be manually provided are the definitions of the instance and - class structure and the definitions of the instance and class init functions. -</para> - -@TypeName: The name of the new type, in Camel case. -@type_name: The name of the new type, in lowercase, with words separated by '_'. -@TYPE_PARENT: The #GType of the parent type. -@flags: #GTypeFlags to pass to thunarx_provider_plugin_register_type(). -@CODE: Custom code that gets inserted in the <code>*_register_type()</code> function. - - -<!-- ##### MACRO THUNARX_IMPLEMENT_INTERFACE ##### --> -<para> - A convenience macro to ease interface addition in the @_C_ section of THUNARX_DEFINE_TYPE_WITH_CODE() - or THUNARX_DEFINE_ABSTRACT_TYPE_WITH_CODE(). See THUNARX_DEFINE_TYPE_EXTENDED() for an example. -</para> - -<para> - Note that this macro can only be used together with the <code>THUNARX_DEFINE_*</code> macros, since - it depends on variable names used by those macros. -</para> - -@TYPE_IFACE: the #GType of the interface to add. -@iface_init: the interface init function. - - |