func AgentAddReport()

in sdk/python3/api.go [118:140]


func AgentAddReport(self *C.Agent, report *C.PyObject) *C.PyObject {
	var reportStr *C.PyObject = C.PyUnicode_AsEncodedString(report, C.CString("UTF-8"), C.CString("strict"))
	var reportData *C.char = C.PyBytes_AsString(reportStr)
	C.Py_DecRef(reportStr)

	agentsmu.RLock()
	defer agentsmu.RUnlock()

	goReportData := []byte(C.GoString(reportData))

	agent, exists := agents[self.agentnum]
	if !exists {
		setException("Agent already shutdown")
		return nil
	}

	if err := agent.AddReportJson(goReportData); err != nil {
		setException(err.Error())
		return nil
	}

	return C.none()
}