summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozproxy/mozproxy/backends/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozproxy/mozproxy/backends/base.py')
-rw-r--r--testing/mozbase/mozproxy/mozproxy/backends/base.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/mozbase/mozproxy/mozproxy/backends/base.py b/testing/mozbase/mozproxy/mozproxy/backends/base.py
new file mode 100644
index 0000000000..85a60e607b
--- /dev/null
+++ b/testing/mozbase/mozproxy/mozproxy/backends/base.py
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+from abc import ABCMeta, abstractmethod
+
+import six
+
+
+# abstract class for all playback tools
+@six.add_metaclass(ABCMeta)
+class Playback(object):
+ def __init__(self, config):
+ self.config = config
+ self.host = None
+ self.port = None
+
+ @abstractmethod
+ def download(self):
+ pass
+
+ @abstractmethod
+ def setup(self):
+ pass
+
+ @abstractmethod
+ def start(self):
+ pass
+
+ @abstractmethod
+ def stop(self):
+ pass