diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 7b8b961..9fc29c8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -6,8 +6,8 @@ PKG_CHECK_MODULES(JANSSON REQUIRED jansson) PKG_CHECK_MODULES(GLIB2 REQUIRED glib-2.0) SET(SOURCES - "src/journalfile.c" - "include/edapi/journalfile.h" + "src/journal/file.c" + "include/edapi/journal/file.h" ) INCLUDE_DIRECTORIES( diff --git a/lib/include/edapi/journal/file.h b/lib/include/edapi/journal/file.h new file mode 100644 index 0000000..fb5b002 --- /dev/null +++ b/lib/include/edapi/journal/file.h @@ -0,0 +1,17 @@ +#ifndef EDAPI_JOURNAL_FILE_H +#define EDAPI_JOURNAL_FILE_H + +#include +#include + +G_BEGIN_DECLS + +G_DECLARE_FINAL_TYPE(EDJournalFile, ed_journal_file, ED, JOURNALFILE, GObject); + +#define ED_TYPE_JOURNALFILE ed_journal_file_get_type() + +EDJournalFile *ed_journal_file_new(void); + +G_END_DECLS + +#endif diff --git a/lib/include/edapi/journalfile.h b/lib/include/edapi/journalfile.h deleted file mode 100644 index 795e096..0000000 --- a/lib/include/edapi/journalfile.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef EDAPI_JOURNAL_FILE_H -#define EDAPI_JOURNAL_FILE_H - -struct edapi_journalfile_; -typedef struct edapi_journal_file *edapi_journalfile_t; - -edapi_journalfile_t edapi_journalfile_new(void); - -#endif diff --git a/lib/src/journal/file.c b/lib/src/journal/file.c new file mode 100644 index 0000000..0d57ba1 --- /dev/null +++ b/lib/src/journal/file.c @@ -0,0 +1,49 @@ +#include + +typedef struct { + char *filename; + char *timestamp; +} EDJournalFilePrivate; + +struct _EDJournalFile { + GObject parent; +}; + +struct _EDJournalFileClass { + GObjectClass parent_class; +}; + +G_DEFINE_TYPE_EXTENDED(EDJournalFile, + ed_journal_file, + G_TYPE_OBJECT, + 0, + G_ADD_PRIVATE(EDJournalFile) + ); + +static void ed_journal_file_finalize(GObject *obj) +{ + EDJournalFile *self = ED_JOURNALFILE(obj); + EDJournalFilePrivate *p = ed_journal_file_get_instance_private(self); + + free(p->filename); + p->filename = NULL; + + free(p->timestamp); + p->timestamp = NULL; + + G_OBJECT_CLASS(ed_journal_file_parent_class)->finalize(obj); +} + +static void ed_journal_file_class_init(EDJournalFileClass *klass) +{ + G_OBJECT_CLASS(klass)->finalize = ed_journal_file_finalize; +} + +static void ed_journal_file_init(EDJournalFile *self) +{ +} + +EDJournalFile *ed_journal_file_new(void) +{ + return g_object_new(ED_TYPE_JOURNALFILE, NULL); +} diff --git a/lib/src/journalfile.c b/lib/src/journalfile.c deleted file mode 100644 index 57aec80..0000000 --- a/lib/src/journalfile.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -#include - -struct edapi_journalfile_ { - void *tag; -}; - -edapi_journalfile_t edapi_journalfile_new(void) -{ - return calloc(1, sizeof(struct edapi_journalfile_)); -}