/**************************************************************************** * 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 AQHOMED_H #define AQHOMED_H #include #include #include #define AQHOME_ENDPOINTGROUP_NODE 1 #define AQHOME_ENDPOINTGROUP_IPC 2 #define AQHOME_ENDPOINTGROUP_MQTT 4 typedef struct AQHOMED AQHOMED; #include "aqhome-nodes/types/device.h" AQHOMED *AqHomed_new(void); void AqHomed_free(AQHOMED *aqh); GWEN_MSG_ENDPOINT *AqHomed_GetTtyEndpoint(const AQHOMED *aqh); GWEN_MSG_ENDPOINT *AqHomed_GetIpcdEndpoint(const AQHOMED *aqh); GWEN_MSG_ENDPOINT *AqHomed_GetBrokerEndpoint(const AQHOMED *aqh); GWEN_DB_NODE *AqHomed_GetDbArgs(const AQHOMED *aqh); const char *AqHomed_GetLogFile(const AQHOMED *aqh); void AqHomed_SetLogFile(AQHOMED *aqh, const char *s); const char *AqHomed_GetPidFile(const AQHOMED *aqh); void AqHomed_SetPidFile(AQHOMED *aqh, const char *s); const char *AqHomed_GetDbFile(const AQHOMED *aqh); void AqHomed_SetDbFile(AQHOMED *aqh, const char *s); int AqHomed_GetTimeout(const AQHOMED *aqh); GWEN_MSG_REQUEST *AqHomed_GetRequestTree(const AQHOMED *aqh); void AqHomed_AddRequestToTree(AQHOMED *aqh, GWEN_MSG_REQUEST *rq); const AQHNODE_DEVICE_LIST *AqHomed_GetDeviceDefList(const AQHOMED *aqh); const AQHNODE_DEVICE *AqHomed_FindDeviceDef(const AQHOMED *aqh, uint32_t manufacturer, uint16_t deviceType, uint16_t deviceVersion); const AQHNODE_DEVICE *AqHomed_GetDeviceDefByName(const AQHOMED *aqh, const char *name); #endif