Advertisement
Guest User

nautilus-extension

a guest
Mar 12th, 2012
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.05 KB | None | 0 0
  1. #include <libnautilus-extension/nautilus-column-provider.h>
  2.  
  3. typedef struct _FooExtension FooExtension;
  4. typedef struct _FooExtensionClass FooExtensionClass;
  5.  
  6. struct _FooExtension
  7. {
  8.     GObject parent_slot;
  9. };
  10.  
  11. struct _FooExtensionClass
  12. {
  13.     GObjectClass parent_slot;
  14. };
  15.  
  16. static void foo_extension_class_init    (FooExtensionClass *class);
  17. static void foo_extension_instance_init (FooExtension      *img);
  18.  
  19. static void foo_extension_class_init(FooExtensionClass *class)
  20. {
  21. }
  22.  
  23. static void foo_extension_instance_init(FooExtension *img)
  24. {
  25. }
  26.  
  27. static GType provider_types[1];
  28.  
  29. static GType foo_extension_type;
  30.  
  31. static void foo_extension_register_type(GTypeModule *module)
  32. {
  33.     static const GTypeInfo info = {
  34.                 sizeof(FooExtensionClass),
  35.                 (GBaseInitFunc) NULL,
  36.                 (GBaseFinalizeFunc) NULL,
  37.                 (GClassInitFunc) foo_extension_class_init,
  38.                 NULL,
  39.                 NULL,
  40.                 sizeof (FooExtension),
  41.                 0,
  42.                 (GInstanceInitFunc) foo_extension_instance_init,
  43.                 };
  44.     foo_extension_type = g_type_module_register_type(module,
  45.                               G_TYPE_OBJECT,
  46.                               "FooExtension",
  47.                               &info, 0);
  48.         /* ... add interfaces ... */
  49. }
  50.  
  51. GType foo_extension_get_type(void)
  52. {
  53.     return foo_extension_type;
  54. }
  55.  
  56. static GList *foo_extension_get_columns(NautilusColumnProvider *provider)
  57. {
  58.     NautilusColumn *column;
  59.     GList *ret;
  60.     column = nautilus_column_new("FooExtension::foo_data_column", "FooExtension::foo_data", "Foo Data", "Foo Description");
  61. /*                    _("Foo Data"),
  62.                       _("Information from the Foo Extension"));*/
  63.     ret = g_list_append(NULL, column);
  64.     return ret;
  65. }
  66.  
  67. void nautilus_module_initialize (GTypeModule  *module)
  68. {
  69.     foo_extension_register_type(module);
  70.     provider_types[0] = foo_extension_get_type();
  71. }
  72.  
  73. void nautilus_module_shutdown(void)
  74. {
  75.     /* Any module-specific shutdown */
  76. }
  77.  
  78. void nautilus_module_list_types (const GType **types, int *num_types)
  79. {
  80.     *types = provider_types;
  81.     *num_types = G_N_ELEMENTS (provider_types);
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement