Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / media_galleries / fileapi / media_file_validator_factory.h
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_MEDIA_FILE_VALIDATOR_FACTORY_H_
6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_MEDIA_FILE_VALIDATOR_FACTORY_H_
7
8 #include "base/basictypes.h"
9 #include "storage/browser/fileapi/copy_or_move_file_validator.h"
10
11 namespace base {
12 class FilePath;
13 }
14
15 namespace storage {
16 class FileSystemURL;
17 }
18
19 // A factory for media file validators. A media file validator will use various
20 // strategies (depending on the file type) to attempt to verify that the file
21 // is a valid media file.
22 class MediaFileValidatorFactory
23     : public storage::CopyOrMoveFileValidatorFactory {
24  public:
25   MediaFileValidatorFactory();
26   ~MediaFileValidatorFactory() override;
27
28   // CopyOrMoveFileValidatorFactory implementation.
29   storage::CopyOrMoveFileValidator* CreateCopyOrMoveFileValidator(
30       const storage::FileSystemURL& src,
31       const base::FilePath& platform_path) override;
32
33  private:
34   DISALLOW_COPY_AND_ASSIGN(MediaFileValidatorFactory);
35 };
36
37 #endif  // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_MEDIA_FILE_VALIDATOR_FACTORY_H_