blob: 4fd6e739274684775b165044ba93a76bba5cb968 [file] [log] [blame]
John McCutchan9f605592015-09-17 14:09:47 -07001// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5library plugin.manager;
6
7import 'package:plugin/src/plugin_impl.dart';
8import 'package:plugin/plugin.dart';
9
10/**
11 * An object that manages the extension points for the host application.
12 */
13abstract class ExtensionManager {
14 /**
15 * Initialize a newly created manager.
16 */
17 factory ExtensionManager() = ExtensionManagerImpl;
18
19 /**
20 * Process each of the given [plugins] by allowing them to register extension
21 * points and extensions.
22 *
23 * An [ExtensionError] will be thrown if any of the plugins throws such an
24 * exception while registering with this manager.
25 */
26 void processPlugins(List<Plugin> plugins);
27}