Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 4
0
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;
}