MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / QueryOverride

Method QueryOverride

workflow.cpp:277–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275
276
277std::optional<bool> WorkflowMachine::QueryOverride(const string& activity)
278{
279 rapidjson::Document request(rapidjson::kObjectType);
280 rapidjson::Document::AllocatorType& allocator = request.GetAllocator();
281 request.AddMember("command", "override", allocator);
282 request.AddMember("action", "query", allocator);
283 request.AddMember("activity", activity, allocator);
284 rapidjson::StringBuffer buffer;
285 rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
286 request.Accept(writer);
287
288 string jsonResult;
289 if (m_function)
290 jsonResult = BNPostWorkflowRequestForFunction(m_function->GetObject(), buffer.GetString());
291 else
292 jsonResult = BNPostWorkflowRequestForBinaryView(m_view->GetObject(), buffer.GetString());
293
294 rapidjson::Document response(rapidjson::kObjectType);
295 response.Parse(jsonResult.c_str());
296 if (response.HasMember("response") && response["response"].HasMember("activity") && response["response"]["activity"].HasMember("override"))
297 return response["response"]["activity"]["override"].GetBool();
298
299 return std::nullopt;
300}
301
302
303bool WorkflowMachine::SetOverride(const string& activity, bool enable)

Callers

nothing calls this directly

Calls 6

AddMemberMethod · 0.80
c_strMethod · 0.80
HasMemberMethod · 0.80
GetObjectMethod · 0.45
GetStringMethod · 0.45
ParseMethod · 0.45

Tested by

no test coverage detected