Index: webrtc/base/macutils.cc |
diff --git a/webrtc/base/macutils.cc b/webrtc/base/macutils.cc |
index 3a07b815c90d864a3f7346e5b5a9d17357b718ac..c05526affb73fb36d0f8f28113ebc951849b7f98 100644 |
--- a/webrtc/base/macutils.cc |
+++ b/webrtc/base/macutils.cc |
@@ -11,6 +11,8 @@ |
#include <memory> |
#include <sstream> |
+#include <CoreServices/CoreServices.h> |
+ |
#include "webrtc/base/common.h" |
#include "webrtc/base/logging.h" |
#include "webrtc/base/macutils.h" |
@@ -46,7 +48,6 @@ bool ToUtf16(const std::string& str8, CFStringRef* str16) { |
return NULL != *str16; |
} |
-#if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) |
void DecodeFourChar(UInt32 fc, std::string* out) { |
std::stringstream ss; |
ss << '\''; |
@@ -128,82 +129,4 @@ MacOSVersionName GetOSVersionName() { |
} |
return kMacOSNewer; |
} |
- |
-bool RunAppleScript(const std::string& script) { |
- // TODO(thaloun): Add a .mm file that contains something like this: |
- // NSString source from script |
- // NSAppleScript* appleScript = [[NSAppleScript alloc] initWithSource:&source] |
- // if (appleScript != nil) { |
- // [appleScript executeAndReturnError:nil] |
- // [appleScript release] |
-#ifndef CARBON_DEPRECATED |
- ComponentInstance component = NULL; |
- AEDesc script_desc; |
- AEDesc result_data; |
- OSStatus err; |
- OSAID script_id, result_id; |
- |
- AECreateDesc(typeNull, NULL, 0, &script_desc); |
- AECreateDesc(typeNull, NULL, 0, &result_data); |
- script_id = kOSANullScript; |
- result_id = kOSANullScript; |
- |
- component = OpenDefaultComponent(kOSAComponentType, typeAppleScript); |
- if (component == NULL) { |
- LOG(LS_ERROR) << "Failed opening Apple Script component"; |
- return false; |
- } |
- err = AECreateDesc(typeUTF8Text, script.data(), script.size(), &script_desc); |
- if (err != noErr) { |
- CloseComponent(component); |
- LOG(LS_ERROR) << "Failed creating Apple Script description"; |
- return false; |
- } |
- |
- err = OSACompile(component, &script_desc, kOSAModeCanInteract, &script_id); |
- if (err != noErr) { |
- AEDisposeDesc(&script_desc); |
- if (script_id != kOSANullScript) { |
- OSADispose(component, script_id); |
- } |
- CloseComponent(component); |
- LOG(LS_ERROR) << "Error compiling Apple Script"; |
- return false; |
- } |
- |
- err = OSAExecute(component, script_id, kOSANullScript, kOSAModeCanInteract, |
- &result_id); |
- |
- if (err == errOSAScriptError) { |
- LOG(LS_ERROR) << "Error when executing Apple Script: " << script; |
- AECreateDesc(typeNull, NULL, 0, &result_data); |
- OSAScriptError(component, kOSAErrorMessage, typeChar, &result_data); |
- int len = AEGetDescDataSize(&result_data); |
- char* data = (char*)malloc(len); |
- if (data != NULL) { |
- err = AEGetDescData(&result_data, data, len); |
- LOG(LS_ERROR) << "Script error: " << std::string(data, len); |
- } |
- AEDisposeDesc(&script_desc); |
- AEDisposeDesc(&result_data); |
- return false; |
- } |
- AEDisposeDesc(&script_desc); |
- if (script_id != kOSANullScript) { |
- OSADispose(component, script_id); |
- } |
- if (result_id != kOSANullScript) { |
- OSADispose(component, result_id); |
- } |
- CloseComponent(component); |
- return true; |
-#else |
- // TODO(thaloun): Support applescripts with the NSAppleScript API. |
- return false; |
-#endif // CARBON_DEPRECATED |
-} |
-#endif // WEBRTC_MAC && !defined(WEBRTC_IOS) |
- |
-/////////////////////////////////////////////////////////////////////////////// |
- |
} // namespace rtc |