# Copyright 2015 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """An adapter to remotely access the system facade on DUT.""" class SystemFacadeRemoteAdapter(object): """SystemFacadeRemoteAdapter is an adapter to remotely control DUT system. The Autotest host object representing the remote DUT, passed to this class on initialization, can be accessed from its _client property. """ def __init__(self, host, remote_facade_proxy): """Construct an SystemFacadeRemoteAdapter. @param host: Host object representing a remote host. @param remote_facade_proxy: RemoteFacadeProxy object. """ self._client = host self._proxy = remote_facade_proxy @property def _system_proxy(self): """Gets the proxy to DUT system facade. @return XML RPC proxy to DUT system facade. """ return self._proxy.system def set_scaling_governor_mode(self, index, mode): """Set mode of CPU scaling governor on one CPU of DUT. @param index: CPU index starting from 0. @param mode: Mode of scaling governor, accept 'interactive' or 'performance'. @returns: The original mode. """ return self._system_proxy.set_scaling_governor_mode(index, mode)