Index: base/system_monitor/system_monitor_ios.mm |
diff --git a/base/system_monitor/system_monitor_ios.mm b/base/system_monitor/system_monitor_ios.mm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ff980d653494e78aaed83d62baba2ef0442c8834 |
--- /dev/null |
+++ b/base/system_monitor/system_monitor_ios.mm |
@@ -0,0 +1,47 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Implementation based on sample code from |
+// http://developer.apple.com/library/mac/#qa/qa1340/_index.html. |
Mark Mentovai
2012/07/10 16:06:03
I don’t see anything like this code at this URL.
rohitrao (ping after 24h)
2012/07/10 16:26:44
Removed the comment.
|
+ |
+#include "base/system_monitor/system_monitor.h" |
+ |
+#include <UIKit/UIKit.h> |
Mark Mentovai
2012/07/10 16:06:03
#import me.
rohitrao (ping after 24h)
2012/07/10 16:26:44
Done.
|
+ |
+namespace base { |
+ |
+void SystemMonitor::AllocateSystemIOPorts() { |
+ // No need to allocate any IO ports on iOS. |
Mark Mentovai
2012/07/10 16:06:03
This comment is unnecessary. There’s obviously no
rohitrao (ping after 24h)
2012/07/10 16:26:44
Removed the comment. I thought about making the e
Mark Mentovai
2012/07/10 17:06:05
rohitrao wrote:
rohitrao (ping after 24h)
2012/07/10 17:17:42
Done.
|
+} |
+ |
+void SystemMonitor::PlatformInit() { |
+ NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
+ id foreground = |
+ [nc addObserverForName:UIApplicationWillEnterForegroundNotification |
+ object:nil |
+ queue:nil |
+ usingBlock:^(NSNotification* notification) { |
+ this->ProcessPowerMessage(RESUME_EVENT); |
Mark Mentovai
2012/07/10 16:06:03
Is the “this” really necessary?
Mark Mentovai
2012/07/10 16:06:03
I do love how clean this is.
rohitrao (ping after 24h)
2012/07/10 16:26:44
Looks like it's implicit if I leave it out. From
Mark Mentovai
2012/07/10 17:06:05
rohitrao wrote:
rohitrao (ping after 24h)
2012/07/10 17:17:42
Ok, makes sense. paranoia fading.
|
+ }]; |
+ id background = |
+ [nc addObserverForName:UIApplicationDidEnterBackgroundNotification |
+ object:nil |
+ queue:nil |
+ usingBlock:^(NSNotification* notification) { |
+ this->ProcessPowerMessage(SUSPEND_EVENT); |
+ }]; |
+ notification_observers_.push_back(foreground); |
+ notification_observers_.push_back(background); |
+} |
+ |
+void SystemMonitor::PlatformDestroy() { |
+ NSNotificationCenter* nc = [NSNotificationCenter defaultCenter]; |
+ for (std::vector<id>::iterator it = notification_observers_.begin(); |
+ it != notification_observers_.end(); ++it) { |
+ [nc removeObserver:*it]; |
+ } |
+ notification_observers_.clear(); |
+} |
+ |
+} // namespace base |