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

// This file is autogenerated by:
//     mojo/public/tools/bindings/mojom_bindings_generator.py
// For:
//     device/devices_app/usb/public/interfaces/permission_provider.mojom
//

package org.chromium.mojom.device.usb;

public interface PermissionProvider extends org.chromium.mojo.bindings.Interface {

    public interface Proxy extends PermissionProvider, org.chromium.mojo.bindings.Interface.Proxy {
    }

    Manager<PermissionProvider, PermissionProvider.Proxy> MANAGER = PermissionProvider_Internal.MANAGER;

    void hasDevicePermission(DeviceInfo[] requestedDevices, HasDevicePermissionResponse callback);
    interface HasDevicePermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<String[]> { }

    void hasConfigurationPermission(byte requestedConfiguration, DeviceInfo device, HasConfigurationPermissionResponse callback);
    interface HasConfigurationPermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Boolean> { }

    void hasInterfacePermission(byte requestedInterface, byte configurationValue, DeviceInfo device, HasInterfacePermissionResponse callback);
    interface HasInterfacePermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Boolean> { }

    void bind(org.chromium.mojo.bindings.InterfaceRequest<PermissionProvider> request);
}

