Index: mojo/shell/public/cpp/lib/capabilities.cc |
diff --git a/mojo/shell/public/cpp/lib/capabilities.cc b/mojo/shell/public/cpp/lib/capabilities.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f709793c52392ddd6275d70b2b49cd8771f28430 |
--- /dev/null |
+++ b/mojo/shell/public/cpp/lib/capabilities.cc |
@@ -0,0 +1,51 @@ |
+// Copyright 2016 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 "mojo/shell/public/cpp/capabilities.h" |
+ |
+namespace mojo { |
+ |
+// static |
+shell::mojom::CapabilitiesPtr |
+TypeConverter<shell::mojom::CapabilitiesPtr, caps::Capabilities>::Convert( |
+ const caps::Capabilities& input) { |
+ shell::mojom::CapabilitiesPtr capabilities(shell::mojom::Capabilities::New()); |
+ capabilities->provided = mojo::Map<mojo::String, mojo::Array<mojo::String>>::From(input.provided); |
+ capabilities->required = mojo::Map<mojo::String, shell::mojom::CapabilitySpecPtr>::From(input.required); |
+ return capabilities; |
+} |
+ |
+// static |
+caps::Capabilities |
+TypeConverter<caps::Capabilities, shell::mojom::CapabilitiesPtr>::Convert( |
+ const shell::mojom::CapabilitiesPtr& input) { |
+ caps::Capabilities capabilities; |
+ capabilities.provided = |
+ input->provided.To<std::map<caps::Class, caps::Interfaces>>(); |
+ capabilities.required = |
+ input->required.To<std::map<caps::Name, caps::CapabilitySpec>>(); |
+ return capabilities; |
+} |
+ |
+// static |
+shell::mojom::CapabilitySpecPtr |
+TypeConverter<shell::mojom::CapabilitySpecPtr, caps::CapabilitySpec>::Convert( |
+ const caps::CapabilitySpec& input) { |
+ shell::mojom::CapabilitySpecPtr spec(shell::mojom::CapabilitySpec::New()); |
+ spec->classes = mojo::Array<mojo::String>::From(input.classes); |
+ spec->interfaces = mojo::Array<mojo::String>::From(input.interfaces); |
+ return spec; |
+} |
+ |
+// static |
+caps::CapabilitySpec |
+TypeConverter<caps::CapabilitySpec, shell::mojom::CapabilitySpecPtr>::Convert( |
+ const shell::mojom::CapabilitySpecPtr& input) { |
+ caps::CapabilitySpec spec; |
+ spec.classes = input->classes.To<std::set<std::string>>(); |
+ spec.interfaces = input->interfaces.To<std::set<std::string>>(); |
+ return spec; |
+} |
+ |
+} // namespace mojo |