Chromium Code Reviews| Index: chrome/utility/importer/importer_creator.cc |
| diff --git a/chrome/utility/importer/importer_creator.cc b/chrome/utility/importer/importer_creator.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6825f5d187f1bd5edf2d238af5d83a732a46ca63 |
| --- /dev/null |
| +++ b/chrome/utility/importer/importer_creator.cc |
| @@ -0,0 +1,43 @@ |
| +// Copyright 2013 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. |
| + |
| +#include "chrome/utility/importer/importer_creator.h" |
| + |
| +#include "base/logging.h" |
| +#include "chrome/utility/importer/bookmarks_file_importer.h" |
| +#include "chrome/utility/importer/firefox3_importer.h" |
| + |
| +#if defined(OS_WIN) |
| +#include "chrome/utility/importer/ie_importer_win.h" |
| +#endif |
| + |
| +#if defined(OS_MACOSX) |
| +#include <CoreFoundation/CoreFoundation.h> |
| +#include "base/mac/foundation_util.h" |
|
gab
2013/07/10 13:40:44
I think we usually put an empty line between syste
scottmg
2013/07/15 16:06:01
Done.
|
| +#include "chrome/utility/importer/safari_importer.h" |
| +#endif |
| + |
| +namespace importer { |
| + |
| +Importer* CreateImporterByType(ImporterType type) { |
| + switch (type) { |
| +#if defined(OS_WIN) |
| + case TYPE_IE: |
| + return new IEImporter(); |
| +#endif |
| + case TYPE_BOOKMARKS_FILE: |
| + return new BookmarksFileImporter(); |
| + case TYPE_FIREFOX3: |
| + return new Firefox3Importer(); |
| +#if defined(OS_MACOSX) |
| + case TYPE_SAFARI: |
| + return new SafariImporter(base::mac::GetUserLibraryPath()); |
| +#endif |
| + default: |
| + NOTREACHED(); |
| + return NULL; |
| + } |
| +} |
| + |
| +} // namespace importer |