diff --git a/apps/aqhome-storage/.gitignore b/apps/aqhome-storage/.gitignore
deleted file mode 100644
index 65e3ba2..0000000
--- a/apps/aqhome-storage/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-test/
diff --git a/apps/aqhome-storage/0BUILD b/apps/aqhome-storage/0BUILD
deleted file mode 100644
index a11e87e..0000000
--- a/apps/aqhome-storage/0BUILD
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
-
-
- $(gwenhywfar_cflags)
- -I$(topsrcdir)
- -I$(topbuilddir)
- -I$(builddir)
- -I$(srcdir)
-
-
-
- --include=$(builddir)
- --include=$(srcdir)
-
-
- $(visibility_cflags)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- aqhomestorage_p.h
- aqhomestorage.h
- init.h
- init_http.h
- init_mqtt.h
- fini.h
- loop.h
- loop_http.h
- loop_mqtt.h
- cleanup.h
- u_base.h
- u_login.h
- u_objects.h
- u_objects_p.h
- u_rooms.h
- u_devices.h
- u_mqtttopics.h
- u_values.h
- u_static.h
- u_static_p.h
- aqhomehttp.h
- aqhomehttp_p.h
-
-
-
- $(local/typefiles)
-
- aqhomestorage.c
- init.c
- init_http.c
- init_mqtt.c
- fini.c
- loop.c
- loop_http.c
- loop_mqtt.c
- cleanup.c
- u_base.c
- u_login.c
- u_objects.c
- u_rooms.c
- u_devices.c
- u_mqtttopics.c
- u_values.c
- u_static.c
- main.c
- aqhomehttp.c
-
-
-
- aqhome
-
-
-
- $(gwenhywfar_libs)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/aqhome-storage/README b/apps/aqhome-storage/README
deleted file mode 100644
index df7a987..0000000
--- a/apps/aqhome-storage/README
+++ /dev/null
@@ -1,68 +0,0 @@
-
-TODO
-
-- isolate storage service:
- - remove http service from here
- - add ipc service
- - admin:
- - add room/device/MQTT topic/value
- - edit room/device/MQTT topic/value
- - del room/device/MQTT topic/value
- - get received topics
- - list rooms/devices/MQTT topics/values
- - getValues(valueId, timeFrom, timeUntil)
- - addValue(valueId/valueName, timeStamp, value)
- - aqhome-tool
- - add ipc admin code to connect to ipc service
-- create http service as stand-alone app or create PHP code which uses aqhome-tool
- - connect to storage service for information/admin
-
-
-
-- move http service into own folder
-- isolate functions:
- - getRoomList
- - getDeviceList
- - getTopicList
- - addRoom/Device/Topic/Value
- - delRoom/Device/Topic/Value
- - editRoom/Device/Topic/Value
-
-
-
-- aqhome-storage->aqhome-data
-
-- aqhome-data
- - only list of values
- - manages datafiles only
- - IPC (later secure ipc):
- - get value list
- - add value
- - del value
- - edit value
-
- - add datapoint(valueId, timestamp, data)
- - add datapoint(valueName, timestamp, data)
-
- - getData(valueId, timeFrom, timeUntil)
- - getLastData(valueId)
-
- - aqhome-tool:
- - add ipc code
-
-- aqhome-mqttdata:
- - use devices, topics and values from aqhome-storage
- - derive valueid and data from mqtt messages
- - send data to aqhome-data via ipc (later secure ipc)
-
-
-- mqtt values:
- - aliases (e.g. for doors: open=1.0, closed=0.0, tilted=0.5)
-
-
-- later services only:
- - aqhomed (tty, ipcd)
- - aqhome-data (ipcd)
- - aqhome-mqtt (mqttc, ipcd)
- - aqhome-httpd (maybe; httpd, ipcc)
-
diff --git a/apps/aqhome-storage/aqhomehttp.c b/apps/aqhome-storage/aqhomehttp.c
deleted file mode 100644
index 8e20ee4..0000000
--- a/apps/aqhome-storage/aqhomehttp.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-
-#include "./aqhomehttp_p.h"
-#include "aqhome/http/httpservice.h"
-#include "aqhome/http/httpservice_http.h"
-
-#include
-#include
-#include
-#include
-
-
-
-GWEN_INHERIT(AQH_SERVICE, AQHOME_HTTP)
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * forward declarations
- * ------------------------------------------------------------------------------------------------
- */
-
-static void GWENHYWFAR_CB _freeData(void *bp, void *p);
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * implementations
- * ------------------------------------------------------------------------------------------------
- */
-
-void AqHomeHttpService_Extend(AQH_SERVICE *sv)
-{
- AQHOME_HTTP *xsv;
-
- GWEN_NEW_OBJECT(AQHOME_HTTP, xsv);
- GWEN_INHERIT_SETDATA(AQH_SERVICE, AQHOME_HTTP, sv, xsv, _freeData);
-
- xsv->contentTree=AQH_HttpContent_new("root");
- xsv->storageMutex=GWEN_Mutex_new();
-}
-
-
-
-void _freeData(void *bp, void *p)
-{
- AQHOME_HTTP *xsv;
-
- xsv=(AQHOME_HTTP*) p;
-
- xsv->storage=NULL;
- AQH_HttpContent_free(xsv->contentTree);
- xsv->contentTree=NULL;
- GWEN_Mutex_free(xsv->storageMutex);
-
- GWEN_FREE_OBJECT(xsv);
-}
-
-
-
-AQH_STORAGE *AqHomeHttpService_GetStorage(const AQH_SERVICE *sv)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv)
- return xsv->storage;
- }
- return NULL;
-}
-
-
-
-void AqHomeHttpService_SetStorage(AQH_SERVICE *sv, AQH_STORAGE *sto)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv)
- xsv->storage=sto;
- }
-}
-
-
-
-AQH_HTTP_CONTENT *AqHomeHttpService_GetContentTree(const AQH_SERVICE *sv)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv)
- return xsv->contentTree;
- }
- return NULL;
-}
-
-
-
-void AqHomeHttpService_SetContentTree(AQH_SERVICE *sv, AQH_HTTP_CONTENT *c)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv) {
- AQH_HttpContent_free(xsv->contentTree);
- xsv->contentTree=c;
- }
- }
-}
-
-
-
-void AqHomeHttpService_MarkStorageChanged(AQH_SERVICE *sv)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv) {
- AQH_Storage_AddRuntimeFlags(xsv->storage, AQH_STORAGE_RTFLAGS_MODIFIED);
- }
- }
-}
-
-
-
-int AqHomeHttpService_LockStorage(AQH_SERVICE *sv)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv) {
- int rv;
-
- rv=GWEN_Mutex_Lock(xsv->storageMutex);
- if (rv<0) {
- DBG_ERROR(AQH_LOGDOMAIN, "Error obtaining lock on storage mutex");
- return rv;
- }
- return 0;
- }
- }
- return GWEN_ERROR_GENERIC;
-}
-
-
-
-int AqHomeHttpService_UnlockStorage(AQH_SERVICE *sv)
-{
- if (sv) {
- AQHOME_HTTP *xsv;
-
- xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQHOME_HTTP, sv);
- if (xsv) {
- int rv;
-
- rv=GWEN_Mutex_Unlock(xsv->storageMutex);
- if (rv<0) {
- DBG_ERROR(AQH_LOGDOMAIN, "Error releasing lock on storage mutex");
- return rv;
- }
- return 0;
- }
- }
-
- return GWEN_ERROR_GENERIC;
-}
-
-
-
-
-
-
-
-
diff --git a/apps/aqhome-storage/aqhomehttp.h b/apps/aqhome-storage/aqhomehttp.h
deleted file mode 100644
index 26e58fd..0000000
--- a/apps/aqhome-storage/aqhomehttp.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_HTTP_H
-#define AQHOME_HTTP_H
-
-
-#include "aqhome/service/service.h"
-#include "aqhome/data/storage.h"
-#include "aqhome/http/content.h"
-
-#include
-
-
-#define AQHOME_HTTP_PERMS_LIST_ROOMS 0x00000001
-#define AQHOME_HTTP_PERMS_LIST_DEVICES 0x00000002
-#define AQHOME_HTTP_PERMS_LIST_VALUES 0x00000004
-#define AQHOME_HTTP_PERMS_LIST_TOPICS 0x00000008
-
-#define AQHOME_HTTP_PERMS_ADD_ROOM 0x00000100
-#define AQHOME_HTTP_PERMS_ADD_DEVICE 0x00000200
-#define AQHOME_HTTP_PERMS_ADD_VALUE 0x00000400
-#define AQHOME_HTTP_PERMS_ADD_TOPIC 0x00000800
-
-#define AQHOME_HTTP_PERMS_DEL_ROOM 0x00010000
-#define AQHOME_HTTP_PERMS_DEL_DEVICE 0x00020000
-#define AQHOME_HTTP_PERMS_DEL_VALUE 0x00040000
-#define AQHOME_HTTP_PERMS_DEL_TOPIC 0x00080000
-
-#define AQHOME_HTTP_PERMS_EDIT_ROOM 0x01000000
-#define AQHOME_HTTP_PERMS_EDIT_DEVICE 0x02000000
-#define AQHOME_HTTP_PERMS_EDIT_VALUE 0x04000000
-#define AQHOME_HTTP_PERMS_EDIT_TOPIC 0x08000000
-
-
-
-
-
-void AqHomeHttpService_Extend(AQH_SERVICE *sv);
-
-AQH_STORAGE *AqHomeHttpService_GetStorage(const AQH_SERVICE *sv);
-void AqHomeHttpService_SetStorage(AQH_SERVICE *sv, AQH_STORAGE *sto);
-
-AQH_HTTP_CONTENT *AqHomeHttpService_GetContentTree(const AQH_SERVICE *sv);
-void AqHomeHttpService_SetContentTree(AQH_SERVICE *sv, AQH_HTTP_CONTENT *c);
-
-
-int AqHomeHttpService_LockStorage(AQH_SERVICE *sv);
-int AqHomeHttpService_UnlockStorage(AQH_SERVICE *sv);
-void AqHomeHttpService_MarkStorageChanged(AQH_SERVICE *sv);
-
-#endif
-
-
diff --git a/apps/aqhome-storage/aqhomehttp_p.h b/apps/aqhome-storage/aqhomehttp_p.h
deleted file mode 100644
index 564d6bb..0000000
--- a/apps/aqhome-storage/aqhomehttp_p.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_HTTP_P_H
-#define AQHOME_HTTP_P_H
-
-
-#include "./aqhomehttp.h"
-
-#include
-
-
-
-typedef struct AQHOME_HTTP AQHOME_HTTP;
-struct AQHOME_HTTP {
- AQH_STORAGE *storage; /* do not release */
- GWEN_MUTEX *storageMutex;
-
- AQH_HTTP_CONTENT *contentTree;
-};
-
-
-
-#endif
-
-
diff --git a/apps/aqhome-storage/aqhomestorage.c b/apps/aqhome-storage/aqhomestorage.c
deleted file mode 100644
index accbbc5..0000000
--- a/apps/aqhome-storage/aqhomestorage.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-
-#include "./aqhomestorage_p.h"
-
-#include
-#include
-
-
-
-
-
-
-AQHOME_STORAGE *AqHomeStorage_new()
-{
- AQHOME_STORAGE *aqh;
-
- GWEN_NEW_OBJECT(AQHOME_STORAGE, aqh);
- aqh->rootEndpoint=GWEN_MsgEndpoint_new("root", 0);
-
- return aqh;
-}
-
-
-
-void AqHomeStorage_free(AQHOME_STORAGE *aqh)
-{
- if (aqh) {
- AQH_Service_free(aqh->httpService);
- aqh->httpService=NULL;
- AQH_Storage_free(aqh->storage);
- aqh->storage=NULL;
- GWEN_MsgEndpoint_free(aqh->rootEndpoint);
- aqh->rootEndpoint=NULL;
- aqh->ipcdEndpoint=NULL;
- aqh->mqttEndpoint=NULL;
- aqh->httpdEndpoint=NULL;
- GWEN_DB_Group_free(aqh->dbArgs);
- aqh->dbArgs=NULL;
- free(aqh->pidFile);
-
- GWEN_FREE_OBJECT(aqh);
- }
-}
-
-
-
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetRootEndpoint(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->rootEndpoint):NULL;
-}
-
-
-
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetIpcdEndpoint(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->ipcdEndpoint):NULL;
-}
-
-
-
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetMqttEndpoint(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->mqttEndpoint):NULL;
-}
-
-
-
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetHttpdEndpoint(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->httpdEndpoint):NULL;
-}
-
-
-
-GWEN_DB_NODE *AqHomeStorage_GetDbArgs(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->dbArgs):NULL;
-}
-
-
-
-AQH_STORAGE *AqHomeStorage_GetStorage(const AQHOME_STORAGE *aqh)
-{
- return aqh?(aqh->storage):NULL;
-}
-
-
-
-const char *AqHomeStorage_GetPidFile(const AQHOME_STORAGE *aqh)
-{
- return aqh?aqh->pidFile:NULL;
-}
-
-
-
-void AqHomeStorage_SetPidFile(AQHOME_STORAGE *aqh, const char *s)
-{
- if (aqh) {
- free(aqh->pidFile);
- aqh->pidFile=s?strdup(s):NULL;
- }
-}
-
-
-
-int AqHomeStorage_GetTimeout(const AQHOME_STORAGE *aqh)
-{
- return aqh?aqh->timeout:0;
-}
-
-
-
-
-
-
diff --git a/apps/aqhome-storage/aqhomestorage.h b/apps/aqhome-storage/aqhomestorage.h
deleted file mode 100644
index f3aa214..0000000
--- a/apps/aqhome-storage/aqhomestorage.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_STORAGE_H
-#define AQHOME_STORAGE_H
-
-
-#include "aqhome/data/storage.h"
-#include "aqhome/service/session.h"
-#include "aqhome/http/httpservice.h"
-
-#include
-
-
-typedef struct AQHOME_STORAGE AQHOME_STORAGE;
-
-
-AQHOME_STORAGE *AqHomeStorage_new();
-void AqHomeStorage_free(AQHOME_STORAGE *aqh);
-
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetRootEndpoint(const AQHOME_STORAGE *aqh);
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetIpcdEndpoint(const AQHOME_STORAGE *aqh);
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetMqttEndpoint(const AQHOME_STORAGE *aqh);
-GWEN_MSG_ENDPOINT *AqHomeStorage_GetHttpdEndpoint(const AQHOME_STORAGE *aqh);
-
-GWEN_DB_NODE *AqHomeStorage_GetDbArgs(const AQHOME_STORAGE *aqh);
-
-AQH_STORAGE *AqHomeStorage_GetStorage(const AQHOME_STORAGE *aqh);
-
-const char *AqHomeStorage_GetPidFile(const AQHOME_STORAGE *aqh);
-void AqHomeStorage_SetPidFile(AQHOME_STORAGE *aqh, const char *s);
-
-int AqHomeStorage_GetTimeout(const AQHOME_STORAGE *aqh);
-
-
-#endif
-
diff --git a/apps/aqhome-storage/aqhomestorage_p.h b/apps/aqhome-storage/aqhomestorage_p.h
deleted file mode 100644
index 44cb278..0000000
--- a/apps/aqhome-storage/aqhomestorage_p.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_STORAGE_P_H
-#define AQHOME_STORAGE_P_H
-
-
-#include "./aqhomestorage.h"
-
-
-
-/* default values */
-#define AQHOME_STORAGE_DEFAULT_PIDFILE "/var/run/aqhome-storage.pid"
-#define AQHOME_STORAGE_DEFAULT_IPC_PORT 45455
-#define AQHOME_STORAGE_DEFAULT_HTTP_PORT 45456
-#define AQHOME_STORAGE_DEFAULT_MQTT_CLIENTID "AQHOMESTORAGE"
-#define AQHOME_STORAGE_DEFAULT_MQTT_KEEPALIVE 600
-#define AQHOME_STORAGE_DEFAULT_MQTT_PORT 1883
-
-#define AQHOME_STORAGE_DEFAULT_CONFIGDIR "/var/lib/aqhomestorage/config"
-#define AQHOME_STORAGE_DEFAULT_HTTP_SOURCEDIR "/var/lib/aqhomestorage/html"
-#define AQHOME_STORAGE_DEFAULT_DATADIR "/var/lib/aqhomestorage/data"
-
-#define AQHOME_STORAGE_DEFAULT_STATEFILE "/var/lib/aqhomestorage/config/statefile"
-
-#define AQHOME_STORAGE_DEFAULT_MAXSESSIONAGE (30*60)
-
-#define AQHOME_STORAGE_SITEHEADER "site-header.html"
-#define AQHOME_STORAGE_SITEFOOTER "site-footer.html"
-
-#define AQHOME_STORAGE_STATIC_RELFOLDER "static"
-
-
-struct AQHOME_STORAGE {
- GWEN_MSG_ENDPOINT *rootEndpoint;
-
- GWEN_MSG_ENDPOINT *ipcdEndpoint; /* don't release, will be released by freeing rootEndpoint! */
- GWEN_MSG_ENDPOINT *mqttEndpoint; /* don't release, will be released by freeing rootEndpoint! */
- GWEN_MSG_ENDPOINT *httpdEndpoint; /* don't release, will be released by freeing rootEndpoint! */
-
- GWEN_DB_NODE *dbArgs;
-
- AQH_SERVICE *httpService;
- AQH_STORAGE *storage;
-
- char *pidFile;
-
- int maxSessionAgeInSeconds;
-
- int timeout; /* timeout for run e.g. inside valgrind */
-};
-
-#endif
-
diff --git a/apps/aqhome-storage/cleanup.c b/apps/aqhome-storage/cleanup.c
deleted file mode 100644
index d2cfcae..0000000
--- a/apps/aqhome-storage/cleanup.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-
-#include "./cleanup.h"
-#include "./aqhomehttp.h"
-#include "./aqhomestorage_p.h"
-#include "aqhome/http/httpservice_conf.h"
-
-#include
-#include
-#include
-#include
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * defines
- * ------------------------------------------------------------------------------------------------
- */
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * forward declarations
- * ------------------------------------------------------------------------------------------------
- */
-
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * implementations
- * ------------------------------------------------------------------------------------------------
- */
-
-
-
-void AqHomeStorage_Cleanup(AQHOME_STORAGE *aqh)
-{
-
- int rv;
-
- rv=AQH_HttpService_CleanupSessions(aqh->httpService, aqh->maxSessionAgeInSeconds);
- if (rv<0) {
- DBG_INFO(NULL, "here (%d)", rv);
- }
-}
-
-
-
-
diff --git a/apps/aqhome-storage/cleanup.h b/apps/aqhome-storage/cleanup.h
deleted file mode 100644
index 3d3b295..0000000
--- a/apps/aqhome-storage/cleanup.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_STORAGE_CLEANUP_H
-#define AQHOME_STORAGE_CLEANUP_H
-
-
-#include "./aqhomestorage.h"
-
-
-void AqHomeStorage_Cleanup(AQHOME_STORAGE *aqh);
-
-
-
-#endif
-
-
-
-
-
diff --git a/apps/aqhome-storage/fini.c b/apps/aqhome-storage/fini.c
deleted file mode 100644
index 3637588..0000000
--- a/apps/aqhome-storage/fini.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-# include
-#endif
-
-
-#include "./fini.h"
-#include "./aqhomestorage_p.h"
-
-#include
-#include
-#include
-#include
-
-#include
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * defines
- * ------------------------------------------------------------------------------------------------
- */
-
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * forward declarations
- * ------------------------------------------------------------------------------------------------
- */
-
-static void _disconnectTree(GWEN_MSG_ENDPOINT *ep);
-
-
-
-/* ------------------------------------------------------------------------------------------------
- * implementations
- * ------------------------------------------------------------------------------------------------
- */
-
-void AqHomeStorage_Fini(AQHOME_STORAGE *aqh)
-{
- if (aqh) {
- if (aqh->rootEndpoint) {
- _disconnectTree(aqh->rootEndpoint);
- GWEN_MsgEndpoint_Disconnect(aqh->rootEndpoint);
- }
- GWEN_MsgEndpoint_free(aqh->rootEndpoint);
- aqh->rootEndpoint=NULL;
- aqh->ipcdEndpoint=NULL;
- aqh->httpdEndpoint=NULL;
- aqh->mqttEndpoint=NULL;
-
- if (aqh->pidFile)
- remove(aqh->pidFile);
- }
-}
-
-
-
-void _disconnectTree(GWEN_MSG_ENDPOINT *ep)
-{
- GWEN_MSG_ENDPOINT *epChild;
-
- epChild=GWEN_MsgEndpoint_Tree2_GetFirstChild(ep);
- while(epChild) {
- _disconnectTree(epChild);
- epChild=GWEN_MsgEndpoint_Tree2_GetNext(epChild);
- } /* while */
-
- GWEN_MsgEndpoint_Disconnect(ep);
-}
-
-
-
-
diff --git a/apps/aqhome-storage/fini.h b/apps/aqhome-storage/fini.h
deleted file mode 100644
index 0fe7762..0000000
--- a/apps/aqhome-storage/fini.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/****************************************************************************
- * This file is part of the project AqHome.
- * AqHome (c) by 2023 Martin Preuss, all rights reserved.
- *
- * The license for this file can be found in the file COPYING which you
- * should have received along with this file.
- ****************************************************************************/
-
-#ifndef AQHOME_STORAGE_FINI_H
-#define AQHOME_STORAGE_FINI_H
-
-
-#include "./aqhomestorage.h"
-
-
-
-void AqHomeStorage_Fini(AQHOME_STORAGE *aqh);
-
-
-
-#endif
-
-
diff --git a/apps/aqhome-storage/html/site_footer.html b/apps/aqhome-storage/html/site_footer.html
deleted file mode 100644
index b47732e..0000000
--- a/apps/aqhome-storage/html/site_footer.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-