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

Side by Side Diff: services/shell/public/cpp/capabilities_struct_traits.h

Issue 2253293002: Mojo C++ bindings: change the first template parameter of StructTraits and UnionTraits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@91_extra
Patch Set: rebase Created 4 years, 3 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
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 #ifndef SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_ 5 #ifndef SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_
6 #define SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_ 6 #define SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_
7 7
8 #include "services/shell/public/cpp/capabilities.h" 8 #include "services/shell/public/cpp/capabilities.h"
9 #include "services/shell/public/interfaces/capabilities.mojom.h" 9 #include "services/shell/public/interfaces/capabilities.mojom.h"
10 10
11 namespace mojo { 11 namespace mojo {
12 12
13 template <> 13 template <>
14 struct StructTraits<shell::mojom::CapabilityRequest, shell::CapabilityRequest> { 14 struct StructTraits<shell::mojom::CapabilityRequest::DataView,
15 shell::CapabilityRequest> {
15 static const shell::Classes& classes( 16 static const shell::Classes& classes(
16 const shell::CapabilityRequest& request) { 17 const shell::CapabilityRequest& request) {
17 return request.classes; 18 return request.classes;
18 } 19 }
19 static const shell::Interfaces& interfaces( 20 static const shell::Interfaces& interfaces(
20 const shell::CapabilityRequest& request) { 21 const shell::CapabilityRequest& request) {
21 return request.interfaces; 22 return request.interfaces;
22 } 23 }
23 static bool Read(shell::mojom::CapabilityRequestDataView data, 24 static bool Read(shell::mojom::CapabilityRequestDataView data,
24 shell::CapabilityRequest* out) { 25 shell::CapabilityRequest* out) {
(...skipping 12 matching lines...) Expand all
37 std::string interface; 38 std::string interface;
38 if (!interfaces_data_view.Read(i, &interface)) 39 if (!interfaces_data_view.Read(i, &interface))
39 return false; 40 return false;
40 out->interfaces.insert(std::move(interface)); 41 out->interfaces.insert(std::move(interface));
41 } 42 }
42 return true; 43 return true;
43 } 44 }
44 }; 45 };
45 46
46 template <> 47 template <>
47 struct StructTraits<shell::mojom::CapabilitySpec, shell::CapabilitySpec> { 48 struct StructTraits<shell::mojom::CapabilitySpec::DataView,
49 shell::CapabilitySpec> {
48 static const std::map<shell::Class, shell::Interfaces>& provided( 50 static const std::map<shell::Class, shell::Interfaces>& provided(
49 const shell::CapabilitySpec& spec) { 51 const shell::CapabilitySpec& spec) {
50 return spec.provided; 52 return spec.provided;
51 } 53 }
52 static const std::map<shell::Name, shell::CapabilityRequest>& required( 54 static const std::map<shell::Name, shell::CapabilityRequest>& required(
53 const shell::CapabilitySpec& spec) { 55 const shell::CapabilitySpec& spec) {
54 return spec.required; 56 return spec.required;
55 } 57 }
56 static bool Read(shell::mojom::CapabilitySpecDataView data, 58 static bool Read(shell::mojom::CapabilitySpecDataView data,
57 shell::CapabilitySpec* out) { 59 shell::CapabilitySpec* out) {
(...skipping 16 matching lines...) Expand all
74 out->provided[clazz] = std::move(interfaces); 76 out->provided[clazz] = std::move(interfaces);
75 } 77 }
76 78
77 return data.ReadRequired(&out->required); 79 return data.ReadRequired(&out->required);
78 } 80 }
79 }; 81 };
80 82
81 } // namespace mojo 83 } // namespace mojo
82 84
83 #endif // SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_ 85 #endif // SERVICES_SHELL_PUBLIC_CPP_CAPABILITIES_STRUCT_TRAITS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698