configurationengine/doc/plugins/dev-plugin/plugin-interface.rst
author terytkon
Thu, 11 Mar 2010 17:04:37 +0200
changeset 0 2e8eeb919028
child 3 e7e0ae78773e
permissions -rw-r--r--
Adding EPL version of configurationengine.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     1
.. _plugin-howto-plugin-interface:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     2
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     3
Plug-in interface
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     4
=================
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     5
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     6
A ConE plug-in has two points for interfacing with ConE:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     7
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     8
#. Reader classes that derive from ``cone.public.plugin.ReaderBase`` . These classes
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     9
   define supported Implementation Markup Languages (i.e. supported XML namespaces)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    10
   and other attributes related to them like file extensions. As the name suggests, they are
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    11
   also responsible for reading implementation instances from XML data.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    12
#. Implementation classes that derive from ``cone.public.plugin.ImplBase``. These classes
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    13
   supply the actual run-time functionality of the plug-ins.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    14
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    15
The following UML diagram shows the most important classes and their interdependencies:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    16
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    17
.. image:: plugin_classes.jpg
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    18
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    19
ConE generation can be seen to consist of two phases, implementation parsing
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    20
and output generation:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    21
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    22
Parsing phase:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    23
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    24
- Implementation file list is filtered based on a user-given file name pattern
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    25
  and supported file extensions
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    26
- All remaining files are parsed into ``ElementTree`` instances
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    27
- The ``ElementTree`` instance is scanned for supported ImplML namespaces and
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    28
  implementation instances are created using the correct reader classes
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    29
  (the ``read_impl()`` method)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    30
- All implementations are collected into an ``ImplSet`` instance
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    31
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    32
Generation phase:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    33
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    34
- Implementation instances are further filtered using tags and ConfML references
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    35
  (the ``has_tag()`` and ``has_ref()`` methods)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    36
- Implementations instances are divided into separate sets based on their invocation
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    37
  phases
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    38
- Output is generated using each implementation set. For each implementation set:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    39
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    40
    - The ``generation_context`` variable of each implementation instance is set
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    41
      (this context contains generation-scope information implementations instances may use)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    42
    - The ``generate()`` method of each instance is called
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    43
    - The ``post_generate()`` method of each instance is called
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    44
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    45
From a plug-in's point of view, the sequence of method calls goes as follows:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    46
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    47
.. image:: plugin_lifecycle.jpg
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    48
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    49
Explanations of the steps in the diagram:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    50
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    51
====== ========================================================================
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    52
Step   Explanation
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    53
====== ========================================================================
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    54
1      ``read_impl()`` is called to create an implementation instance based on
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    55
       XML data.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    56
2      ``read_impl()`` creates the instance.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    57
3-6    Filtering based on ConfML references and implementation tags is done.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    58
       The implementation instance returns True in all cases, so it is included
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    59
       in the actual generation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    60
7-8    The instance is asked for its invocation phase (here it returns "normal")
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    61
9      The implementation instance's ``generation_context`` variable is set, so
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    62
       then it can be used in the actual generation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    63
10-11  Output generation methods are called
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    64
====== ========================================================================
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    65
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    66
Plug-in interface class source
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    67
------------------------------
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    68
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    69
The following source listings show the most important parts of the ``ImplReader``
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    70
and ``ImplBase`` classes from a plug-in's point of view:
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    71
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    72
.. code-block:: python
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    73
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    74
    class ReaderBase(object):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    75
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    76
        Base class for implementation readers.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    77
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    78
        Each reader class supports one XML namespace, from which it reads an implementation
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    79
        instance.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    80
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    81
        The method for parsing an implementation (read_impl()) is given an ElementTree
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    82
        XML element as the root from which to parse the implementation. The plug-in
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    83
        machinery handles each XML file so that the correct reader class is used to read
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    84
        the implementations from XML elements based on the namespaces.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    85
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    86
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    87
        # The XML namespace supported by the implementation reader.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    88
        # Should be something like "http://www.xyz.org/xml/1".
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    89
        # Can also be None, in which case the reader will not be used
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    90
        # (this can be useful for defining base classes for e.g. readers
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    91
        # for different versions of an implementation).
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    92
        NAMESPACE = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    93
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    94
        # Any extra XML namespaces that should be ignored by the
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    95
        # implementation parsing machinery. This is useful for specifying
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    96
        # namespaces that are not actual ImplML namespaces, but are used
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    97
        # inside an implementation (e.g. XInclude)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    98
        IGNORED_NAMESPACES = []
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    99
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   100
        # Supported implementation file extensions.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   101
        # Sub-classes can override this to add new supported file extensions
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   102
        # if necessary. The file extensions simply control whether implementations
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   103
        # are attempted to be read from a file or not.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   104
        # Note that the extensions are case-insensitive.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   105
        FILE_EXTENSIONS = ['implml']
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   106
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   107
        @classmethod
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   108
        def read_impl(cls, resource_ref, configuration, doc_root):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   109
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   110
            Read an implementation instance from the given element tree.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   111
            
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   112
            @param resource_ref: Reference to the resource in the configuration in
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   113
                which the given document root resides.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   114
            @param configuration: The configuration used.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   115
            @param doc_root: The document root from which to parse the implementation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   116
            @return: The read implementation instance, or None.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   117
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   118
            raise exceptions.NotSupportedException()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   119
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   120
.. code-block:: python
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   121
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   122
    class GenerationContext(object):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   123
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   124
        Context object that can be used for passing generation-scope
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   125
        data to implementation instances.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   126
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   127
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   128
        def __init__(self, tags={}):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   129
            # The tags used in this generation context
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   130
            # (i.e. the tags passed from command line)
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   131
            self.tags = tags
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   132
            
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   133
            # A dictionary that implementation instances can use to
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   134
            # pass any data between each other
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   135
            self.impl_data_dict = {}
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   136
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   137
.. code-block:: python
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   138
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   139
    class ImplBase(object):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   140
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   141
        Base class for any confml implementation. 
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   142
        """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   143
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   144
        # Identifier for the implementation type, used e.g. in .cfg files.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   145
        # Should be a string like e.g. 'someml'.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   146
        IMPL_TYPE_ID = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   147
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   148
        # Defines the default invocation phase for the implementation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   149
        # The default is used if the phase is not explicitly set in the
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   150
        # ImplML file or manually overridden by calling set_invocation_phase()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   151
        DEFAULT_INVOCATION_PHASE = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   152
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   153
        def __init__(self,ref, configuration):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   154
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   155
            Create a ImplBase object
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   156
            @param ref : the ref to the Implml file resource.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   157
            @param configuration : the Configuration instance for the
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   158
            configuration data.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   159
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   160
            self._settings = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   161
            self.ref = ref
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   162
            self.index = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   163
            self.configuration = configuration
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   164
            self.output_root = self.settings.get('output_root','output')
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   165
            self.output_subdir = self.settings.get('output_subdir','')
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   166
            self.plugin_output = self.settings.get('plugin_output','')
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   167
            
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   168
            self.generation_context = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   169
            self._tags = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   170
            self._invocation_phase = None
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   171
            self._tempvar_defs = []
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   172
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   173
        def generate(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   174
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   175
            Generate the given implementation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   176
            @return: 
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   177
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   178
            raise exceptions.NotSupportedException()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   179
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   180
        def post_generate(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   181
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   182
            Called when all normal generation has been done.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   183
            
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   184
            @attention: This is a temporary method used for implementing cenrep_rfs.txt generation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   185
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   186
            pass
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   187
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   188
        def list_output_files(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   189
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   190
            Return a list of output files as an array. 
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   191
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   192
            raise exceptions.NotSupportedException()
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   193
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   194
        def get_refs(self):
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   195
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   196
            Return a list of all ConfML setting references that affect this
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   197
            implementation. May also return None if references are not relevant
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   198
            for the implementation.
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   199
            """
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   200
            return None