1 /*******************************************************************************
2 
3     Extension for the ConfigExt Application and ArgumentsExt extension.
4 
5     Copyright:
6         Copyright (c) 2009-2016 dunnhumby Germany GmbH.
7         All rights reserved.
8 
9     License:
10         Boost Software License Version 1.0. See LICENSE_BOOST.txt for details.
11         Alternatively, this file may be distributed under the terms of the Tango
12         3-Clause BSD License (see LICENSE_BSD.txt for details).
13 
14 *******************************************************************************/
15 
16 module ocean.util.app.ext.model.IConfigExtExtension;
17 
18 
19 
20 
21 public import ocean.util.app.model.IApplication;
22 public import ocean.util.config.ConfigParser : ConfigParser;
23 
24 import ocean.util.app.model.IExtension;
25 
26 import ocean.meta.types.Qualifiers;
27 
28 
29 /*******************************************************************************
30 
31     Interface for extensions for the ConfigExt extension.
32 
33 *******************************************************************************/
34 
35 interface IConfigExtExtension : IExtension
36 {
37 
38     /***************************************************************************
39 
40         Function executed before the configuration files are parsed.
41 
42         Params:
43             app = application instance
44             config = configuration parser
45 
46     ***************************************************************************/
47 
48     void preParseConfig ( IApplication app, ConfigParser config );
49 
50 
51     /***************************************************************************
52 
53         Function to filter the list of configuration files to parse.
54 
55         Params:
56             app = application instance
57             config = configuration parser
58             files = current list of configuration files to parse
59 
60         Returns:
61             new list of configuration files to parse
62 
63     ***************************************************************************/
64 
65     istring[] filterConfigFiles ( IApplication app, ConfigParser config,
66                                   istring[] files );
67 
68 
69     /***************************************************************************
70 
71         Function executed after the configuration files are parsed.
72 
73         Params:
74             app = application instance
75             config = configuration parser
76 
77     ***************************************************************************/
78 
79     void processConfig ( IApplication app, ConfigParser config );
80 
81 }