Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: services/catalog/reader.cc

Issue 2420253002: Rename shell namespace to service_manager (Closed)
Patch Set: . Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « services/catalog/reader.h ('k') | services/file/file_service.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "services/catalog/reader.h" 5 #include "services/catalog/reader.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_enumerator.h" 8 #include "base/files/file_enumerator.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/json/json_file_value_serializer.h" 10 #include "base/json/json_file_value_serializer.h"
11 #include "base/json/json_reader.h" 11 #include "base/json/json_reader.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/path_service.h" 13 #include "base/path_service.h"
14 #include "base/task_runner_util.h" 14 #include "base/task_runner_util.h"
15 #include "base/threading/thread_task_runner_handle.h" 15 #include "base/threading/thread_task_runner_handle.h"
16 #include "services/catalog/constants.h" 16 #include "services/catalog/constants.h"
17 #include "services/catalog/entry.h" 17 #include "services/catalog/entry.h"
18 #include "services/catalog/manifest_provider.h" 18 #include "services/catalog/manifest_provider.h"
19 #include "services/service_manager/public/cpp/names.h" 19 #include "services/service_manager/public/cpp/names.h"
20 20
21 namespace catalog { 21 namespace catalog {
22 namespace { 22 namespace {
23 23
24 base::FilePath GetManifestPath(const base::FilePath& package_dir, 24 base::FilePath GetManifestPath(const base::FilePath& package_dir,
25 const std::string& name, 25 const std::string& name,
26 const std::string& package_name_override) { 26 const std::string& package_name_override) {
27 // TODO(beng): think more about how this should be done for exe targets. 27 // TODO(beng): think more about how this should be done for exe targets.
28 std::string type = shell::GetNameType(name); 28 std::string type = service_manager::GetNameType(name);
29 std::string path = shell::GetNamePath(name); 29 std::string path = service_manager::GetNamePath(name);
30 if (type == shell::kNameType_Service) { 30 if (type == service_manager::kNameType_Service) {
31 std::string package_name; 31 std::string package_name;
32 if (package_name_override.empty()) 32 if (package_name_override.empty())
33 package_name = path; 33 package_name = path;
34 else 34 else
35 package_name = package_name_override; 35 package_name = package_name_override;
36 return package_dir.AppendASCII(kPackagesDirName).AppendASCII( 36 return package_dir.AppendASCII(kPackagesDirName).AppendASCII(
37 package_name + "/manifest.json"); 37 package_name + "/manifest.json");
38 } 38 }
39 if (type == shell::kNameType_Exe) 39 if (type == service_manager::kNameType_Exe)
40 return package_dir.AppendASCII(path + "_manifest.json"); 40 return package_dir.AppendASCII(path + "_manifest.json");
41 return base::FilePath(); 41 return base::FilePath();
42 } 42 }
43 43
44 base::FilePath GetExecutablePath(const base::FilePath& package_dir, 44 base::FilePath GetExecutablePath(const base::FilePath& package_dir,
45 const std::string& name) { 45 const std::string& name) {
46 std::string type = shell::GetNameType(name); 46 std::string type = service_manager::GetNameType(name);
47 if (type == shell::kNameType_Service) { 47 if (type == service_manager::kNameType_Service) {
48 // It's still a mojo: URL, use the default mapping scheme. 48 // It's still a mojo: URL, use the default mapping scheme.
49 const std::string host = shell::GetNamePath(name); 49 const std::string host = service_manager::GetNamePath(name);
50 return package_dir.AppendASCII(host + "/" + host + ".library"); 50 return package_dir.AppendASCII(host + "/" + host + ".library");
51 } 51 }
52 if (type == shell::kNameType_Exe) { 52 if (type == service_manager::kNameType_Exe) {
53 #if defined OS_WIN 53 #if defined OS_WIN
54 std::string extension = ".exe"; 54 std::string extension = ".exe";
55 #else 55 #else
56 std::string extension; 56 std::string extension;
57 #endif 57 #endif
58 return package_dir.AppendASCII(shell::GetNamePath(name) + extension); 58 return package_dir.AppendASCII(service_manager::GetNamePath(name) +
59 extension);
59 } 60 }
60 return base::FilePath(); 61 return base::FilePath();
61 } 62 }
62 63
63 std::unique_ptr<Entry> ProcessManifest( 64 std::unique_ptr<Entry> ProcessManifest(
64 std::unique_ptr<base::Value> manifest_root, 65 std::unique_ptr<base::Value> manifest_root,
65 const base::FilePath& package_dir) { 66 const base::FilePath& package_dir) {
66 // Manifest was malformed or did not exist. 67 // Manifest was malformed or did not exist.
67 if (!manifest_root) 68 if (!manifest_root)
68 return nullptr; 69 return nullptr;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 return entry; 150 return entry;
150 } 151 }
151 152
152 void AddEntryToCache(EntryCache* cache, std::unique_ptr<Entry> entry) { 153 void AddEntryToCache(EntryCache* cache, std::unique_ptr<Entry> entry) {
153 std::vector<std::unique_ptr<Entry>> children = entry->TakeChildren(); 154 std::vector<std::unique_ptr<Entry>> children = entry->TakeChildren();
154 for (auto& child : children) 155 for (auto& child : children)
155 AddEntryToCache(cache, std::move(child)); 156 AddEntryToCache(cache, std::move(child));
156 (*cache)[entry->name()] = std::move(entry); 157 (*cache)[entry->name()] = std::move(entry);
157 } 158 }
158 159
159 void DoNothing(shell::mojom::ResolveResultPtr) {} 160 void DoNothing(service_manager::mojom::ResolveResultPtr) {}
160 161
161 } // namespace 162 } // namespace
162 163
163 // A sequenced task runner is used to guarantee requests are serviced in the 164 // A sequenced task runner is used to guarantee requests are serviced in the
164 // order requested. To do otherwise means we may run callbacks in an 165 // order requested. To do otherwise means we may run callbacks in an
165 // unpredictable order, leading to flake. 166 // unpredictable order, leading to flake.
166 Reader::Reader(base::SequencedWorkerPool* worker_pool, 167 Reader::Reader(base::SequencedWorkerPool* worker_pool,
167 ManifestProvider* manifest_provider) 168 ManifestProvider* manifest_provider)
168 : Reader(manifest_provider) { 169 : Reader(manifest_provider) {
169 file_task_runner_ = worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( 170 file_task_runner_ = worker_pool->GetSequencedTaskRunnerWithShutdownBehavior(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 : manifest_provider_(manifest_provider), weak_factory_(this) { 245 : manifest_provider_(manifest_provider), weak_factory_(this) {
245 PathService::Get(base::DIR_MODULE, &system_package_dir_); 246 PathService::Get(base::DIR_MODULE, &system_package_dir_);
246 } 247 }
247 248
248 void Reader::OnReadManifest( 249 void Reader::OnReadManifest(
249 EntryCache* cache, 250 EntryCache* cache,
250 const CreateEntryForNameCallback& entry_created_callback, 251 const CreateEntryForNameCallback& entry_created_callback,
251 std::unique_ptr<Entry> entry) { 252 std::unique_ptr<Entry> entry) {
252 if (!entry) 253 if (!entry)
253 return; 254 return;
254 shell::mojom::ResolveResultPtr result = 255 service_manager::mojom::ResolveResultPtr result =
255 shell::mojom::ResolveResult::From(*entry); 256 service_manager::mojom::ResolveResult::From(*entry);
256 AddEntryToCache(cache, std::move(entry)); 257 AddEntryToCache(cache, std::move(entry));
257 entry_created_callback.Run(std::move(result)); 258 entry_created_callback.Run(std::move(result));
258 } 259 }
259 260
260 } // namespace catalog 261 } // namespace catalog
OLDNEW
« no previous file with comments | « services/catalog/reader.h ('k') | services/file/file_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698