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. 4 5 #ifndef CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_IAPPS_FINDER_H_ 6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_IAPPS_FINDER_H_ 7 8 #include <string> 9 10 #include "base/callback.h" 11 12 namespace iapps { 13 14 typedef base::Callback<void(const std::string&)> IAppsFinderCallback; 15 16 // These methods look for the iTunes/iPhoto library in in an asynchronous 17 // manner and call |callback| on the UI thread as soon as the result is known. 18 // If a library exists, |callback| gets the device id for the library. If a 19 // library does not exist, or the OS does not support iTunes/iPhoto, then 20 // |callback| gets an empty string. 21 22 void FindIPhotoLibrary(const IAppsFinderCallback& callback); 23 24 void FindITunesLibrary(const IAppsFinderCallback& callback); 25 26 // These methods returns true if |path| should be interpreted as the device 27 // indicated by |device_id|. 28 29 bool PathIndicatesIPhotoLibrary(const std::string& device_id, 30 const base::FilePath& path); 31 32 bool PathIndicatesITunesLibrary(const std::string& device_id, 33 const base::FilePath& path); 34 35 } // namespace iapps 36 37 #endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_IAPPS_FINDER_H_ 38