]> git.draconx.ca Git - upkg.git/blob - src/loadable.c
26b81fd0fc0beca0697d019046057c5f38d22052
[upkg.git] / src / loadable.c
1 #include <stdio.h>
2 #include <glib-object.h>
3 #include "loadable.h"
4
5 GType u_object_loadable_get_type(void)
6 {
7         static GType type = 0;
8         if (type == 0) {
9                 static const GTypeInfo info = {
10                         sizeof (UObjectLoadable),
11                         NULL,
12                         NULL,
13                 };
14
15                 type = g_type_register_static(G_TYPE_INTERFACE,
16                         "UObjectLoadable", &info, 0);
17         }
18         return type;
19 }
20
21 int u_object_load(GObject *obj)
22 {
23         g_return_val_if_fail(U_OBJECT_IS_LOADABLE(obj), -1);
24         return U_OBJECT_LOADABLE_GET_INTERFACE(obj)->load(obj);
25 }
26
27 void u_object_unload(GObject *obj)
28 {
29         g_return_if_fail(U_OBJECT_IS_LOADABLE(obj));
30         U_OBJECT_LOADABLE_GET_INTERFACE(obj)->unload(obj);
31 }