// Copyright 2014 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.

library fuchsia.sys;

// An interface through which a client may request services from a host.
// Instances of this interface are created within the context of an
// already-identified client and host pair, so there is no need to explicitly
// identify the client or host in the methods below.
//
// This interface is deprecated.  Services should be published as directory
// entries instead, just like files.
// TODO(ZX-1358): Point to the FIDL interface for file I/O once RIO is migrated.
interface ServiceProvider {
  // Asks the host to provide the service identified by |service_name| through
  // the |channel| endpoint supplied by the caller. If the host is not willing
  // or able to provide the requested service, it should close the |channel|.
  1: ConnectToService(string service_name, handle<channel> channel);
};