Leaving all original files in talk/app/webrtc/objc until we can officially tell clients about the new locations.
Also changes presubmit script to not run cpplint on objc dirs. BUG= Review URL: https://codereview.webrtc.org/1467173006 Cr-Commit-Position: refs/heads/master@{#10815}
This commit is contained in:
@ -267,7 +267,14 @@ def _RunPythonTests(input_api, output_api):
|
||||
def _CommonChecks(input_api, output_api):
|
||||
"""Checks common to both upload and commit."""
|
||||
results = []
|
||||
results.extend(_CheckApprovedFilesLintClean(input_api, output_api))
|
||||
# Filter out files that are in objc or ios dirs from being cpplint-ed since
|
||||
# they do not follow C++ lint rules.
|
||||
black_list = input_api.DEFAULT_BLACK_LIST + (
|
||||
r".*\bobjc[\\\/].*",
|
||||
)
|
||||
source_file_filter = lambda x: input_api.FilterSourceFile(x, None, black_list)
|
||||
results.extend(_CheckApprovedFilesLintClean(
|
||||
input_api, output_api, source_file_filter))
|
||||
results.extend(input_api.canned_checks.RunPylint(input_api, output_api,
|
||||
black_list=(r'^.*gviz_api\.py$',
|
||||
r'^.*gaeunit\.py$',
|
||||
|
@ -605,3 +605,19 @@ static_library("rtc_base") {
|
||||
defines += [ "timezone=_timezone" ]
|
||||
}
|
||||
}
|
||||
|
||||
if (is_ios) {
|
||||
source_set("rtc_base_objc") {
|
||||
deps = [
|
||||
":rtc_base",
|
||||
]
|
||||
cflags = [ "-fobjc-arc" ]
|
||||
configs += [ "..:common_config" ]
|
||||
public_configs = [ "..:common_inherited_config" ]
|
||||
|
||||
sources = [
|
||||
"objc/RTCLogging.h",
|
||||
"objc/RTCLogging.mm",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,27 @@
|
||||
}],
|
||||
],
|
||||
}],
|
||||
# TODO(tkchin): Mac support. There are a bunch of problems right now because
|
||||
# of some settings pulled down from Chromium.
|
||||
['OS=="ios"', {
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'rtc_base_objc',
|
||||
'type': 'static_library',
|
||||
'dependencies': [
|
||||
'rtc_base',
|
||||
],
|
||||
'sources': [
|
||||
'objc/RTCLogging.h',
|
||||
'objc/RTCLogging.mm'
|
||||
],
|
||||
'xcode_settings': {
|
||||
'CLANG_ENABLE_OBJC_ARC': 'YES',
|
||||
'CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS': 'YES',
|
||||
},
|
||||
}
|
||||
],
|
||||
}], # OS=="ios"
|
||||
],
|
||||
'targets': [
|
||||
{
|
||||
|
1
webrtc/base/objc/OWNERS
Normal file
1
webrtc/base/objc/OWNERS
Normal file
@ -0,0 +1 @@
|
||||
tkchin@webrtc.org
|
75
webrtc/base/objc/RTCLogging.h
Normal file
75
webrtc/base/objc/RTCLogging.h
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
// Subset of rtc::LoggingSeverity.
|
||||
typedef NS_ENUM(NSInteger, RTCLoggingSeverity) {
|
||||
kRTCLoggingSeverityVerbose,
|
||||
kRTCLoggingSeverityInfo,
|
||||
kRTCLoggingSeverityWarning,
|
||||
kRTCLoggingSeverityError,
|
||||
};
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string);
|
||||
extern "C" void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity);
|
||||
extern "C" NSString* RTCFileName(const char* filePath);
|
||||
#else
|
||||
|
||||
// Wrapper for C++ LOG(sev) macros.
|
||||
// Logs the log string to the webrtc logstream for the given severity.
|
||||
extern void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string);
|
||||
|
||||
// Wrapper for rtc::LogMessage::LogToDebug.
|
||||
// Sets the minimum severity to be logged to console.
|
||||
extern void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity);
|
||||
|
||||
// Returns the filename with the path prefix removed.
|
||||
extern NSString* RTCFileName(const char* filePath);
|
||||
|
||||
#endif
|
||||
|
||||
// Some convenience macros.
|
||||
|
||||
#define RTCLogString(format, ...) \
|
||||
[NSString stringWithFormat:@"(%@:%d %s): " format, \
|
||||
RTCFileName(__FILE__), \
|
||||
__LINE__, \
|
||||
__FUNCTION__, \
|
||||
##__VA_ARGS__]
|
||||
|
||||
#define RTCLogFormat(severity, format, ...) \
|
||||
do { \
|
||||
NSString* log_string = RTCLogString(format, ##__VA_ARGS__); \
|
||||
RTCLogEx(severity, log_string); \
|
||||
} while (false)
|
||||
|
||||
#define RTCLogVerbose(format, ...) \
|
||||
RTCLogFormat(kRTCLoggingSeverityVerbose, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogInfo(format, ...) \
|
||||
RTCLogFormat(kRTCLoggingSeverityInfo, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogWarning(format, ...) \
|
||||
RTCLogFormat(kRTCLoggingSeverityWarning, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogError(format, ...) \
|
||||
RTCLogFormat(kRTCLoggingSeverityError, format, ##__VA_ARGS__) \
|
||||
|
||||
#if !defined(NDEBUG)
|
||||
#define RTCLogDebug(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
|
||||
#else
|
||||
#define RTCLogDebug(format, ...) \
|
||||
do { \
|
||||
} while (false)
|
||||
#endif
|
||||
|
||||
#define RTCLog(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
|
47
webrtc/base/objc/RTCLogging.mm
Normal file
47
webrtc/base/objc/RTCLogging.mm
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import "RTCLogging.h"
|
||||
|
||||
#include "webrtc/base/logging.h"
|
||||
|
||||
rtc::LoggingSeverity RTCGetNativeLoggingSeverity(RTCLoggingSeverity severity) {
|
||||
switch (severity) {
|
||||
case kRTCLoggingSeverityVerbose:
|
||||
return rtc::LS_VERBOSE;
|
||||
case kRTCLoggingSeverityInfo:
|
||||
return rtc::LS_INFO;
|
||||
case kRTCLoggingSeverityWarning:
|
||||
return rtc::LS_WARNING;
|
||||
case kRTCLoggingSeverityError:
|
||||
return rtc::LS_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string) {
|
||||
if (log_string.length) {
|
||||
const char* utf8_string = log_string.UTF8String;
|
||||
LOG_V(RTCGetNativeLoggingSeverity(severity)) << utf8_string;
|
||||
}
|
||||
}
|
||||
|
||||
void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity) {
|
||||
rtc::LogMessage::LogToDebug(RTCGetNativeLoggingSeverity(severity));
|
||||
}
|
||||
|
||||
NSString* RTCFileName(const char* file_path) {
|
||||
NSString* ns_file_path =
|
||||
[[NSString alloc] initWithBytesNoCopy:const_cast<char*>(file_path)
|
||||
length:strlen(file_path)
|
||||
encoding:NSUTF8StringEncoding
|
||||
freeWhenDone:NO];
|
||||
return ns_file_path.lastPathComponent;
|
||||
}
|
||||
|
Reference in New Issue
Block a user