aboutsummaryrefslogtreecommitdiff
path: root/catapult/telemetry/telemetry/internal/app/possible_app.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/telemetry/telemetry/internal/app/possible_app.py')
-rw-r--r--catapult/telemetry/telemetry/internal/app/possible_app.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/internal/app/possible_app.py b/catapult/telemetry/telemetry/internal/app/possible_app.py
new file mode 100644
index 00000000..ee53f5bc
--- /dev/null
+++ b/catapult/telemetry/telemetry/internal/app/possible_app.py
@@ -0,0 +1,43 @@
+# Copyright 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.
+
+
+class PossibleApp(object):
+ """A factory class that can be used to create a running instance of app.
+
+ Call Create() to launch the app and begin manipulating it.
+ """
+
+ def __init__(self, app_type, target_os):
+ self._app_type = app_type
+ self._target_os = target_os
+ self._platform = None
+ self._platform_backend = None
+
+ def __repr__(self):
+ return 'PossibleApp(app_type=%s)' % self.app_type
+
+ @property
+ def app_type(self):
+ return self._app_type
+
+ @property
+ def target_os(self):
+ """Target OS, the app will run on."""
+ return self._target_os
+
+ @property
+ def platform(self):
+ self._InitPlatformIfNeeded()
+ return self._platform
+
+ def _InitPlatformIfNeeded(self):
+ raise NotImplementedError()
+
+ def Create(self, finder_options):
+ raise NotImplementedError()
+
+ def SupportsOptions(self, browser_options):
+ """Tests for extension support."""
+ raise NotImplementedError()