1// Copyright (c) 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. 4 5#ifndef CHROME_BROWSER_EXTENSIONS_API_SIGNED_IN_DEVICES_SIGNED_IN_DEVICES_API_H__ 6#define CHROME_BROWSER_EXTENSIONS_API_SIGNED_IN_DEVICES_SIGNED_IN_DEVICES_API_H__ 7 8#include <string> 9#include <vector> 10 11#include "base/memory/scoped_vector.h" 12#include "chrome/browser/extensions/chrome_extension_function.h" 13 14namespace sync_driver { 15class DeviceInfo; 16class DeviceInfoTracker; 17} // namespace sync_driver 18 19namespace extensions { 20class ExtensionPrefs; 21} // namespace extensions 22 23class Profile; 24 25namespace extensions { 26 27// Gets the list of signed in devices. The returned scoped vector will be 28// filled with the list of devices associated with the account signed into this 29// |profile|. This function needs the |extension_id| because the 30// public device ids are set per extension. 31ScopedVector<sync_driver::DeviceInfo> GetAllSignedInDevices( 32 const std::string& extension_id, 33 Profile* profile); 34 35ScopedVector<sync_driver::DeviceInfo> GetAllSignedInDevices( 36 const std::string& extension_id, 37 sync_driver::DeviceInfoTracker* device_tracker, 38 ExtensionPrefs* extension_prefs); 39 40class SignedInDevicesGetFunction : public ChromeSyncExtensionFunction { 41 protected: 42 virtual ~SignedInDevicesGetFunction() {} 43 44 // ExtensionFunction: 45 virtual bool RunSync() OVERRIDE; 46 DECLARE_EXTENSION_FUNCTION("signedInDevices.get", SIGNED_IN_DEVICES_GET) 47}; 48 49} // namespace extensions 50 51#endif // CHROME_BROWSER_EXTENSIONS_API_SIGNED_IN_DEVICES_SIGNED_IN_DEVICES_API_H__ 52