OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 Eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 { | 55 { |
56 try | 56 try |
57 { | 57 { |
58 AdblockPlus::AppInfo appInfo; | 58 AdblockPlus::AppInfo appInfo; |
59 appInfo.version = "1.0"; | 59 appInfo.version = "1.0"; |
60 appInfo.name = "abpshell"; | 60 appInfo.name = "abpshell"; |
61 appInfo.application = "standalone"; | 61 appInfo.application = "standalone"; |
62 appInfo.applicationVersion = "1.0"; | 62 appInfo.applicationVersion = "1.0"; |
63 appInfo.locale = "en-US"; | 63 appInfo.locale = "en-US"; |
64 AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New(appInfo)); | 64 AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New(appInfo)); |
65 AdblockPlus::FilterEngine filterEngine(jsEngine); | 65 auto filterEngine = AdblockPlus::FilterEngine::Create(jsEngine); |
66 | 66 |
67 CommandMap commands; | 67 CommandMap commands; |
68 Add(commands, new GcCommand(jsEngine)); | 68 Add(commands, new GcCommand(jsEngine)); |
69 Add(commands, new HelpCommand(commands)); | 69 Add(commands, new HelpCommand(commands)); |
70 Add(commands, new FiltersCommand(filterEngine)); | 70 Add(commands, new FiltersCommand(*filterEngine)); |
71 Add(commands, new SubscriptionsCommand(filterEngine)); | 71 Add(commands, new SubscriptionsCommand(*filterEngine)); |
72 Add(commands, new MatchesCommand(filterEngine)); | 72 Add(commands, new MatchesCommand(*filterEngine)); |
73 Add(commands, new PrefsCommand(filterEngine)); | 73 Add(commands, new PrefsCommand(*filterEngine)); |
74 | 74 |
75 std::string commandLine; | 75 std::string commandLine; |
76 while (ReadCommandLine(commandLine)) | 76 while (ReadCommandLine(commandLine)) |
77 { | 77 { |
78 std::string commandName; | 78 std::string commandName; |
79 std::string arguments; | 79 std::string arguments; |
80 ParseCommandLine(commandLine, commandName, arguments); | 80 ParseCommandLine(commandLine, commandName, arguments); |
81 const CommandMap::const_iterator it = commands.find(commandName); | 81 const CommandMap::const_iterator it = commands.find(commandName); |
82 try | 82 try |
83 { | 83 { |
84 if (it != commands.end()) | 84 if (it != commands.end()) |
85 (*it->second)(arguments); | 85 (*it->second)(arguments); |
86 else | 86 else |
87 throw NoSuchCommandError(commandName); | 87 throw NoSuchCommandError(commandName); |
88 } | 88 } |
89 catch (NoSuchCommandError error) | 89 catch (NoSuchCommandError error) |
90 { | 90 { |
91 std::cout << error.what() << std::endl; | 91 std::cout << error.what() << std::endl; |
92 } | 92 } |
93 } | 93 } |
94 } | 94 } |
95 catch (const std::exception& e) | 95 catch (const std::exception& e) |
96 { | 96 { |
97 std::cerr << "Exception: " << e.what() << std::endl; | 97 std::cerr << "Exception: " << e.what() << std::endl; |
98 } | 98 } |
99 return 0; | 99 return 0; |
100 } | 100 } |
OLD | NEW |