void request_all_sticker_data(const char *mode, const char *type);
bool request_sticker_data(const char *mode, const char *category, const char *type);
+void request_auto_sync();
void request_sticker_feature();
void send_disconnect_message();
void request_show_sync_notification();
StickerRequest request = ReqQueue.front();
- if (request.req_type == REQUEST_TYPE_FEATURE_REQ) {
- LOGD("[Request feature exchange]");
- request_sticker_feature();
- ReqQueue.pop();
- }
- else if (request.req_type == REQUEST_TYPE_SYNC) {
- LOGD("[Request to sync sticker] mode: %s, category: %s, type : %s", request.mode.c_str(),
- request.category.c_str(),
- request.type.c_str());
+ switch (request.req_type) {
+ case REQUEST_TYPE_FEATURE_REQ:
+ LOGD("[Request feature exchange]");
+ request_sticker_feature();
+ ReqQueue.pop();
+ break;
+ case REQUEST_TYPE_SYNC:
+ LOGD("[Request to sync sticker] mode: %s, category: %s, type : %s", request.mode.c_str(),
+ request.category.c_str(),
+ request.type.c_str());
+
+ if (request_sticker_data(request.mode.c_str(), request.category.c_str(), request.type.c_str()))
+ ReqQueue.pop();
- if (request_sticker_data(request.mode.c_str(), request.category.c_str(), request.type.c_str()))
+ break;
+ case REQUEST_TYPE_SHOW_NOTIFICATION:
+ LOGD("[Request to show notification]");
+ request_show_sync_notification();
ReqQueue.pop();
- }
- else if (request.req_type == REQUEST_TYPE_SHOW_NOTIFICATION) {
- LOGD("[Request to show notification]");
- request_show_sync_notification();
- ReqQueue.pop();
+ break;
+ case REQUEST_TYPE_AUTOSYNC:
+ LOGD("[Request to sync automatically]");
+ ReqQueue.pop();
+ request_all_sticker_data("auto", "input");
+ break;
+ default:
+ break;
}
return true;
}
+void request_auto_sync()
+{
+ LOGD("Add request to sync automatically");
+ StickerRequest pending_request;
+ pending_request.req_type = REQUEST_TYPE_AUTOSYNC;
+ ReqQueue.push(pending_request);
+}
+
void request_all_sticker_data(const char *mode, const char *type)
{
StickerRequest pending_request;