Adopt absl::string_view in rtc_base/log_sinks
This is part of a large scale effort to increase adoption of absl::string_view across the WebRTC code base. This CL adds absl::string_view versions of the OnLogMessage functions in rtc::LogSink. The const std::string& versions are kept for now since downstream clients use subclasses of LogSink and need to be migrated before these are removed. Bug: webrtc:13579 Change-Id: I57bb72ad503805ff0ca16f1d7aece2d44c65cb73 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/253980 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Xavier Lepaul <xalep@webrtc.org> Owners-Override: Xavier Lepaul <xalep@webrtc.org> Commit-Queue: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36189}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
9848890590
commit
6364d0899e
@ -9,6 +9,7 @@
|
||||
*/
|
||||
#include "sdk/android/src/jni/logging/log_sink.h"
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "sdk/android/generated_logging_jni/JNILogging_jni.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -18,18 +19,24 @@ JNILogSink::JNILogSink(JNIEnv* env, const JavaRef<jobject>& j_logging)
|
||||
: j_logging_(env, j_logging) {}
|
||||
JNILogSink::~JNILogSink() = default;
|
||||
|
||||
void JNILogSink::OnLogMessage(const std::string& msg,
|
||||
rtc::LoggingSeverity severity,
|
||||
const char* tag) {
|
||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||
Java_JNILogging_logToInjectable(env, j_logging_, NativeToJavaString(env, msg),
|
||||
NativeToJavaInteger(env, severity),
|
||||
NativeToJavaString(env, tag));
|
||||
}
|
||||
|
||||
void JNILogSink::OnLogMessage(const std::string& msg) {
|
||||
RTC_DCHECK_NOTREACHED();
|
||||
}
|
||||
|
||||
void JNILogSink::OnLogMessage(const std::string& msg,
|
||||
rtc::LoggingSeverity severity,
|
||||
const char* tag) {
|
||||
OnLogMessage(absl::string_view{msg}, severity, tag);
|
||||
}
|
||||
|
||||
void JNILogSink::OnLogMessage(absl::string_view msg,
|
||||
rtc::LoggingSeverity severity,
|
||||
const char* tag) {
|
||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||
Java_JNILogging_logToInjectable(
|
||||
env, j_logging_, NativeToJavaString(env, std::string(msg)),
|
||||
NativeToJavaInteger(env, severity), NativeToJavaString(env, tag));
|
||||
}
|
||||
|
||||
} // namespace jni
|
||||
} // namespace webrtc
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "sdk/android/native_api/jni/java_types.h"
|
||||
#include "sdk/android/src/jni/jni_helpers.h"
|
||||
@ -24,10 +25,13 @@ class JNILogSink : public rtc::LogSink {
|
||||
JNILogSink(JNIEnv* env, const JavaRef<jobject>& j_logging);
|
||||
~JNILogSink() override;
|
||||
|
||||
void OnLogMessage(const std::string& msg) override;
|
||||
void OnLogMessage(const std::string& msg,
|
||||
rtc::LoggingSeverity severity,
|
||||
const char* tag) override;
|
||||
void OnLogMessage(const std::string& msg) override;
|
||||
void OnLogMessage(absl::string_view msg,
|
||||
rtc::LoggingSeverity severity,
|
||||
const char* tag) override;
|
||||
|
||||
private:
|
||||
const ScopedJavaGlobalRef<jobject> j_logging_;
|
||||
|
||||
Reference in New Issue
Block a user