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:
tkchin
2015-11-26 23:18:23 -08:00
committed by Commit bot
parent b1ac203480
commit 42f580e490
6 changed files with 168 additions and 1 deletions

View File

@ -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$',

View File

@ -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",
]
}
}

View File

@ -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
View File

@ -0,0 +1 @@
tkchin@webrtc.org

View 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__)

View 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;
}