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
@ -10,8 +10,11 @@
|
||||
|
||||
#import "RTCCallbackLogger.h"
|
||||
|
||||
#import "helpers/NSString+StdString.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/log_sinks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
@ -21,9 +24,13 @@ class CallbackLogSink : public rtc::LogSink {
|
||||
CallbackLogSink(RTCCallbackLoggerMessageHandler callbackHandler)
|
||||
: callback_handler_(callbackHandler) {}
|
||||
|
||||
void OnLogMessage(const std::string &message) override {
|
||||
void OnLogMessage(const std::string& message) override {
|
||||
OnLogMessage(absl::string_view(message));
|
||||
}
|
||||
|
||||
void OnLogMessage(absl::string_view message) override {
|
||||
if (callback_handler_) {
|
||||
callback_handler_([NSString stringWithUTF8String:message.c_str()]);
|
||||
callback_handler_([NSString stringForAbslStringView:message]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,10 +45,10 @@ class CallbackWithSeverityLogSink : public rtc::LogSink {
|
||||
|
||||
void OnLogMessage(const std::string& message) override { RTC_DCHECK_NOTREACHED(); }
|
||||
|
||||
void OnLogMessage(const std::string& message, rtc::LoggingSeverity severity) override {
|
||||
void OnLogMessage(absl::string_view message, rtc::LoggingSeverity severity) override {
|
||||
if (callback_handler_) {
|
||||
RTCLoggingSeverity loggingSeverity = NativeSeverityToObjcSeverity(severity);
|
||||
callback_handler_([NSString stringWithUTF8String:message.c_str()], loggingSeverity);
|
||||
callback_handler_([NSString stringForAbslStringView:message], loggingSeverity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,8 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface NSString (StdString)
|
||||
@ -23,4 +25,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@end
|
||||
|
||||
@interface NSString (AbslStringView)
|
||||
|
||||
+ (NSString *)stringForAbslStringView:(const absl::string_view)abslStringView;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@ -10,6 +10,8 @@
|
||||
|
||||
#import "NSString+StdString.h"
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
|
||||
@implementation NSString (StdString)
|
||||
|
||||
- (std::string)stdString {
|
||||
@ -31,3 +33,13 @@
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSString (AbslStringView)
|
||||
|
||||
+ (NSString *)stringForAbslStringView:(const absl::string_view)abslStringView {
|
||||
return [[NSString alloc] initWithBytes:abslStringView.data()
|
||||
length:abslStringView.length()
|
||||
encoding:NSUTF8StringEncoding];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user