blob: 0166c766d37e5f99655e5a3cf1b07d8d331ea730 [file] [log] [blame]
# 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)