X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/9d3cb178db367962f68521985ef9e239e1d03fa9..90b53df329f9a114770dccab6b7e41f9094dfac9:/src/module.h diff --git a/src/module.h b/src/module.h index ea52071..103bf26 100644 --- a/src/module.h +++ b/src/module.h @@ -1,6 +1,34 @@ #ifndef MODULE_H_ #define MODULE_H_ +#include +#include + +#define UPKG_MODULE_TYPE (upkg_module_get_type()) +#define UPKG_MODULE(obj) \ + G_TYPE_CHECK_INSTANCE_CAST(obj, UPKG_MODULE_TYPE, UPkgModule) +#define UPKG_MODULE_CLASS(class) \ + G_TYPE_CHECK_CLASS_CAST(class, UPKG_MODULE_TYPE, UPkgModuleClass) +#define IS_UPKG_MODULE(obj) \ + G_TYPE_CHECK_INSTANCE_TYPE(obj, UPKG_MODULE_TYPE) +#define IS_UPKG_MODULE_CLASS(class) \ + G_TYPE_CHECK_CLASS_TYPE(class, UPKG_MODULE_TYPE, UPkgModuleClass) + +typedef struct UPkgModule UPkgModule; +typedef struct UPkgModuleClass UPkgModuleClass; + +struct UPkgModule { + GTypeModule parent; + + lt_dlhandle dl; +}; + +struct UPkgModuleClass { + GTypeModuleClass parent; +}; + +UPkgModule *upkg_module_new(const char *name); + int module_init(void); int module_exit(void);