1#!/usr/bin/env python3
2# coding=utf-8
3
4#
5# Copyright (c) 2022 Huawei Device Co., Ltd.
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10#     http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#
18
19from xdevice import IDevice
20from xdevice import platform_logger
21from xdevice import DeviceAllocationState
22from xdevice import TestDeviceState
23
24LOG = platform_logger("Emulator")
25
26
27class Emulator(IDevice):
28    """
29    Class representing an emulator.
30
31    Each object of this class represents one emulator in xDevice.
32
33    Attributes:
34        device_sn: A string that's the serial number of the emulator.
35    """
36
37    def __get_serial__(self):
38        pass
39
40    def __set_serial__(self, device_sn=""):
41        pass
42
43    def __init__(self, device_sn=""):
44        self.device_sn = device_sn
45        self.is_timeout = False
46        self.device_log_proc = None
47        self.test_device_state = TestDeviceState.ONLINE
48        self.device_allocation_state = DeviceAllocationState.available
49
50    def __serial__(self):
51        return self.device_sn
52
53    def get_device_sn(self):
54        """
55        Returns the serial number of the device.
56        """
57        return self.device_sn
58