Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: shell/src/Main.cpp

Issue 29377064: Issue 4944 - Make creation of FilterEngine asynchronous. (Closed)
Patch Set: Created Feb. 28, 2017, 2:21 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld