11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass Device(object): 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci """ A base class of devices. 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci A device instance contains all the necessary information for constructing 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci a platform backend object for remote platforms. 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci Attributes: 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci name: A device name string in human-understandable term. 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci guid: A unique id of the device. Subclass of device must specify this 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci id properly so that device objects to a same actual device must have same 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci guid. 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci """ 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci def __init__(self, name, guid): 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci self._name = name 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci self._guid = guid 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci @property 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci def name(self): 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return self._name 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci @property 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci def guid(self): 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return self._guid 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci @classmethod 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci def GetAllConnectedDevices(cls): 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci raise NotImplementedError() 33