/**************************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 *************************************************************/

#ifndef __com_sun_star_frame_ToolbarControllerFactory_idl__
#define __com_sun_star_frame_ToolbarControllerFactory_idl__

#include <com/sun/star/frame/XUIControllerFactory.idl>

module com { module sun { module star { module frame {

/** specifies a factory that creates instances of registered toolbar controller.

    <p>
    A toolbar controller can be registered for a command URL and a model service name.
    </p>

    @since OpenOffice 2.0
*/

service ToolbarControllerFactory : XUIControllerFactory
{
    /** service constructor
     */
    create();
};

}; }; }; };

#endif
