summaryrefslogtreecommitdiff
path: root/protocols/Slack/src/slack_requests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Slack/src/slack_requests.cpp')
-rw-r--r--protocols/Slack/src/slack_requests.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/protocols/Slack/src/slack_requests.cpp b/protocols/Slack/src/slack_requests.cpp
index 7fd0ef4805..ad99b198a3 100644
--- a/protocols/Slack/src/slack_requests.cpp
+++ b/protocols/Slack/src/slack_requests.cpp
@@ -7,23 +7,23 @@ void CSlackProto::SendRequest(HttpRequest *request)
delete request;
}
-void CSlackProto::SendRequest(HttpRequest *request, HttpCallback callback)
+void CSlackProto::SendRequest(HttpRequest *request, HttpCallback callback, void *param)
{
NETLIBHTTPREQUEST *pResp = Netlib_HttpTransaction(m_hNetlibUser, (NETLIBHTTPREQUEST*)request);
HttpResponse response(request, pResp);
if (callback)
- (this->*callback)(response);
+ (this->*callback)(response, param);
delete request;
}
-void CSlackProto::SendRequest(HttpRequest *request, JsonCallback callback)
+void CSlackProto::SendRequest(HttpRequest *request, JsonCallback callback, void *param)
{
NETLIBHTTPREQUEST *pResp = Netlib_HttpTransaction(m_hNetlibUser, (NETLIBHTTPREQUEST*)request);
HttpResponse response(request, pResp);
if (callback)
{
JSONNode root = JSONNode::parse(response.Content);
- (this->*callback)(root);
+ (this->*callback)(root, param);
}
delete request;
}
@@ -39,11 +39,12 @@ void CSlackProto::PushRequest(HttpRequest *request)
SetEvent(hRequestsQueueEvent);
}
-void CSlackProto::PushRequest(HttpRequest *request, HttpCallback callback)
+void CSlackProto::PushRequest(HttpRequest *request, HttpCallback callback, void *param)
{
RequestQueueItem *item = new RequestQueueItem();
item->request = request;
item->httpCallback = callback;
+ item->param = param;
{
mir_cslock lock(requestQueueLock);
requestQueue.insert(item);
@@ -51,11 +52,12 @@ void CSlackProto::PushRequest(HttpRequest *request, HttpCallback callback)
SetEvent(hRequestsQueueEvent);
}
-void CSlackProto::PushRequest(HttpRequest *request, JsonCallback callback)
+void CSlackProto::PushRequest(HttpRequest *request, JsonCallback callback, void *param)
{
RequestQueueItem *item = new RequestQueueItem();
item->request = request;
item->jsonCallback = callback;
+ item->param = param;
{
mir_cslock lock(requestQueueLock);
requestQueue.insert(item);
@@ -81,9 +83,9 @@ void CSlackProto::RequestQueueThread(void*)
requestQueue.remove(0);
}
if (item->httpCallback)
- SendRequest(item->request, item->httpCallback);
+ SendRequest(item->request, item->httpCallback, item->param);
else if (item->jsonCallback)
- SendRequest(item->request, item->jsonCallback);
+ SendRequest(item->request, item->jsonCallback, item->param);
else
SendRequest(item->request);
delete item;