1#
2# Copyright (C) 2016 Intel Corporation
3#
4# SPDX-License-Identifier: MIT
5#
6
7from abc import abstractmethod
8
9class OETarget(object):
10
11    def __init__(self, logger, *args, **kwargs):
12        self.logger = logger
13
14    @abstractmethod
15    def start(self):
16        pass
17
18    @abstractmethod
19    def stop(self):
20        pass
21
22    @abstractmethod
23    def run(self, cmd, timeout=None):
24        pass
25
26    @abstractmethod
27    def copyTo(self, localSrc, remoteDst):
28        pass
29
30    @abstractmethod
31    def copyFrom(self, remoteSrc, localDst):
32        pass
33
34    @abstractmethod
35    def copyDirTo(self, localSrc, remoteDst):
36        pass
37