Update sdk/platform-tools to version 26.0.0.
[android_tools.git] / sdk / platform-tools / systrace / catapult / telemetry / telemetry / internal / app / possible_app.py
blobee53f5bc1d3c188bfbf2d5a14cd65d9c34663b2c
1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6 class PossibleApp(object):
7 """A factory class that can be used to create a running instance of app.
9 Call Create() to launch the app and begin manipulating it.
10 """
12 def __init__(self, app_type, target_os):
13 self._app_type = app_type
14 self._target_os = target_os
15 self._platform = None
16 self._platform_backend = None
18 def __repr__(self):
19 return 'PossibleApp(app_type=%s)' % self.app_type
21 @property
22 def app_type(self):
23 return self._app_type
25 @property
26 def target_os(self):
27 """Target OS, the app will run on."""
28 return self._target_os
30 @property
31 def platform(self):
32 self._InitPlatformIfNeeded()
33 return self._platform
35 def _InitPlatformIfNeeded(self):
36 raise NotImplementedError()
38 def Create(self, finder_options):
39 raise NotImplementedError()
41 def SupportsOptions(self, browser_options):
42 """Tests for extension support."""
43 raise NotImplementedError()