plugins/__templates.py
author etisserant
Tue, 21 Aug 2007 17:21:26 +0200
changeset 12 a1f9e514f708
child 13 f1f0edbeb313
permissions -rw-r--r--
plugin framework organization being defined
12
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     1
" Here are base type definitions for plugins "
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     2
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     3
class PluggableTemplate:
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     4
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     5
    XSD = None
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     6
    
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     7
    def __init__(self, buspath):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     8
        pass
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
     9
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    10
    def TestModified(self):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    11
        return False
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    12
        
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    13
    def ReqSave(self):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    14
        return False
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    15
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    16
    def Generate_C(self, dirpath, locations):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    17
        return [] # [filenames, ...]
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    18
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    19
    def BlockTypesFactory(self):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    20
        return []
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    21
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    22
    def STLibraryFactory(self):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    23
        return ""
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    24
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    25
    ViewClass = None
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    26
    View = None
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    27
    def ViewFactory(self):
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    28
        if self.ViewClass:
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    29
            if not self.View:
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    30
                def _onclose():
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    31
                    self.View = None
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    32
                self.View = self.ViewClass()
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    33
                self.View.OnPluggClose = _onclose
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    34
            return self.View
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    35
        return None
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    36
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    37
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    38
def _do_BaseParamsClasses():
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    39
    Classes = {}
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    40
    Types = {}
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    41
    GenerateClassesFromXSDstring("""<?xml version="1.0" encoding="ISO-8859-1" ?>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    42
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    43
          <xsd:element name="BaseParams">
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    44
            <xsd:complexType>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    45
              <xsd:attribute name="Enabled" type="xsd:string" use="required" />
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    46
            </xsd:complexType>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    47
          </xsd:element>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    48
        </xsd:schema>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    49
    """)
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    50
    CreateClasses(Classes, Types)
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    51
    
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    52
    PluginsBaseParamsClass = Classes["BaseParams"]
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    53
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    54
    Classes = {}
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    55
    Types = {}
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    56
    GenerateClassesFromXSDstring("""<?xml version="1.0" encoding="ISO-8859-1" ?>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    57
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    58
          <xsd:element name="BaseParams">
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    59
            <xsd:complexType>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    60
              <xsd:attribute name="BusId" type="xsd:integer" use="required" />
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    61
              <xsd:attribute name="Name" type="xsd:string" use="required" />
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    62
            </xsd:complexType>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    63
          </xsd:element>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    64
        </xsd:schema>
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    65
    """)
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    66
    CreateClasses(Classes, Types)
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    67
    
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    68
    BusBaseParamsClass = Classes["BaseParams"]
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    69
    return PluginsBaseParamsClass, BusBaseParamsClass
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    70
    
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    71
PluginsBaseParamsClass, BusBaseParamsClass = _do_BaseParamsClasses()
a1f9e514f708 plugin framework organization being defined
etisserant
parents:
diff changeset
    72