// 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:
//     content/common/permission_service.mojom
//

package org.chromium.mojom.content;

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

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

    Manager<PermissionService, PermissionService.Proxy> MANAGER = PermissionService_Internal.MANAGER;

    void hasPermission(int permission, String origin, HasPermissionResponse callback);
    interface HasPermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Integer> { }

    void requestPermission(int permission, String origin, boolean userGesture, RequestPermissionResponse callback);
    interface RequestPermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Integer> { }

    void requestPermissions(int[] permission, String origin, boolean userGesture, RequestPermissionsResponse callback);
    interface RequestPermissionsResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<int[]> { }

    void revokePermission(int permission, String origin, RevokePermissionResponse callback);
    interface RevokePermissionResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Integer> { }

    void getNextPermissionChange(int permission, String origin, int lastKnownStatus, GetNextPermissionChangeResponse callback);
    interface GetNextPermissionChangeResponse extends org.chromium.mojo.bindings.Callbacks.Callback1<Integer> { }
}

