Home | History | Annotate | Download | only in fileapi
      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