dom/xul/nsIControllers.idl
author Morgan Reschenberg <mreschenberg@mozilla.com>
Fri, 07 Aug 2020 16:54:36 +0000
changeset 543807 768023eab2270602610ef80988e29773f52d1be8
parent 475212 020c8c871c0d3b3920fe95935cfef06501976c0f
permissions -rw-r--r--
Bug 1652809: Add rotor mochitest for headings. r=eeejay Differential Revision: https://phabricator.services.mozilla.com/D85917

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIController;
interface nsIDOMXULCommandDispatcher;

[scriptable, uuid(f36e3ec1-9197-4ad8-8d4c-d3b1927fd6df)]
interface nsIControllers : nsISupports
{
	nsIController getControllerForCommand(in string command);

	void insertControllerAt(in unsigned long index, in nsIController controller);
	nsIController removeControllerAt(in unsigned long index);
	nsIController getControllerAt(in unsigned long index);

    void appendController(in nsIController controller);
	void removeController(in nsIController controller);

    /*
        Return an ID for this controller which is unique to this
        nsIControllers.
    */
    unsigned long getControllerId(in nsIController controller);
    /*
        Get the controller specified by the given ID.
    */
    nsIController getControllerById(in unsigned long controllerID);

	unsigned long getControllerCount();
};