mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
25 lines
856 B
Python
25 lines
856 B
Python
# 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)
|