| Index: third_party/mojo/src/mojo/public/python/mojo_application/service_provider_impl.py
|
| diff --git a/third_party/mojo/src/mojo/public/python/mojo_application/service_provider_impl.py b/third_party/mojo/src/mojo/public/python/mojo_application/service_provider_impl.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0166c766d37e5f99655e5a3cf1b07d8d331ea730
|
| --- /dev/null
|
| +++ b/third_party/mojo/src/mojo/public/python/mojo_application/service_provider_impl.py
|
| @@ -0,0 +1,24 @@
|
| +# Copyright 2015 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.
|
| +
|
| +"""Python implementation of the ServiceProvider interface."""
|
| +
|
| +import logging
|
| +
|
| +import service_provider_mojom
|
| +
|
| +class ServiceProviderImpl(service_provider_mojom.ServiceProvider):
|
| + def __init__(self, provider):
|
| + self._provider = provider
|
| + self._name_to_service_connector = {}
|
| +
|
| + def AddService(self, service_class):
|
| + self._name_to_service_connector[service_class.manager.name] = service_class
|
| +
|
| + def ConnectToService(self, interface_name, pipe):
|
| + if interface_name in self._name_to_service_connector:
|
| + service = self._name_to_service_connector[interface_name]
|
| + service.manager.Bind(service(), pipe)
|
| + else:
|
| + logging.error("Unable to find service " + interface_name)
|
|
|