/****************************************************************************
 * 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 <config.h>
#endif


#include "aqhome/msg/ipc/data/m_ipcd.h"
#include "aqhome/msg/ipc/m_ipc.h"

#include <gwenhywfar/text.h>


/* ------------------------------------------------------------------------------------------------
 * forward declarations
 * ------------------------------------------------------------------------------------------------
 */



/* ------------------------------------------------------------------------------------------------
 * implementation
 * ------------------------------------------------------------------------------------------------
 */

const char *AQH_IpcdMessage_MsgTypeToChar(uint16_t i)
{
  switch(i) {
  case AQH_MSGTYPE_IPC_DATA_RESULT:          return "Result";
  case AQH_MSGTYPE_IPC_DATA_CONNECT_REQ:     return "Connect(Req)";
  case AQH_MSGTYPE_IPC_DATA_UPDATEDATA:      return "UpdateData";
  case AQH_MSGTYPE_IPC_DATA_DATACHANGED:     return "DataChanged";
  case AQH_MSGTYPE_IPC_DATA_SETDATA:         return "SetData";
  case AQH_MSGTYPE_IPC_DATA_ADDVALUE:        return "AddValue";
  case AQH_MSGTYPE_IPC_DATA_GETDATA_REQ:     return "GetData(Req)";
  case AQH_MSGTYPE_IPC_DATA_GETDATA_RSP:     return "GetData(Rsp)";
  case AQH_MSGTYPE_IPC_DATA_GETLASTDATA_REQ: return "GetLastData(Req)";
  case AQH_MSGTYPE_IPC_DATA_GETLASTDATA_RSP: return "GetLastData(Rsp)";
  case AQH_MSGTYPE_IPC_DATA_GETVALUES_REQ:   return "GetValues(Req)";
  case AQH_MSGTYPE_IPC_DATA_GETVALUES_RSP:   return "GetValues(Rsp)";
  case AQH_MSGTYPE_IPC_DATA_GETDEVICES_REQ:  return "GetDevices(Req)";
  case AQH_MSGTYPE_IPC_DATA_GETDEVICES_RSP:  return "GetDevices(Rsp)";
  case AQH_MSGTYPE_IPC_DATA_MODDEVICE_REQ:   return "ModDevice(Req)";
  case AQH_MSGTYPE_IPC_DATA_ANNOUNCEVALUE:   return "AnnounceValue";
  default:                                   return "(unknown)";
  }
}





