| 301 | |
| 302 | |
| 303 | bool WorkflowMachine::SetOverride(const string& activity, bool enable) |
| 304 | { |
| 305 | rapidjson::Document request(rapidjson::kObjectType); |
| 306 | rapidjson::Document::AllocatorType& allocator = request.GetAllocator(); |
| 307 | request.AddMember("command", "override", allocator); |
| 308 | request.AddMember("action", "set", allocator); |
| 309 | request.AddMember("activity", activity, allocator); |
| 310 | request.AddMember("enable", enable, allocator); |
| 311 | rapidjson::StringBuffer buffer; |
| 312 | rapidjson::Writer<rapidjson::StringBuffer> writer(buffer); |
| 313 | request.Accept(writer); |
| 314 | |
| 315 | string jsonResult; |
| 316 | if (m_function) |
| 317 | jsonResult = BNPostWorkflowRequestForFunction(m_function->GetObject(), buffer.GetString()); |
| 318 | else |
| 319 | jsonResult = BNPostWorkflowRequestForBinaryView(m_view->GetObject(), buffer.GetString()); |
| 320 | |
| 321 | rapidjson::Document response(rapidjson::kObjectType); |
| 322 | response.Parse(jsonResult.c_str()); |
| 323 | if (response.HasMember("commandStatus") && response["commandStatus"].HasMember("accepted")) |
| 324 | return response["commandStatus"]["accepted"].GetBool(); |
| 325 | |
| 326 | return false; |
| 327 | } |
| 328 | |
| 329 | |
| 330 | bool WorkflowMachine::ClearOverride(const string& activity) |