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 14 namespace browser_sync { 15 class DeviceInfo; 16 } // namespace browser_sync 17 18 namespace extensions { 19 class ExtensionPrefs; 20 } // namespace extensions 21 22 class Profile; 23 class ProfileSyncService; 24 25 namespace 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. 31 ScopedVector<browser_sync::DeviceInfo> GetAllSignedInDevices( 32 const std::string& extension_id, 33 Profile* profile); 34 35 ScopedVector<browser_sync::DeviceInfo> GetAllSignedInDevices( 36 const std::string& extension_id, 37 ProfileSyncService* pss, 38 ExtensionPrefs* extension_prefs); 39 40 class SignedInDevicesGetFunction : public ChromeSyncExtensionFunction { 41 protected: ~SignedInDevicesGetFunction()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