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
11namespace base {
12class FilePath;
13}
14
15namespace storage {
16class 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.
22class MediaFileValidatorFactory
23    : public storage::CopyOrMoveFileValidatorFactory {
24 public:
25  MediaFileValidatorFactory();
26  virtual ~MediaFileValidatorFactory();
27
28  // CopyOrMoveFileValidatorFactory implementation.
29  virtual 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_
38