/****************************************************************************
 * 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.
 ****************************************************************************/

#ifndef AQH_M_IPCD_H
#define AQH_M_IPCD_H


#include <aqhome/api.h>
#include <aqhome/ipc2/message.h>

#include <stdint.h>



#define AQH_IPC_PROTOCOL_DATA_ID      2
#define AQH_IPC_PROTOCOL_DATA_VERSION 1



#define AQH_MSGTYPE_IPC_DATA_RESULT               AQH_MSGTYPE_IPC_RESULT
#define AQH_MSGTYPE_IPC_DATA_CONNECT_REQ          AQH_MSGTYPE_IPC_CONNECT_REQ

#define AQH_MSGTYPE_IPC_DATA_UPDATEDATA           0x0100  /* AQH_MultiDataDataIpcMsg */
#define AQH_MSGTYPE_IPC_DATA_DATACHANGED          0x0200  /* AQH_MultiDataDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_SETDATA              0x0300  /* AQH_SetDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_ADDVALUE             0x0400  /* AQH_AddValueDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_GETDATA_REQ          0x0500  /* AQH_GetDataDataIpcMsg */
#define AQH_MSGTYPE_IPC_DATA_GETDATA_RSP          0x0600  /* AQH_MultiDataDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_GETLASTDATA_REQ      0x0700  /* AQH_GetDataDataIpcMsg */
#define AQH_MSGTYPE_IPC_DATA_GETLASTDATA_RSP      0x0800  /* AQH_MultiDataDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_GETVALUES_REQ        0x0900  /* GWEN_IpcMsg */
#define AQH_MSGTYPE_IPC_DATA_GETVALUES_RSP        0x0a00  /* AQH_ValuesDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_GETDEVICES_REQ       0x0b00  /* GWEN_IpcMsg */
#define AQH_MSGTYPE_IPC_DATA_GETDEVICES_RSP       0x0c00  /* AQH_DevicesDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_MODDEVICE_REQ        0x0d00  /* AQH_DevicesDataIpcMsg */

#define AQH_MSGTYPE_IPC_DATA_ANNOUNCEVALUE        0x0e00  /* AQH_ValuesDataIpcMsg */



AQHOME_API const char *AQH_IpcdMessage_MsgTypeToChar(uint16_t i);





#endif
