// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_PARSERS_METADATA_PARSER_FACTORY_H_ #define CHROME_BROWSER_PARSERS_METADATA_PARSER_FACTORY_H_ #include "chrome/browser/parsers/metadata_parser.h" namespace base { class FilePath; } // Used to check to see if a parser can parse a particular file, and allows // for creation of a parser on a particular file. class MetadataParserFactory { public: MetadataParserFactory() {} virtual ~MetadataParserFactory() {} // Used to check to see if the parser can parse the given file. This // should not do any additional reading of the file. virtual bool CanParse(const base::FilePath& path, char* bytes, int bytes_size) = 0; // Creates the parser on the given file. Creating the parser does not // do any parsing on the file. Parse has to be called on the parser. virtual MetadataParser* CreateParser(const base::FilePath& path) = 0; }; #endif // CHROME_BROWSER_PARSERS_METADATA_PARSER_FACTORY_H_