diff --git a/common/init.c b/common/init.c new file mode 100644 index 00000000..6e10937b --- /dev/null +++ b/common/init.c @@ -0,0 +1,36 @@ +// 19 april 2019 +#include +#include "ui.h" +#include "uipriv.h" + +static int initialized = 0; + +int uiprivInitCheckParams(void *options, uiInitError *err) +{ + if (err == NULL) + return 0; + if (err->Size != sizeof (uiInitError)) + return 0; + + if (initialized) + return uiprivInitReturnError(err, "xxxxxxxxx"); + + if (options != NULL) + return uiprivInitReturnError(err, "xxxxxxxx"); + + return 1; +} + +int uiprivInitReturnError(uiInitError *err, const char *msg) +{ + strncpy(err->Message, msg, 256); + if (err->Message[255] != '\0') + // TODO there should be some check to make sure this doesn't happen + err->Message[255] = '\0'; + return 0; +} + +void uiprivMarkInitialized(void) +{ + initialized = 1; +} diff --git a/common/meson.build b/common/meson.build new file mode 100644 index 00000000..e198fc43 --- /dev/null +++ b/common/meson.build @@ -0,0 +1,5 @@ +# 23 march 2019 + +libui_sources += [ + 'common/init.c', +] diff --git a/common/uipriv.h b/common/uipriv.h new file mode 100644 index 00000000..5a3aef03 --- /dev/null +++ b/common/uipriv.h @@ -0,0 +1,6 @@ +// 19 april 2019 + +// init.c +extern int uiprivInitCheckParams(void *options, uiInitError *err); +extern int uiprivInitReturnError(uiInitError *err, const char *msg); +extern void uiprivMarkInitialized(void); diff --git a/dummy.c b/dummy.c deleted file mode 100644 index e69de29b..00000000 diff --git a/meson.build b/meson.build index e336e490..ec9b057a 100644 --- a/meson.build +++ b/meson.build @@ -140,8 +140,7 @@ libui_sources = [] libui_deps = [] libui_soversion = '' libui_rpath = '' -#subdir('common') -libui_sources+=['dummy.c'] +subdir('common') if libui_OS == 'windows' # subdir('windows') install_headers('ui_windows.h')