NSCAPI::nagiosReturn nscapi::core_wrapper::exec_command(const std::string target, std::string request, std::string & result) { char *buffer = NULL; unsigned int buffer_size = 0; NSCAPI::nagiosReturn retC = exec_command(target.c_str(), request.c_str(), static_cast<unsigned int>(request.size()), &buffer, &buffer_size); if (buffer_size > 0 && buffer != NULL) { result = std::string(buffer, buffer_size); } DestroyBuffer(&buffer); if (retC != NSCAPI::isSuccess) { CORE_LOG_ERROR("Failed to execute command on " + target + ": " + strEx::s::xtos(retC)); } return retC; }
NSCAPI::nagiosReturn nscapi::core_helper::simple_query(const std::string command, const std::list<std::string> & arguments, std::string & result) { std::string request; try { nscapi::protobuf::functions::create_simple_query_request(command, arguments, request); } catch (std::exception &e) { CORE_LOG_ERROR_EXR("Failed to extract return message: ", e); return NSCAPI::returnUNKNOWN; } NSCAPI::nagiosReturn retC = get_core()->query(request, result); if (retC != NSCAPI::isSuccess) { CORE_LOG_ERROR("Failed to execute command: " + command); } return retC; }
bool nscapi::core_wrapper::exec_command(const std::string target, std::string request, std::string & result) const { char *buffer = NULL; unsigned int buffer_size = 0; bool retC = NSCAPI::api_ok(exec_command(target.c_str(), request.c_str(), static_cast<unsigned int>(request.size()), &buffer, &buffer_size)); if (buffer_size > 0 && buffer != NULL) { result = std::string(buffer, buffer_size); } DestroyBuffer(&buffer); if (!retC) { CORE_LOG_ERROR("Failed to execute command on " + target); } return retC; }
NSCAPI::nagiosReturn nscapi::core_wrapper::query(const std::string & request, std::string & result) const { if (!fNSAPIInject) throw nscapi::nscapi_exception("NSCore has not been initiated..."); char *buffer = NULL; unsigned int buffer_size = 0; NSCAPI::nagiosReturn retC = query(request.c_str(), static_cast<unsigned int>(request.size()), &buffer, &buffer_size); if (buffer_size > 0 && buffer != NULL) { //PluginCommand::ResponseMessage rsp_msg; result = std::string(buffer, buffer_size); } DestroyBuffer(&buffer); if (retC != NSCAPI::isSuccess) { CORE_LOG_ERROR("Failed to execute command"); } return retC; }