Files
aqhomecontrol/aqhome/ipc/endpoint_ipcclient.h

47 lines
1.5 KiB
C

/****************************************************************************
* 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 AQH_ENDPOINT_IPCCLIENT_H
#define AQH_ENDPOINT_IPCCLIENT_H
#include <aqhome/api.h>
#include <gwenhywfar/endpoint.h>
#define AQH_ENDPOINT_IPCCLIENT_FLAGS_WANTUPDATES 0x0001
/**
* This class expects to later have a child endpoint derived in any form from GWEN_TcpcEndpoint and from
* AQH_IpcEndpoint. It allows for automatic connect/reconnect including automatic exchange of AQH_ConnectDataIpcMsg
* messages thereby combining physical and logical connection to a server in one class.
*
* Use this class like this:
* <code>
* GWEN_MSG_ENDPOINT *clientEndpoint;
* GWEN_MSG_ENDPOINT *ipcBaseEndpoint;
*
* clientEndpoint=AQH_ClientIpcEndpoint_new("testClient", 0);
* ipcBaseEndpoint=AQH_IpcEndpoint_CreateIpcTcpClient("127.0.0.1", 1234, "ipcBaseClient", 0);
* AQH_IpcEndpoint_SetServiceName(ipcBaseEndpoint, "testclient");
* AQH_IpcEndpoint_SetUserName(ipcBaseEndpoint, "testUser");
* ...
* GWEN_MsgEndpoint_Tree2_AddChild(clientEndpoint, ipcBaseEndpoint);
* </code>
*
*/
AQHOME_API GWEN_MSG_ENDPOINT *AQH_ClientIpcEndpoint_new(const char *name, int groupId);
#endif