Index: tools/telemetry/telemetry/core/platform/factory.py |
diff --git a/tools/telemetry/telemetry/core/platform/factory.py b/tools/telemetry/telemetry/core/platform/factory.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae136a92dc65072950b6320e487719046a42cd5b |
--- /dev/null |
+++ b/tools/telemetry/telemetry/core/platform/factory.py |
@@ -0,0 +1,21 @@ |
+# Copyright 2014 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. |
+ |
+import sys |
+ |
+from telemetry import decorators |
+from telemetry.core.platform import linux_platform_backend |
+from telemetry.core.platform import mac_platform_backend |
+from telemetry.core.platform import win_platform_backend |
+ |
+@decorators.Cache |
+def GetPlatformBackendForCurrentOS(): |
+ if sys.platform.startswith('linux'): |
+ return linux_platform_backend.LinuxPlatformBackend() |
+ elif sys.platform == 'darwin': |
+ return mac_platform_backend.MacPlatformBackend() |
+ elif sys.platform == 'win32': |
+ return win_platform_backend.WinPlatformBackend() |
+ else: |
+ raise NotImplementedError() |