purplesatoriconnection.h

changeset 3
33a7b189a2c6
parent 0
cc7c1f9d20f7
equal deleted inserted replaced
2:efafd19ab2fe 3:33a7b189a2c6
20 #define PURPLE_SATORI_CONNECTION_H 20 #define PURPLE_SATORI_CONNECTION_H
21 21
22 #include <glib.h> 22 #include <glib.h>
23 #include <purple.h> 23 #include <purple.h>
24 #include <libsoup/soup.h> 24 #include <libsoup/soup.h>
25 #include <libsoup/soup-types.h>
25 26
26 G_BEGIN_DECLS 27 G_BEGIN_DECLS
27
28 #define PURPLE_SATORI_HOST "192.168.1.154:5600"
29 #define PURPLE_SATORI_WSURL "ws://" PURPLE_SATORI_HOST "/v1/events"
30
31 #define PURPLE_SATORI_PLATFORM "QQ"
32 #define PURPLE_SATORI_USER_ID "3751531667"
33 28
34 #define PURPLE_SATORI_TYPE_CONNECTION (purple_satori_connection_get_type()) 29 #define PURPLE_SATORI_TYPE_CONNECTION (purple_satori_connection_get_type())
35 G_DECLARE_FINAL_TYPE(PurpleSatoriConnection, purple_satori_connection, PURPLE_SATORI, 30 G_DECLARE_FINAL_TYPE(PurpleSatoriConnection, purple_satori_connection, PURPLE_SATORI,
36 CONNECTION, PurpleConnection) 31 CONNECTION, PurpleConnection)
37 32
38 G_GNUC_INTERNAL void purple_satori_connection_register(GPluginNativePlugin *plugin); 33 G_GNUC_INTERNAL void purple_satori_connection_register(GPluginNativePlugin *plugin);
34
35 static inline SoupMessage *
36 SATORI_ENDPOINT(PurpleSatoriConnection *con, const gchar *p) {
37 PurpleAccount *acc = \
38 purple_connection_get_account(PURPLE_CONNECTION(con));
39
40 gchar *url = \
41 g_strdup_printf("%s://%s%s%s",
42 purple_account_get_bool(acc, "https", FALSE) ? "https" : "http",
43 purple_account_get_string(acc, "host", "127.0.0.1:5600"),
44 purple_account_get_string(acc, "path", "/v1"), p);
45
46 SoupMessage *msg = soup_message_new("POST", url);
47 SoupMessageHeaders *headers = soup_message_get_request_headers(msg);
48
49 soup_message_headers_append(headers, "Satori-Platform",
50 purple_account_get_string(acc, "platform", ""));
51 soup_message_headers_append(headers, "Satori-User-ID",
52 purple_account_get_username(acc));
53
54 g_free(url);
55 return msg;
56 }
39 57
40 void 58 void
41 purple_satori_connection_send_and_read_async(PurpleSatoriConnection *con, 59 purple_satori_connection_send_and_read_async(PurpleSatoriConnection *con,
42 SoupMessage *msg, 60 SoupMessage *msg,
43 int io_priority, 61 int io_priority,

mercurial