/**************************************************************************** * This file is part of the project AqHome. * AqHome (c) by 2025 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 "./mqtt_client.h" #include #include #include #include #include /* ------------------------------------------------------------------------------------------------ * code * ------------------------------------------------------------------------------------------------ */ AQH_OBJECT *AQH_MqttClientObject_new(AQH_EVENT_LOOP *eventLoop, int fd) { int fdCopy; AQH_OBJECT *fdReader; AQH_OBJECT *fdWriter; AQH_OBJECT *msgReader; AQH_OBJECT *msgWriter; AQH_OBJECT *endpoint; fdCopy=dup(fd); fdReader=AQH_FdObject_new(eventLoop, fd, AQH_FDOBJECT_FDMODE_READ); msgReader=AQH_MqttMsgReader_new(eventLoop, fdReader); AQH_Object_Enable(msgReader); fdWriter=AQH_FdObject_new(eventLoop, fdCopy, AQH_FDOBJECT_FDMODE_WRITE); msgWriter=AQH_MsgWriter_new(eventLoop, fdWriter); endpoint=AQH_Endpoint_new(eventLoop, msgReader, msgWriter); return endpoint; }