1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from telemetry.core import camel_case
6 from telemetry.core import system_info
7 from telemetry.core.backends.chrome import websocket_browser_connection
10 class SystemInfoBackend(object):
11 def __init__(self, devtools_port):
12 self._conn = websocket_browser_connection.WebSocketBrowserConnection(
14 self._system_info = None
16 def GetSystemInfo(self, timeout=10):
17 if not self._system_info:
18 req = {'method': 'SystemInfo.getInfo'}
20 res = self._conn.SyncRequest(req, timeout)
23 self._system_info = system_info.SystemInfo.FromDict(
24 camel_case.ToUnderscore(res['result']))
27 return self._system_info