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