}
+ESL_DECLARE(esl_status_t) esl_sendmsg(esl_handle_t *handle, esl_event_t *event, const char *uuid)
+{
+ char cmd_buf[128] = "sendmsg";
+ char send_buf[1292] = "";
+ char *txt;
+
+ if (!handle || !handle->connected || handle->sock == ESL_SOCK_INVALID) {
+ return ESL_FAIL;
+ }
+
+ if (uuid) {
+ snprintf(cmd_buf, sizeof(cmd_buf), "sendmsg %s", uuid);
+ }
+
+ esl_event_serialize(event, &txt, ESL_FALSE);
+ esl_log(ESL_LOG_DEBUG, "SENDMSG\n%s\n", txt);
+
+ if (send(handle->sock, txt, strlen(txt), 0) <= 0) goto fail;
+
+ free(txt);
+
+ return esl_recv(handle);
+
+ fail:
+
+ handle->connected = 0;
+
+ free(txt);
+
+ return ESL_FAIL;
+}
+
+
ESL_DECLARE(esl_status_t) esl_filter(esl_handle_t *handle, const char *header, const char *value)
{
char send_buf[1024] = "";
return new ESLevent("server_disconnected");
}
+int ESLconnection::sendMSG(ESLevent *send_me, const char *uuid)
+{
+ if (esl_sendmsg(&handle, send_me->event, uuid) == ESL_SUCCESS) {
+ return 0;
+ }
+
+ return 1;
+}
+
ESLevent *ESLconnection::recvEvent()
{
if (esl_recv_event(&handle, 1, NULL) == ESL_SUCCESS) {
*/
ESL_DECLARE(esl_status_t) esl_sendevent(esl_handle_t *handle, esl_event_t *event);
+/*!
+ \brief Send an event as a message to be parsed
+ \param handle Handle to which the event should be sent
+ \param event Event to be sent
+ \param uuid a specific uuid if not the default
+*/
+ESL_DECLARE(esl_status_t) esl_sendmsg(esl_handle_t *handle, esl_event_t *event, const char *uuid);
+
/*!
\brief Connect a handle to a host/port with a specific password. This will also authenticate against the server
\param handle Handle to connect
ESLevent *api(const char *cmd, const char *arg = NULL);
ESLevent *bgapi(const char *cmd, const char *arg = NULL, const char *job_uuid = NULL);
ESLevent *sendEvent(ESLevent *send_me);
+ int sendMSG(ESLevent *send_me, const char *uuid = NULL);
ESLevent *recvEvent();
ESLevent *recvEventTimed(int ms);
ESLevent *filter(const char *header, const char *value);