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
12namespace iapps {
13
14typedef 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
22void FindIPhotoLibrary(const IAppsFinderCallback& callback);
23
24void FindITunesLibrary(const IAppsFinderCallback& callback);
25
26// These methods returns true if |path| should be interpreted as the device
27// indicated by |device_id|.
28
29bool PathIndicatesIPhotoLibrary(const std::string& device_id,
30                                const base::FilePath& path);
31
32bool 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