!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/share/system-config-httpd/   drwxr-xr-x
Free 3.9 GB of 27.03 GB (14.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ApacheBase.py (127.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |

## File generated automatically by genClass.py
## Do not edit this file directly.

import string
import os
from md5 import md5
from Alchemist import *
from Ft.Lib.Uri import OsPathToUri
from Ft.Xml import InputSource
from Ft.Xml.Xslt import Processor


class env:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("EnvType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__EnvType = child
        except (KeyError): self.__EnvType = None

        child = None
        try:
            child = list.getChildByName("Var")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Var = child
        except (KeyError): self.__Var = None

        child = None
        try:
            child = list.getChildByName("Value")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Value = child
        except (KeyError): self.__Value = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        return self.__list.unlink()

    def setEnvType(self, value):
        if self.__EnvType == None:
            self.__EnvType = self.__list.addChild(Data.ADM_TYPE_STRING, "EnvType")
        return self.__EnvType.setValue(value)

    def getEnvType(self):
        if self.__EnvType == None: return None
        return self.__EnvType.getValue()

    def delEnvType(self):
        if self.__EnvType == None: return None
        child = self.__EnvType
        self.__EnvType = None
        child.unlink()

    def setVar(self, value):
        if self.__Var == None:
            self.__Var = self.__list.addChild(Data.ADM_TYPE_STRING, "Var")
        return self.__Var.setValue(value)

    def getVar(self):
        if self.__Var == None: return None
        return self.__Var.getValue()

    def delVar(self):
        if self.__Var == None: return None
        child = self.__Var
        self.__Var = None
        child.unlink()

    def setValue(self, value):
        if self.__Value == None:
            self.__Value = self.__list.addChild(Data.ADM_TYPE_STRING, "Value")
        return self.__Value.setValue(value)

    def getValue(self):
        if self.__Value == None: return None
        return self.__Value.getValue()

    def delValue(self):
        if self.__Value == None: return None
        child = self.__Value
        self.__Value = None
        child.unlink()


class environment:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delenvironment()

    def getenv(self, pos):
        return env(self.__list.getChildByIndex(pos), self)

    def delenv(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def addenv(self):
        return env(self.__list.addChild(Data.ADM_TYPE_LIST, "env"), self)

    def getNumenv(self):
        return self.__list.getNumChildren()

    def moveenv(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)


class errordocument:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("Code")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__Code = child
        except (KeyError): self.__Code = None

        child = None
        try:
            child = list.getChildByName("Document")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Document = child
        except (KeyError): self.__Document = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        return self.__list.unlink()

    def setCode(self, value):
        if self.__Code == None:
            self.__Code = self.__list.addChild(Data.ADM_TYPE_INT, "Code")
        return self.__Code.setValue(value)

    def getCode(self):
        if self.__Code == None: return None
        return self.__Code.getValue()

    def delCode(self):
        if self.__Code == None: return None
        child = self.__Code
        self.__Code = None
        child.unlink()

    def setDocument(self, value):
        if self.__Document == None:
            self.__Document = self.__list.addChild(Data.ADM_TYPE_STRING, "Document")
        return self.__Document.setValue(value)

    def getDocument(self):
        if self.__Document == None: return None
        return self.__Document.getValue()

    def delDocument(self):
        if self.__Document == None: return None
        child = self.__Document
        self.__Document = None
        child.unlink()


class errordocuments:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delerrordocuments()

    def geterrordocument(self, pos):
        return errordocument(self.__list.getChildByIndex(pos), self)

    def delerrordocument(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def adderrordocument(self):
        return errordocument(self.__list.addChild(Data.ADM_TYPE_LIST, "errordocument"), self)

    def getNumerrordocument(self):
        return self.__list.getNumChildren()

    def moveerrordocument(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)


class listener:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().dellistener()

    def setListen(self, pos, value):
        child = self.__list.getChildByIndex(pos)
        return child.setValue(value)

    def getListen(self, pos):
        return self.__list.getChildByIndex(pos).getValue()

    def delListen(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def addListen(self):
        self.__list.addChild(Data.ADM_TYPE_STRING, "Listen")
        return (self.__list.getNumChildren() - 1)

    def getNumListen(self):
        return self.__list.getNumChildren()

    def moveListen(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)

class namevirtualhosts:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delnamevirtualhosts()

    def setNameVirtualHost(self, pos, value):
        child = self.__list.getChildByIndex(pos)
        return child.setValue(value)

    def getNameVirtualHost(self, pos):
        return self.__list.getChildByIndex(pos).getValue()

    def delNameVirtualHost(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def addNameVirtualHost(self):
        self.__list.addChild(Data.ADM_TYPE_STRING, "NameVirtualHost")
        return (self.__list.getNumChildren() - 1)

    def getNumNameVirtualHost(self):
        return self.__list.getNumChildren()

    def moveNameVirtualHost(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)

class serveroptions:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("AccessConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessConfig = child
        except (KeyError): self.__AccessConfig = None

        child = None
        try:
            child = list.getChildByName("AccessFileName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessFileName = child
        except (KeyError): self.__AccessFileName = None

        child = None
        try:
            child = list.getChildByName("AddDefaultCharset")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AddDefaultCharset = child
        except (KeyError): self.__AddDefaultCharset = None

        child = None
        try:
            child = list.getChildByName("AddModule")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AddModule = child
        except (KeyError): self.__AddModule = None

        child = None
        try:
            child = list.getChildByName("BindAddress")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__BindAddress = child
        except (KeyError): self.__BindAddress = None

        child = None
        try:
            child = list.getChildByName("BS2000Account")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__BS2000Account = child
        except (KeyError): self.__BS2000Account = None

        child = None
        try:
            child = list.getChildByName("ClearModuleList")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ClearModuleList = child
        except (KeyError): self.__ClearModuleList = None

        child = None
        try:
            child = list.getChildByName("ContentDigest")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ContentDigest = child
        except (KeyError): self.__ContentDigest = None

        child = None
        try:
            child = list.getChildByName("CoreDumpDirectory")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__CoreDumpDirectory = child
        except (KeyError): self.__CoreDumpDirectory = None

        child = None
        try:
            child = list.getChildByName("DefaultType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DefaultType = child
        except (KeyError): self.__DefaultType = None

        child = None
        try:
            child = list.getChildByName("DirectoryIndex")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DirectoryIndex = child
        except (KeyError): self.__DirectoryIndex = None

        child = None
        try:
            child = list.getChildByName("DocumentRoot")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DocumentRoot = child
        except (KeyError): self.__DocumentRoot = None

        child = None
        try:
            child = list.getChildByName("environment")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__environment = environment(child, self)
        except (KeyError): self.__environment = None

        child = None
        try:
            child = list.getChildByName("errordocuments")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__errordocuments = errordocuments(child, self)
        except (KeyError): self.__errordocuments = None

        child = None
        try:
            child = list.getChildByName("ErrorLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ErrorLog = child
        except (KeyError): self.__ErrorLog = None

        child = None
        try:
            child = list.getChildByName("Group")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Group = child
        except (KeyError): self.__Group = None

        child = None
        try:
            child = list.getChildByName("HostNameLookups")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__HostNameLookups = child
        except (KeyError): self.__HostNameLookups = None

        child = None
        try:
            child = list.getChildByName("IdentityCheck")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__IdentityCheck = child
        except (KeyError): self.__IdentityCheck = None

        child = None
        try:
            child = list.getChildByName("Include")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Include = child
        except (KeyError): self.__Include = None

        child = None
        try:
            child = list.getChildByName("KeepAlive")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__KeepAlive = child
        except (KeyError): self.__KeepAlive = None

        child = None
        try:
            child = list.getChildByName("KeepAliveTimeout")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__KeepAliveTimeout = child
        except (KeyError): self.__KeepAliveTimeout = None

        child = None
        try:
            child = list.getChildByName("LimitRequestBody")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__LimitRequestBody = child
        except (KeyError): self.__LimitRequestBody = None

        child = None
        try:
            child = list.getChildByName("LimitRequestFields")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__LimitRequestFields = child
        except (KeyError): self.__LimitRequestFields = None

        child = None
        try:
            child = list.getChildByName("LimitRequestFieldsize")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__LimitRequestFieldsize = child
        except (KeyError): self.__LimitRequestFieldsize = None

        child = None
        try:
            child = list.getChildByName("LimitRequestLine")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__LimitRequestLine = child
        except (KeyError): self.__LimitRequestLine = None

        child = None
        try:
            child = list.getChildByName("listener")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__listener = listener(child, self)
        except (KeyError): self.__listener = None

        child = None
        try:
            child = list.getChildByName("ListenBacklog")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__ListenBacklog = child
        except (KeyError): self.__ListenBacklog = None

        child = None
        try:
            child = list.getChildByName("LockFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LockFile = child
        except (KeyError): self.__LockFile = None

        child = None
        try:
            child = list.getChildByName("LogFormat")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogFormat = child
        except (KeyError): self.__LogFormat = None

        child = None
        try:
            child = list.getChildByName("LogLevel")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogLevel = child
        except (KeyError): self.__LogLevel = None

        child = None
        try:
            child = list.getChildByName("MaxClients")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__MaxClients = child
        except (KeyError): self.__MaxClients = None

        child = None
        try:
            child = list.getChildByName("MaxKeepAliveRequests")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__MaxKeepAliveRequests = child
        except (KeyError): self.__MaxKeepAliveRequests = None

        child = None
        try:
            child = list.getChildByName("MaxRequestsPerChild")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__MaxRequestsPerChild = child
        except (KeyError): self.__MaxRequestsPerChild = None

        child = None
        try:
            child = list.getChildByName("MaxSpareServers")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__MaxSpareServers = child
        except (KeyError): self.__MaxSpareServers = None

        child = None
        try:
            child = list.getChildByName("MinSpareServers")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__MinSpareServers = child
        except (KeyError): self.__MinSpareServers = None

        child = None
        try:
            child = list.getChildByName("namevirtualhosts")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__namevirtualhosts = namevirtualhosts(child, self)
        except (KeyError): self.__namevirtualhosts = None

        child = None
        try:
            child = list.getChildByName("Options")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Options = child
        except (KeyError): self.__Options = None

        child = None
        try:
            child = list.getChildByName("PidFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__PidFile = child
        except (KeyError): self.__PidFile = None

        child = None
        try:
            child = list.getChildByName("Port")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__Port = child
        except (KeyError): self.__Port = None

        child = None
        try:
            child = list.getChildByName("ResourceConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ResourceConfig = child
        except (KeyError): self.__ResourceConfig = None

        child = None
        try:
            child = list.getChildByName("RLimitCPU")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitCPU = child
        except (KeyError): self.__RLimitCPU = None

        child = None
        try:
            child = list.getChildByName("RLimitMEM")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitMEM = child
        except (KeyError): self.__RLimitMEM = None

        child = None
        try:
            child = list.getChildByName("RLimitNPROC")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitNPROC = child
        except (KeyError): self.__RLimitNPROC = None

        child = None
        try:
            child = list.getChildByName("Satisfy")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Satisfy = child
        except (KeyError): self.__Satisfy = None

        child = None
        try:
            child = list.getChildByName("ScoreBoardFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ScoreBoardFile = child
        except (KeyError): self.__ScoreBoardFile = None

        child = None
        try:
            child = list.getChildByName("SendBufferSize")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__SendBufferSize = child
        except (KeyError): self.__SendBufferSize = None

        child = None
        try:
            child = list.getChildByName("ServerAdmin")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerAdmin = child
        except (KeyError): self.__ServerAdmin = None

        child = None
        try:
            child = list.getChildByName("ServerName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerName = child
        except (KeyError): self.__ServerName = None

        child = None
        try:
            child = list.getChildByName("ServerRoot")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerRoot = child
        except (KeyError): self.__ServerRoot = None

        child = None
        try:
            child = list.getChildByName("ServerSignature")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerSignature = child
        except (KeyError): self.__ServerSignature = None

        child = None
        try:
            child = list.getChildByName("ServerTokens")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerTokens = child
        except (KeyError): self.__ServerTokens = None

        child = None
        try:
            child = list.getChildByName("ServerType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerType = child
        except (KeyError): self.__ServerType = None

        child = None
        try:
            child = list.getChildByName("SSLMutex")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLMutex = child
        except (KeyError): self.__SSLMutex = None

        child = None
        try:
            child = list.getChildByName("SSLPassPhraseDialog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLPassPhraseDialog = child
        except (KeyError): self.__SSLPassPhraseDialog = None

        child = None
        try:
            child = list.getChildByName("SSLRandomSeedStartup")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLRandomSeedStartup = child
        except (KeyError): self.__SSLRandomSeedStartup = None

        child = None
        try:
            child = list.getChildByName("SSLRandomSeedConnect")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLRandomSeedConnect = child
        except (KeyError): self.__SSLRandomSeedConnect = None

        child = None
        try:
            child = list.getChildByName("SSLSessionCache")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLSessionCache = child
        except (KeyError): self.__SSLSessionCache = None

        child = None
        try:
            child = list.getChildByName("SSLSessionCacheTimeout")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLSessionCacheTimeout = child
        except (KeyError): self.__SSLSessionCacheTimeout = None

        child = None
        try:
            child = list.getChildByName("StartServers")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__StartServers = child
        except (KeyError): self.__StartServers = None

        child = None
        try:
            child = list.getChildByName("ThreadsPerChild")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__ThreadsPerChild = child
        except (KeyError): self.__ThreadsPerChild = None

        child = None
        try:
            child = list.getChildByName("ThreadStackSize")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__ThreadStackSize = child
        except (KeyError): self.__ThreadStackSize = None

        child = None
        try:
            child = list.getChildByName("TimeOut")
            if child.getType() != Data.ADM_TYPE_INT: raise TypeError
            self.__TimeOut = child
        except (KeyError): self.__TimeOut = None

        child = None
        try:
            child = list.getChildByName("TransferLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__TransferLog = child
        except (KeyError): self.__TransferLog = None

        child = None
        try:
            child = list.getChildByName("UseCanonicalName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__UseCanonicalName = child
        except (KeyError): self.__UseCanonicalName = None

        child = None
        try:
            child = list.getChildByName("User")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__User = child
        except (KeyError): self.__User = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delserveroptions()

    def setAccessConfig(self, value):
        if self.__AccessConfig == None:
            self.__AccessConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessConfig")
        return self.__AccessConfig.setValue(value)

    def getAccessConfig(self):
        if self.__AccessConfig == None: return None
        return self.__AccessConfig.getValue()

    def delAccessConfig(self):
        if self.__AccessConfig == None: return None
        child = self.__AccessConfig
        self.__AccessConfig = None
        child.unlink()

    def setAccessFileName(self, value):
        if self.__AccessFileName == None:
            self.__AccessFileName = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessFileName")
        return self.__AccessFileName.setValue(value)

    def getAccessFileName(self):
        if self.__AccessFileName == None: return None
        return self.__AccessFileName.getValue()

    def delAccessFileName(self):
        if self.__AccessFileName == None: return None
        child = self.__AccessFileName
        self.__AccessFileName = None
        child.unlink()

    def setAddDefaultCharset(self, value):
        if self.__AddDefaultCharset == None:
            self.__AddDefaultCharset = self.__list.addChild(Data.ADM_TYPE_STRING, "AddDefaultCharset")
        return self.__AddDefaultCharset.setValue(value)

    def getAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        return self.__AddDefaultCharset.getValue()

    def delAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        child = self.__AddDefaultCharset
        self.__AddDefaultCharset = None
        child.unlink()

    def setAddModule(self, value):
        if self.__AddModule == None:
            self.__AddModule = self.__list.addChild(Data.ADM_TYPE_STRING, "AddModule")
        return self.__AddModule.setValue(value)

    def getAddModule(self):
        if self.__AddModule == None: return None
        return self.__AddModule.getValue()

    def delAddModule(self):
        if self.__AddModule == None: return None
        child = self.__AddModule
        self.__AddModule = None
        child.unlink()

    def setBindAddress(self, value):
        if self.__BindAddress == None:
            self.__BindAddress = self.__list.addChild(Data.ADM_TYPE_STRING, "BindAddress")
        return self.__BindAddress.setValue(value)

    def getBindAddress(self):
        if self.__BindAddress == None: return None
        return self.__BindAddress.getValue()

    def delBindAddress(self):
        if self.__BindAddress == None: return None
        child = self.__BindAddress
        self.__BindAddress = None
        child.unlink()

    def setBS2000Account(self, value):
        if self.__BS2000Account == None:
            self.__BS2000Account = self.__list.addChild(Data.ADM_TYPE_STRING, "BS2000Account")
        return self.__BS2000Account.setValue(value)

    def getBS2000Account(self):
        if self.__BS2000Account == None: return None
        return self.__BS2000Account.getValue()

    def delBS2000Account(self):
        if self.__BS2000Account == None: return None
        child = self.__BS2000Account
        self.__BS2000Account = None
        child.unlink()

    def setClearModuleList(self, value):
        if self.__ClearModuleList == None:
            self.__ClearModuleList = self.__list.addChild(Data.ADM_TYPE_STRING, "ClearModuleList")
        return self.__ClearModuleList.setValue(value)

    def getClearModuleList(self):
        if self.__ClearModuleList == None: return None
        return self.__ClearModuleList.getValue()

    def delClearModuleList(self):
        if self.__ClearModuleList == None: return None
        child = self.__ClearModuleList
        self.__ClearModuleList = None
        child.unlink()

    def setContentDigest(self, value):
        if self.__ContentDigest == None:
            self.__ContentDigest = self.__list.addChild(Data.ADM_TYPE_STRING, "ContentDigest")
        return self.__ContentDigest.setValue(value)

    def getContentDigest(self):
        if self.__ContentDigest == None: return None
        return self.__ContentDigest.getValue()

    def delContentDigest(self):
        if self.__ContentDigest == None: return None
        child = self.__ContentDigest
        self.__ContentDigest = None
        child.unlink()

    def setCoreDumpDirectory(self, value):
        if self.__CoreDumpDirectory == None:
            self.__CoreDumpDirectory = self.__list.addChild(Data.ADM_TYPE_STRING, "CoreDumpDirectory")
        return self.__CoreDumpDirectory.setValue(value)

    def getCoreDumpDirectory(self):
        if self.__CoreDumpDirectory == None: return None
        return self.__CoreDumpDirectory.getValue()

    def delCoreDumpDirectory(self):
        if self.__CoreDumpDirectory == None: return None
        child = self.__CoreDumpDirectory
        self.__CoreDumpDirectory = None
        child.unlink()

    def setDefaultType(self, value):
        if self.__DefaultType == None:
            self.__DefaultType = self.__list.addChild(Data.ADM_TYPE_STRING, "DefaultType")
        return self.__DefaultType.setValue(value)

    def getDefaultType(self):
        if self.__DefaultType == None: return None
        return self.__DefaultType.getValue()

    def delDefaultType(self):
        if self.__DefaultType == None: return None
        child = self.__DefaultType
        self.__DefaultType = None
        child.unlink()

    def setDirectoryIndex(self, value):
        if self.__DirectoryIndex == None:
            self.__DirectoryIndex = self.__list.addChild(Data.ADM_TYPE_STRING, "DirectoryIndex")
        return self.__DirectoryIndex.setValue(value)

    def getDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        return self.__DirectoryIndex.getValue()

    def delDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        child = self.__DirectoryIndex
        self.__DirectoryIndex = None
        child.unlink()

    def setDocumentRoot(self, value):
        if self.__DocumentRoot == None:
            self.__DocumentRoot = self.__list.addChild(Data.ADM_TYPE_STRING, "DocumentRoot")
        return self.__DocumentRoot.setValue(value)

    def getDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        return self.__DocumentRoot.getValue()

    def delDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        child = self.__DocumentRoot
        self.__DocumentRoot = None
        child.unlink()

    def getenvironment(self):
        return self.__environment

    def delenvironment(self):
        if self.__environment:
            child = self.__environment
            self.__environment = None
            child.unlink()

    def createenvironment(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "environment")
        self.__environment = environment(child, self)
        child.setAnonymous(1)
        return self.__environment

    def geterrordocuments(self):
        return self.__errordocuments

    def delerrordocuments(self):
        if self.__errordocuments:
            child = self.__errordocuments
            self.__errordocuments = None
            child.unlink()

    def createerrordocuments(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "errordocuments")
        self.__errordocuments = errordocuments(child, self)
        child.setAnonymous(1)
        return self.__errordocuments

    def setErrorLog(self, value):
        if self.__ErrorLog == None:
            self.__ErrorLog = self.__list.addChild(Data.ADM_TYPE_STRING, "ErrorLog")
        return self.__ErrorLog.setValue(value)

    def getErrorLog(self):
        if self.__ErrorLog == None: return None
        return self.__ErrorLog.getValue()

    def delErrorLog(self):
        if self.__ErrorLog == None: return None
        child = self.__ErrorLog
        self.__ErrorLog = None
        child.unlink()

    def setGroup(self, value):
        if self.__Group == None:
            self.__Group = self.__list.addChild(Data.ADM_TYPE_STRING, "Group")
        return self.__Group.setValue(value)

    def getGroup(self):
        if self.__Group == None: return None
        return self.__Group.getValue()

    def delGroup(self):
        if self.__Group == None: return None
        child = self.__Group
        self.__Group = None
        child.unlink()

    def setHostNameLookups(self, value):
        if self.__HostNameLookups == None:
            self.__HostNameLookups = self.__list.addChild(Data.ADM_TYPE_STRING, "HostNameLookups")
        return self.__HostNameLookups.setValue(value)

    def getHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        return self.__HostNameLookups.getValue()

    def delHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        child = self.__HostNameLookups
        self.__HostNameLookups = None
        child.unlink()

    def setIdentityCheck(self, value):
        if self.__IdentityCheck == None:
            self.__IdentityCheck = self.__list.addChild(Data.ADM_TYPE_STRING, "IdentityCheck")
        return self.__IdentityCheck.setValue(value)

    def getIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        return self.__IdentityCheck.getValue()

    def delIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        child = self.__IdentityCheck
        self.__IdentityCheck = None
        child.unlink()

    def setInclude(self, value):
        if self.__Include == None:
            self.__Include = self.__list.addChild(Data.ADM_TYPE_STRING, "Include")
        return self.__Include.setValue(value)

    def getInclude(self):
        if self.__Include == None: return None
        return self.__Include.getValue()

    def delInclude(self):
        if self.__Include == None: return None
        child = self.__Include
        self.__Include = None
        child.unlink()

    def setKeepAlive(self, value):
        if self.__KeepAlive == None:
            self.__KeepAlive = self.__list.addChild(Data.ADM_TYPE_STRING, "KeepAlive")
        return self.__KeepAlive.setValue(value)

    def getKeepAlive(self):
        if self.__KeepAlive == None: return None
        return self.__KeepAlive.getValue()

    def delKeepAlive(self):
        if self.__KeepAlive == None: return None
        child = self.__KeepAlive
        self.__KeepAlive = None
        child.unlink()

    def setKeepAliveTimeout(self, value):
        if self.__KeepAliveTimeout == None:
            self.__KeepAliveTimeout = self.__list.addChild(Data.ADM_TYPE_INT, "KeepAliveTimeout")
        return self.__KeepAliveTimeout.setValue(value)

    def getKeepAliveTimeout(self):
        if self.__KeepAliveTimeout == None: return None
        return self.__KeepAliveTimeout.getValue()

    def delKeepAliveTimeout(self):
        if self.__KeepAliveTimeout == None: return None
        child = self.__KeepAliveTimeout
        self.__KeepAliveTimeout = None
        child.unlink()

    def setLimitRequestBody(self, value):
        if self.__LimitRequestBody == None:
            self.__LimitRequestBody = self.__list.addChild(Data.ADM_TYPE_INT, "LimitRequestBody")
        return self.__LimitRequestBody.setValue(value)

    def getLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        return self.__LimitRequestBody.getValue()

    def delLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        child = self.__LimitRequestBody
        self.__LimitRequestBody = None
        child.unlink()

    def setLimitRequestFields(self, value):
        if self.__LimitRequestFields == None:
            self.__LimitRequestFields = self.__list.addChild(Data.ADM_TYPE_INT, "LimitRequestFields")
        return self.__LimitRequestFields.setValue(value)

    def getLimitRequestFields(self):
        if self.__LimitRequestFields == None: return None
        return self.__LimitRequestFields.getValue()

    def delLimitRequestFields(self):
        if self.__LimitRequestFields == None: return None
        child = self.__LimitRequestFields
        self.__LimitRequestFields = None
        child.unlink()

    def setLimitRequestFieldsize(self, value):
        if self.__LimitRequestFieldsize == None:
            self.__LimitRequestFieldsize = self.__list.addChild(Data.ADM_TYPE_INT, "LimitRequestFieldsize")
        return self.__LimitRequestFieldsize.setValue(value)

    def getLimitRequestFieldsize(self):
        if self.__LimitRequestFieldsize == None: return None
        return self.__LimitRequestFieldsize.getValue()

    def delLimitRequestFieldsize(self):
        if self.__LimitRequestFieldsize == None: return None
        child = self.__LimitRequestFieldsize
        self.__LimitRequestFieldsize = None
        child.unlink()

    def setLimitRequestLine(self, value):
        if self.__LimitRequestLine == None:
            self.__LimitRequestLine = self.__list.addChild(Data.ADM_TYPE_INT, "LimitRequestLine")
        return self.__LimitRequestLine.setValue(value)

    def getLimitRequestLine(self):
        if self.__LimitRequestLine == None: return None
        return self.__LimitRequestLine.getValue()

    def delLimitRequestLine(self):
        if self.__LimitRequestLine == None: return None
        child = self.__LimitRequestLine
        self.__LimitRequestLine = None
        child.unlink()

    def getlistener(self):
        return self.__listener

    def dellistener(self):
        if self.__listener:
            child = self.__listener
            self.__listener = None
            child.unlink()

    def createlistener(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "listener")
        self.__listener = listener(child, self)
        child.setAnonymous(1)
        return self.__listener

    def setListenBacklog(self, value):
        if self.__ListenBacklog == None:
            self.__ListenBacklog = self.__list.addChild(Data.ADM_TYPE_INT, "ListenBacklog")
        return self.__ListenBacklog.setValue(value)

    def getListenBacklog(self):
        if self.__ListenBacklog == None: return None
        return self.__ListenBacklog.getValue()

    def delListenBacklog(self):
        if self.__ListenBacklog == None: return None
        child = self.__ListenBacklog
        self.__ListenBacklog = None
        child.unlink()

    def setLockFile(self, value):
        if self.__LockFile == None:
            self.__LockFile = self.__list.addChild(Data.ADM_TYPE_STRING, "LockFile")
        return self.__LockFile.setValue(value)

    def getLockFile(self):
        if self.__LockFile == None: return None
        return self.__LockFile.getValue()

    def delLockFile(self):
        if self.__LockFile == None: return None
        child = self.__LockFile
        self.__LockFile = None
        child.unlink()

    def setLogFormat(self, value):
        if self.__LogFormat == None:
            self.__LogFormat = self.__list.addChild(Data.ADM_TYPE_STRING, "LogFormat")
        return self.__LogFormat.setValue(value)

    def getLogFormat(self):
        if self.__LogFormat == None: return None
        return self.__LogFormat.getValue()

    def delLogFormat(self):
        if self.__LogFormat == None: return None
        child = self.__LogFormat
        self.__LogFormat = None
        child.unlink()

    def setLogLevel(self, value):
        if self.__LogLevel == None:
            self.__LogLevel = self.__list.addChild(Data.ADM_TYPE_STRING, "LogLevel")
        return self.__LogLevel.setValue(value)

    def getLogLevel(self):
        if self.__LogLevel == None: return None
        return self.__LogLevel.getValue()

    def delLogLevel(self):
        if self.__LogLevel == None: return None
        child = self.__LogLevel
        self.__LogLevel = None
        child.unlink()

    def setMaxClients(self, value):
        if self.__MaxClients == None:
            self.__MaxClients = self.__list.addChild(Data.ADM_TYPE_INT, "MaxClients")
        return self.__MaxClients.setValue(value)

    def getMaxClients(self):
        if self.__MaxClients == None: return None
        return self.__MaxClients.getValue()

    def delMaxClients(self):
        if self.__MaxClients == None: return None
        child = self.__MaxClients
        self.__MaxClients = None
        child.unlink()

    def setMaxKeepAliveRequests(self, value):
        if self.__MaxKeepAliveRequests == None:
            self.__MaxKeepAliveRequests = self.__list.addChild(Data.ADM_TYPE_INT, "MaxKeepAliveRequests")
        return self.__MaxKeepAliveRequests.setValue(value)

    def getMaxKeepAliveRequests(self):
        if self.__MaxKeepAliveRequests == None: return None
        return self.__MaxKeepAliveRequests.getValue()

    def delMaxKeepAliveRequests(self):
        if self.__MaxKeepAliveRequests == None: return None
        child = self.__MaxKeepAliveRequests
        self.__MaxKeepAliveRequests = None
        child.unlink()

    def setMaxRequestsPerChild(self, value):
        if self.__MaxRequestsPerChild == None:
            self.__MaxRequestsPerChild = self.__list.addChild(Data.ADM_TYPE_INT, "MaxRequestsPerChild")
        return self.__MaxRequestsPerChild.setValue(value)

    def getMaxRequestsPerChild(self):
        if self.__MaxRequestsPerChild == None: return None
        return self.__MaxRequestsPerChild.getValue()

    def delMaxRequestsPerChild(self):
        if self.__MaxRequestsPerChild == None: return None
        child = self.__MaxRequestsPerChild
        self.__MaxRequestsPerChild = None
        child.unlink()

    def setMaxSpareServers(self, value):
        if self.__MaxSpareServers == None:
            self.__MaxSpareServers = self.__list.addChild(Data.ADM_TYPE_INT, "MaxSpareServers")
        return self.__MaxSpareServers.setValue(value)

    def getMaxSpareServers(self):
        if self.__MaxSpareServers == None: return None
        return self.__MaxSpareServers.getValue()

    def delMaxSpareServers(self):
        if self.__MaxSpareServers == None: return None
        child = self.__MaxSpareServers
        self.__MaxSpareServers = None
        child.unlink()

    def setMinSpareServers(self, value):
        if self.__MinSpareServers == None:
            self.__MinSpareServers = self.__list.addChild(Data.ADM_TYPE_INT, "MinSpareServers")
        return self.__MinSpareServers.setValue(value)

    def getMinSpareServers(self):
        if self.__MinSpareServers == None: return None
        return self.__MinSpareServers.getValue()

    def delMinSpareServers(self):
        if self.__MinSpareServers == None: return None
        child = self.__MinSpareServers
        self.__MinSpareServers = None
        child.unlink()

    def getnamevirtualhosts(self):
        return self.__namevirtualhosts

    def delnamevirtualhosts(self):
        if self.__namevirtualhosts:
            child = self.__namevirtualhosts
            self.__namevirtualhosts = None
            child.unlink()

    def createnamevirtualhosts(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "namevirtualhosts")
        self.__namevirtualhosts = namevirtualhosts(child, self)
        child.setAnonymous(1)
        return self.__namevirtualhosts

    def setOptions(self, value):
        if self.__Options == None:
            self.__Options = self.__list.addChild(Data.ADM_TYPE_STRING, "Options")
        return self.__Options.setValue(value)

    def getOptions(self):
        if self.__Options == None: return None
        return self.__Options.getValue()

    def delOptions(self):
        if self.__Options == None: return None
        child = self.__Options
        self.__Options = None
        child.unlink()

    def setPidFile(self, value):
        if self.__PidFile == None:
            self.__PidFile = self.__list.addChild(Data.ADM_TYPE_STRING, "PidFile")
        return self.__PidFile.setValue(value)

    def getPidFile(self):
        if self.__PidFile == None: return None
        return self.__PidFile.getValue()

    def delPidFile(self):
        if self.__PidFile == None: return None
        child = self.__PidFile
        self.__PidFile = None
        child.unlink()

    def setPort(self, value):
        if self.__Port == None:
            self.__Port = self.__list.addChild(Data.ADM_TYPE_INT, "Port")
        return self.__Port.setValue(value)

    def getPort(self):
        if self.__Port == None: return None
        return self.__Port.getValue()

    def delPort(self):
        if self.__Port == None: return None
        child = self.__Port
        self.__Port = None
        child.unlink()

    def setResourceConfig(self, value):
        if self.__ResourceConfig == None:
            self.__ResourceConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "ResourceConfig")
        return self.__ResourceConfig.setValue(value)

    def getResourceConfig(self):
        if self.__ResourceConfig == None: return None
        return self.__ResourceConfig.getValue()

    def delResourceConfig(self):
        if self.__ResourceConfig == None: return None
        child = self.__ResourceConfig
        self.__ResourceConfig = None
        child.unlink()

    def setRLimitCPU(self, value):
        if self.__RLimitCPU == None:
            self.__RLimitCPU = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitCPU")
        return self.__RLimitCPU.setValue(value)

    def getRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        return self.__RLimitCPU.getValue()

    def delRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        child = self.__RLimitCPU
        self.__RLimitCPU = None
        child.unlink()

    def setRLimitMEM(self, value):
        if self.__RLimitMEM == None:
            self.__RLimitMEM = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitMEM")
        return self.__RLimitMEM.setValue(value)

    def getRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        return self.__RLimitMEM.getValue()

    def delRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        child = self.__RLimitMEM
        self.__RLimitMEM = None
        child.unlink()

    def setRLimitNPROC(self, value):
        if self.__RLimitNPROC == None:
            self.__RLimitNPROC = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitNPROC")
        return self.__RLimitNPROC.setValue(value)

    def getRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        return self.__RLimitNPROC.getValue()

    def delRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        child = self.__RLimitNPROC
        self.__RLimitNPROC = None
        child.unlink()

    def setSatisfy(self, value):
        if self.__Satisfy == None:
            self.__Satisfy = self.__list.addChild(Data.ADM_TYPE_STRING, "Satisfy")
        return self.__Satisfy.setValue(value)

    def getSatisfy(self):
        if self.__Satisfy == None: return None
        return self.__Satisfy.getValue()

    def delSatisfy(self):
        if self.__Satisfy == None: return None
        child = self.__Satisfy
        self.__Satisfy = None
        child.unlink()

    def setScoreBoardFile(self, value):
        if self.__ScoreBoardFile == None:
            self.__ScoreBoardFile = self.__list.addChild(Data.ADM_TYPE_STRING, "ScoreBoardFile")
        return self.__ScoreBoardFile.setValue(value)

    def getScoreBoardFile(self):
        if self.__ScoreBoardFile == None: return None
        return self.__ScoreBoardFile.getValue()

    def delScoreBoardFile(self):
        if self.__ScoreBoardFile == None: return None
        child = self.__ScoreBoardFile
        self.__ScoreBoardFile = None
        child.unlink()

    def setSendBufferSize(self, value):
        if self.__SendBufferSize == None:
            self.__SendBufferSize = self.__list.addChild(Data.ADM_TYPE_INT, "SendBufferSize")
        return self.__SendBufferSize.setValue(value)

    def getSendBufferSize(self):
        if self.__SendBufferSize == None: return None
        return self.__SendBufferSize.getValue()

    def delSendBufferSize(self):
        if self.__SendBufferSize == None: return None
        child = self.__SendBufferSize
        self.__SendBufferSize = None
        child.unlink()

    def setServerAdmin(self, value):
        if self.__ServerAdmin == None:
            self.__ServerAdmin = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAdmin")
        return self.__ServerAdmin.setValue(value)

    def getServerAdmin(self):
        if self.__ServerAdmin == None: return None
        return self.__ServerAdmin.getValue()

    def delServerAdmin(self):
        if self.__ServerAdmin == None: return None
        child = self.__ServerAdmin
        self.__ServerAdmin = None
        child.unlink()

    def setServerName(self, value):
        if self.__ServerName == None:
            self.__ServerName = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerName")
        return self.__ServerName.setValue(value)

    def getServerName(self):
        if self.__ServerName == None: return None
        return self.__ServerName.getValue()

    def delServerName(self):
        if self.__ServerName == None: return None
        child = self.__ServerName
        self.__ServerName = None
        child.unlink()

    def setServerRoot(self, value):
        if self.__ServerRoot == None:
            self.__ServerRoot = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerRoot")
        return self.__ServerRoot.setValue(value)

    def getServerRoot(self):
        if self.__ServerRoot == None: return None
        return self.__ServerRoot.getValue()

    def delServerRoot(self):
        if self.__ServerRoot == None: return None
        child = self.__ServerRoot
        self.__ServerRoot = None
        child.unlink()

    def setServerSignature(self, value):
        if self.__ServerSignature == None:
            self.__ServerSignature = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerSignature")
        return self.__ServerSignature.setValue(value)

    def getServerSignature(self):
        if self.__ServerSignature == None: return None
        return self.__ServerSignature.getValue()

    def delServerSignature(self):
        if self.__ServerSignature == None: return None
        child = self.__ServerSignature
        self.__ServerSignature = None
        child.unlink()

    def setServerTokens(self, value):
        if self.__ServerTokens == None:
            self.__ServerTokens = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerTokens")
        return self.__ServerTokens.setValue(value)

    def getServerTokens(self):
        if self.__ServerTokens == None: return None
        return self.__ServerTokens.getValue()

    def delServerTokens(self):
        if self.__ServerTokens == None: return None
        child = self.__ServerTokens
        self.__ServerTokens = None
        child.unlink()

    def setServerType(self, value):
        if self.__ServerType == None:
            self.__ServerType = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerType")
        return self.__ServerType.setValue(value)

    def getServerType(self):
        if self.__ServerType == None: return None
        return self.__ServerType.getValue()

    def delServerType(self):
        if self.__ServerType == None: return None
        child = self.__ServerType
        self.__ServerType = None
        child.unlink()

    def setSSLMutex(self, value):
        if self.__SSLMutex == None:
            self.__SSLMutex = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLMutex")
        return self.__SSLMutex.setValue(value)

    def getSSLMutex(self):
        if self.__SSLMutex == None: return None
        return self.__SSLMutex.getValue()

    def delSSLMutex(self):
        if self.__SSLMutex == None: return None
        child = self.__SSLMutex
        self.__SSLMutex = None
        child.unlink()

    def setSSLPassPhraseDialog(self, value):
        if self.__SSLPassPhraseDialog == None:
            self.__SSLPassPhraseDialog = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLPassPhraseDialog")
        return self.__SSLPassPhraseDialog.setValue(value)

    def getSSLPassPhraseDialog(self):
        if self.__SSLPassPhraseDialog == None: return None
        return self.__SSLPassPhraseDialog.getValue()

    def delSSLPassPhraseDialog(self):
        if self.__SSLPassPhraseDialog == None: return None
        child = self.__SSLPassPhraseDialog
        self.__SSLPassPhraseDialog = None
        child.unlink()

    def setSSLRandomSeedStartup(self, value):
        if self.__SSLRandomSeedStartup == None:
            self.__SSLRandomSeedStartup = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLRandomSeedStartup")
        return self.__SSLRandomSeedStartup.setValue(value)

    def getSSLRandomSeedStartup(self):
        if self.__SSLRandomSeedStartup == None: return None
        return self.__SSLRandomSeedStartup.getValue()

    def delSSLRandomSeedStartup(self):
        if self.__SSLRandomSeedStartup == None: return None
        child = self.__SSLRandomSeedStartup
        self.__SSLRandomSeedStartup = None
        child.unlink()

    def setSSLRandomSeedConnect(self, value):
        if self.__SSLRandomSeedConnect == None:
            self.__SSLRandomSeedConnect = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLRandomSeedConnect")
        return self.__SSLRandomSeedConnect.setValue(value)

    def getSSLRandomSeedConnect(self):
        if self.__SSLRandomSeedConnect == None: return None
        return self.__SSLRandomSeedConnect.getValue()

    def delSSLRandomSeedConnect(self):
        if self.__SSLRandomSeedConnect == None: return None
        child = self.__SSLRandomSeedConnect
        self.__SSLRandomSeedConnect = None
        child.unlink()

    def setSSLSessionCache(self, value):
        if self.__SSLSessionCache == None:
            self.__SSLSessionCache = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLSessionCache")
        return self.__SSLSessionCache.setValue(value)

    def getSSLSessionCache(self):
        if self.__SSLSessionCache == None: return None
        return self.__SSLSessionCache.getValue()

    def delSSLSessionCache(self):
        if self.__SSLSessionCache == None: return None
        child = self.__SSLSessionCache
        self.__SSLSessionCache = None
        child.unlink()

    def setSSLSessionCacheTimeout(self, value):
        if self.__SSLSessionCacheTimeout == None:
            self.__SSLSessionCacheTimeout = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLSessionCacheTimeout")
        return self.__SSLSessionCacheTimeout.setValue(value)

    def getSSLSessionCacheTimeout(self):
        if self.__SSLSessionCacheTimeout == None: return None
        return self.__SSLSessionCacheTimeout.getValue()

    def delSSLSessionCacheTimeout(self):
        if self.__SSLSessionCacheTimeout == None: return None
        child = self.__SSLSessionCacheTimeout
        self.__SSLSessionCacheTimeout = None
        child.unlink()

    def setStartServers(self, value):
        if self.__StartServers == None:
            self.__StartServers = self.__list.addChild(Data.ADM_TYPE_INT, "StartServers")
        return self.__StartServers.setValue(value)

    def getStartServers(self):
        if self.__StartServers == None: return None
        return self.__StartServers.getValue()

    def delStartServers(self):
        if self.__StartServers == None: return None
        child = self.__StartServers
        self.__StartServers = None
        child.unlink()

    def setThreadsPerChild(self, value):
        if self.__ThreadsPerChild == None:
            self.__ThreadsPerChild = self.__list.addChild(Data.ADM_TYPE_INT, "ThreadsPerChild")
        return self.__ThreadsPerChild.setValue(value)

    def getThreadsPerChild(self):
        if self.__ThreadsPerChild == None: return None
        return self.__ThreadsPerChild.getValue()

    def delThreadsPerChild(self):
        if self.__ThreadsPerChild == None: return None
        child = self.__ThreadsPerChild
        self.__ThreadsPerChild = None
        child.unlink()

    def setThreadStackSize(self, value):
        if self.__ThreadStackSize == None:
            self.__ThreadStackSize = self.__list.addChild(Data.ADM_TYPE_INT, "ThreadStackSize")
        return self.__ThreadStackSize.setValue(value)

    def getThreadStackSize(self):
        if self.__ThreadStackSize == None: return None
        return self.__ThreadStackSize.getValue()

    def delThreadStackSize(self):
        if self.__ThreadStackSize == None: return None
        child = self.__ThreadStackSize
        self.__ThreadStackSize = None
        child.unlink()

    def setTimeOut(self, value):
        if self.__TimeOut == None:
            self.__TimeOut = self.__list.addChild(Data.ADM_TYPE_INT, "TimeOut")
        return self.__TimeOut.setValue(value)

    def getTimeOut(self):
        if self.__TimeOut == None: return None
        return self.__TimeOut.getValue()

    def delTimeOut(self):
        if self.__TimeOut == None: return None
        child = self.__TimeOut
        self.__TimeOut = None
        child.unlink()

    def setTransferLog(self, value):
        if self.__TransferLog == None:
            self.__TransferLog = self.__list.addChild(Data.ADM_TYPE_STRING, "TransferLog")
        return self.__TransferLog.setValue(value)

    def getTransferLog(self):
        if self.__TransferLog == None: return None
        return self.__TransferLog.getValue()

    def delTransferLog(self):
        if self.__TransferLog == None: return None
        child = self.__TransferLog
        self.__TransferLog = None
        child.unlink()

    def setUseCanonicalName(self, value):
        if self.__UseCanonicalName == None:
            self.__UseCanonicalName = self.__list.addChild(Data.ADM_TYPE_STRING, "UseCanonicalName")
        return self.__UseCanonicalName.setValue(value)

    def getUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        return self.__UseCanonicalName.getValue()

    def delUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        child = self.__UseCanonicalName
        self.__UseCanonicalName = None
        child.unlink()

    def setUser(self, value):
        if self.__User == None:
            self.__User = self.__list.addChild(Data.ADM_TYPE_STRING, "User")
        return self.__User.setValue(value)

    def getUser(self):
        if self.__User == None: return None
        return self.__User.getValue()

    def delUser(self):
        if self.__User == None: return None
        child = self.__User
        self.__User = None
        child.unlink()


class directory:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("AddDefaultCharset")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AddDefaultCharset = child
        except (KeyError): self.__AddDefaultCharset = None

        child = None
        try:
            child = list.getChildByName("AllowOverride")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AllowOverride = child
        except (KeyError): self.__AllowOverride = None

        child = None
        try:
            child = list.getChildByName("Allow")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Allow = child
        except (KeyError): self.__Allow = None

        child = None
        try:
            child = list.getChildByName("AuthName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AuthName = child
        except (KeyError): self.__AuthName = None

        child = None
        try:
            child = list.getChildByName("AuthType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AuthType = child
        except (KeyError): self.__AuthType = None

        child = None
        try:
            child = list.getChildByName("ContentDigest")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ContentDigest = child
        except (KeyError): self.__ContentDigest = None

        child = None
        try:
            child = list.getChildByName("DefaultType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DefaultType = child
        except (KeyError): self.__DefaultType = None

        child = None
        try:
            child = list.getChildByName("Deny")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Deny = child
        except (KeyError): self.__Deny = None

        child = None
        try:
            child = list.getChildByName("Dir")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Dir = child
        except (KeyError): self.__Dir = None

        child = None
        try:
            child = list.getChildByName("ErrorDocument")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ErrorDocument = child
        except (KeyError): self.__ErrorDocument = None

        child = None
        try:
            child = list.getChildByName("HostNameLookups")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__HostNameLookups = child
        except (KeyError): self.__HostNameLookups = None

        child = None
        try:
            child = list.getChildByName("IdentityCheck")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__IdentityCheck = child
        except (KeyError): self.__IdentityCheck = None

        child = None
        try:
            child = list.getChildByName("LimitRequestBody")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LimitRequestBody = child
        except (KeyError): self.__LimitRequestBody = None

        child = None
        try:
            child = list.getChildByName("Options")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Options = child
        except (KeyError): self.__Options = None

        child = None
        try:
            child = list.getChildByName("Order")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Order = child
        except (KeyError): self.__Order = None

        child = None
        try:
            child = list.getChildByName("Require")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Require = child
        except (KeyError): self.__Require = None

        child = None
        try:
            child = list.getChildByName("ScriptInterpreterSource")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ScriptInterpreterSource = child
        except (KeyError): self.__ScriptInterpreterSource = None

        child = None
        try:
            child = list.getChildByName("ServerSignature")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerSignature = child
        except (KeyError): self.__ServerSignature = None

        child = None
        try:
            child = list.getChildByName("UseCanonicalName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__UseCanonicalName = child
        except (KeyError): self.__UseCanonicalName = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        return self.__list.unlink()

    def setAddDefaultCharset(self, value):
        if self.__AddDefaultCharset == None:
            self.__AddDefaultCharset = self.__list.addChild(Data.ADM_TYPE_STRING, "AddDefaultCharset")
        return self.__AddDefaultCharset.setValue(value)

    def getAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        return self.__AddDefaultCharset.getValue()

    def delAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        child = self.__AddDefaultCharset
        self.__AddDefaultCharset = None
        child.unlink()

    def setAllowOverride(self, value):
        if self.__AllowOverride == None:
            self.__AllowOverride = self.__list.addChild(Data.ADM_TYPE_STRING, "AllowOverride")
        return self.__AllowOverride.setValue(value)

    def getAllowOverride(self):
        if self.__AllowOverride == None: return None
        return self.__AllowOverride.getValue()

    def delAllowOverride(self):
        if self.__AllowOverride == None: return None
        child = self.__AllowOverride
        self.__AllowOverride = None
        child.unlink()

    def setAllow(self, value):
        if self.__Allow == None:
            self.__Allow = self.__list.addChild(Data.ADM_TYPE_STRING, "Allow")
        return self.__Allow.setValue(value)

    def getAllow(self):
        if self.__Allow == None: return None
        return self.__Allow.getValue()

    def delAllow(self):
        if self.__Allow == None: return None
        child = self.__Allow
        self.__Allow = None
        child.unlink()

    def setAuthName(self, value):
        if self.__AuthName == None:
            self.__AuthName = self.__list.addChild(Data.ADM_TYPE_STRING, "AuthName")
        return self.__AuthName.setValue(value)

    def getAuthName(self):
        if self.__AuthName == None: return None
        return self.__AuthName.getValue()

    def delAuthName(self):
        if self.__AuthName == None: return None
        child = self.__AuthName
        self.__AuthName = None
        child.unlink()

    def setAuthType(self, value):
        if self.__AuthType == None:
            self.__AuthType = self.__list.addChild(Data.ADM_TYPE_STRING, "AuthType")
        return self.__AuthType.setValue(value)

    def getAuthType(self):
        if self.__AuthType == None: return None
        return self.__AuthType.getValue()

    def delAuthType(self):
        if self.__AuthType == None: return None
        child = self.__AuthType
        self.__AuthType = None
        child.unlink()

    def setContentDigest(self, value):
        if self.__ContentDigest == None:
            self.__ContentDigest = self.__list.addChild(Data.ADM_TYPE_STRING, "ContentDigest")
        return self.__ContentDigest.setValue(value)

    def getContentDigest(self):
        if self.__ContentDigest == None: return None
        return self.__ContentDigest.getValue()

    def delContentDigest(self):
        if self.__ContentDigest == None: return None
        child = self.__ContentDigest
        self.__ContentDigest = None
        child.unlink()

    def setDefaultType(self, value):
        if self.__DefaultType == None:
            self.__DefaultType = self.__list.addChild(Data.ADM_TYPE_STRING, "DefaultType")
        return self.__DefaultType.setValue(value)

    def getDefaultType(self):
        if self.__DefaultType == None: return None
        return self.__DefaultType.getValue()

    def delDefaultType(self):
        if self.__DefaultType == None: return None
        child = self.__DefaultType
        self.__DefaultType = None
        child.unlink()

    def setDeny(self, value):
        if self.__Deny == None:
            self.__Deny = self.__list.addChild(Data.ADM_TYPE_STRING, "Deny")
        return self.__Deny.setValue(value)

    def getDeny(self):
        if self.__Deny == None: return None
        return self.__Deny.getValue()

    def delDeny(self):
        if self.__Deny == None: return None
        child = self.__Deny
        self.__Deny = None
        child.unlink()

    def setDir(self, value):
        if self.__Dir == None:
            self.__Dir = self.__list.addChild(Data.ADM_TYPE_STRING, "Dir")
        return self.__Dir.setValue(value)

    def getDir(self):
        if self.__Dir == None: return None
        return self.__Dir.getValue()

    def delDir(self):
        if self.__Dir == None: return None
        child = self.__Dir
        self.__Dir = None
        child.unlink()

    def setErrorDocument(self, value):
        if self.__ErrorDocument == None:
            self.__ErrorDocument = self.__list.addChild(Data.ADM_TYPE_STRING, "ErrorDocument")
        return self.__ErrorDocument.setValue(value)

    def getErrorDocument(self):
        if self.__ErrorDocument == None: return None
        return self.__ErrorDocument.getValue()

    def delErrorDocument(self):
        if self.__ErrorDocument == None: return None
        child = self.__ErrorDocument
        self.__ErrorDocument = None
        child.unlink()

    def setHostNameLookups(self, value):
        if self.__HostNameLookups == None:
            self.__HostNameLookups = self.__list.addChild(Data.ADM_TYPE_STRING, "HostNameLookups")
        return self.__HostNameLookups.setValue(value)

    def getHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        return self.__HostNameLookups.getValue()

    def delHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        child = self.__HostNameLookups
        self.__HostNameLookups = None
        child.unlink()

    def setIdentityCheck(self, value):
        if self.__IdentityCheck == None:
            self.__IdentityCheck = self.__list.addChild(Data.ADM_TYPE_STRING, "IdentityCheck")
        return self.__IdentityCheck.setValue(value)

    def getIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        return self.__IdentityCheck.getValue()

    def delIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        child = self.__IdentityCheck
        self.__IdentityCheck = None
        child.unlink()

    def setLimitRequestBody(self, value):
        if self.__LimitRequestBody == None:
            self.__LimitRequestBody = self.__list.addChild(Data.ADM_TYPE_STRING, "LimitRequestBody")
        return self.__LimitRequestBody.setValue(value)

    def getLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        return self.__LimitRequestBody.getValue()

    def delLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        child = self.__LimitRequestBody
        self.__LimitRequestBody = None
        child.unlink()

    def setOptions(self, value):
        if self.__Options == None:
            self.__Options = self.__list.addChild(Data.ADM_TYPE_STRING, "Options")
        return self.__Options.setValue(value)

    def getOptions(self):
        if self.__Options == None: return None
        return self.__Options.getValue()

    def delOptions(self):
        if self.__Options == None: return None
        child = self.__Options
        self.__Options = None
        child.unlink()

    def setOrder(self, value):
        if self.__Order == None:
            self.__Order = self.__list.addChild(Data.ADM_TYPE_STRING, "Order")
        return self.__Order.setValue(value)

    def getOrder(self):
        if self.__Order == None: return None
        return self.__Order.getValue()

    def delOrder(self):
        if self.__Order == None: return None
        child = self.__Order
        self.__Order = None
        child.unlink()

    def setRequire(self, value):
        if self.__Require == None:
            self.__Require = self.__list.addChild(Data.ADM_TYPE_STRING, "Require")
        return self.__Require.setValue(value)

    def getRequire(self):
        if self.__Require == None: return None
        return self.__Require.getValue()

    def delRequire(self):
        if self.__Require == None: return None
        child = self.__Require
        self.__Require = None
        child.unlink()

    def setScriptInterpreterSource(self, value):
        if self.__ScriptInterpreterSource == None:
            self.__ScriptInterpreterSource = self.__list.addChild(Data.ADM_TYPE_STRING, "ScriptInterpreterSource")
        return self.__ScriptInterpreterSource.setValue(value)

    def getScriptInterpreterSource(self):
        if self.__ScriptInterpreterSource == None: return None
        return self.__ScriptInterpreterSource.getValue()

    def delScriptInterpreterSource(self):
        if self.__ScriptInterpreterSource == None: return None
        child = self.__ScriptInterpreterSource
        self.__ScriptInterpreterSource = None
        child.unlink()

    def setServerSignature(self, value):
        if self.__ServerSignature == None:
            self.__ServerSignature = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerSignature")
        return self.__ServerSignature.setValue(value)

    def getServerSignature(self):
        if self.__ServerSignature == None: return None
        return self.__ServerSignature.getValue()

    def delServerSignature(self):
        if self.__ServerSignature == None: return None
        child = self.__ServerSignature
        self.__ServerSignature = None
        child.unlink()

    def setUseCanonicalName(self, value):
        if self.__UseCanonicalName == None:
            self.__UseCanonicalName = self.__list.addChild(Data.ADM_TYPE_STRING, "UseCanonicalName")
        return self.__UseCanonicalName.setValue(value)

    def getUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        return self.__UseCanonicalName.getValue()

    def delUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        child = self.__UseCanonicalName
        self.__UseCanonicalName = None
        child.unlink()


class directories:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().deldirectories()

    def getdirectory(self, pos):
        return directory(self.__list.getChildByIndex(pos), self)

    def deldirectory(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def adddirectory(self):
        return directory(self.__list.addChild(Data.ADM_TYPE_LIST, "directory"), self)

    def getNumdirectory(self):
        return self.__list.getNumChildren()

    def movedirectory(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)


class serveraliases:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delserveraliases()

    def setServerAlias(self, pos, value):
        child = self.__list.getChildByIndex(pos)
        return child.setValue(value)

    def getServerAlias(self, pos):
        return self.__list.getChildByIndex(pos).getValue()

    def delServerAlias(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def addServerAlias(self):
        self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAlias")
        return (self.__list.getNumChildren() - 1)

    def getNumServerAlias(self):
        return self.__list.getNumChildren()

    def moveServerAlias(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)

class vhostdefault:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("directories")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__directories = directories(child, self)
        except (KeyError): self.__directories = None

        child = None
        try:
            child = list.getChildByName("AccessConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessConfig = child
        except (KeyError): self.__AccessConfig = None

        child = None
        try:
            child = list.getChildByName("AccessFileName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessFileName = child
        except (KeyError): self.__AccessFileName = None

        child = None
        try:
            child = list.getChildByName("AddDefaultCharset")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AddDefaultCharset = child
        except (KeyError): self.__AddDefaultCharset = None

        child = None
        try:
            child = list.getChildByName("Address")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Address = child
        except (KeyError): self.__Address = None

        child = None
        try:
            child = list.getChildByName("ContentDigest")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ContentDigest = child
        except (KeyError): self.__ContentDigest = None

        child = None
        try:
            child = list.getChildByName("DefaultType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DefaultType = child
        except (KeyError): self.__DefaultType = None

        child = None
        try:
            child = list.getChildByName("DirectoryIndex")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DirectoryIndex = child
        except (KeyError): self.__DirectoryIndex = None

        child = None
        try:
            child = list.getChildByName("DocumentRoot")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DocumentRoot = child
        except (KeyError): self.__DocumentRoot = None

        child = None
        try:
            child = list.getChildByName("environment")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__environment = environment(child, self)
        except (KeyError): self.__environment = None

        child = None
        try:
            child = list.getChildByName("errordocuments")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__errordocuments = errordocuments(child, self)
        except (KeyError): self.__errordocuments = None

        child = None
        try:
            child = list.getChildByName("ErrorLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ErrorLog = child
        except (KeyError): self.__ErrorLog = None

        child = None
        try:
            child = list.getChildByName("Group")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Group = child
        except (KeyError): self.__Group = None

        child = None
        try:
            child = list.getChildByName("HostNameLookups")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__HostNameLookups = child
        except (KeyError): self.__HostNameLookups = None

        child = None
        try:
            child = list.getChildByName("IdentityCheck")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__IdentityCheck = child
        except (KeyError): self.__IdentityCheck = None

        child = None
        try:
            child = list.getChildByName("LimitRequestBody")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LimitRequestBody = child
        except (KeyError): self.__LimitRequestBody = None

        child = None
        try:
            child = list.getChildByName("LogFormat")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogFormat = child
        except (KeyError): self.__LogFormat = None

        child = None
        try:
            child = list.getChildByName("LogLevel")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogLevel = child
        except (KeyError): self.__LogLevel = None

        child = None
        try:
            child = list.getChildByName("NameBased")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__NameBased = child
        except (KeyError): self.__NameBased = None

        child = None
        try:
            child = list.getChildByName("Options")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Options = child
        except (KeyError): self.__Options = None

        child = None
        try:
            child = list.getChildByName("ResourceConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ResourceConfig = child
        except (KeyError): self.__ResourceConfig = None

        child = None
        try:
            child = list.getChildByName("RLimitCPU")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitCPU = child
        except (KeyError): self.__RLimitCPU = None

        child = None
        try:
            child = list.getChildByName("RLimitMEM")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitMEM = child
        except (KeyError): self.__RLimitMEM = None

        child = None
        try:
            child = list.getChildByName("RLimitNPROC")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitNPROC = child
        except (KeyError): self.__RLimitNPROC = None

        child = None
        try:
            child = list.getChildByName("Satisfy")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Satisfy = child
        except (KeyError): self.__Satisfy = None

        child = None
        try:
            child = list.getChildByName("ServerAdmin")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerAdmin = child
        except (KeyError): self.__ServerAdmin = None

        child = None
        try:
            child = list.getChildByName("serveraliases")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__serveraliases = serveraliases(child, self)
        except (KeyError): self.__serveraliases = None

        child = None
        try:
            child = list.getChildByName("ServerAlias")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerAlias = child
        except (KeyError): self.__ServerAlias = None

        child = None
        try:
            child = list.getChildByName("ServerName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerName = child
        except (KeyError): self.__ServerName = None

        child = None
        try:
            child = list.getChildByName("ServerPath")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerPath = child
        except (KeyError): self.__ServerPath = None

        child = None
        try:
            child = list.getChildByName("ServerSignature")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerSignature = child
        except (KeyError): self.__ServerSignature = None

        child = None
        try:
            child = list.getChildByName("SSLCACertificatePath")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCACertificatePath = child
        except (KeyError): self.__SSLCACertificatePath = None

        child = None
        try:
            child = list.getChildByName("SSLCACertificateFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCACertificateFile = child
        except (KeyError): self.__SSLCACertificateFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateFile = child
        except (KeyError): self.__SSLCertificateFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateKeyFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateKeyFile = child
        except (KeyError): self.__SSLCertificateKeyFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateChainFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateChainFile = child
        except (KeyError): self.__SSLCertificateChainFile = None

        child = None
        try:
            child = list.getChildByName("SSLEngine")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLEngine = child
        except (KeyError): self.__SSLEngine = None

        child = None
        try:
            child = list.getChildByName("SSLLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLLog = child
        except (KeyError): self.__SSLLog = None

        child = None
        try:
            child = list.getChildByName("SSLLogLevel")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLLogLevel = child
        except (KeyError): self.__SSLLogLevel = None

        child = None
        try:
            child = list.getChildByName("SSLOptions")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLOptions = child
        except (KeyError): self.__SSLOptions = None

        child = None
        try:
            child = list.getChildByName("TransferLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__TransferLog = child
        except (KeyError): self.__TransferLog = None

        child = None
        try:
            child = list.getChildByName("UseCanonicalName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__UseCanonicalName = child
        except (KeyError): self.__UseCanonicalName = None

        child = None
        try:
            child = list.getChildByName("User")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__User = child
        except (KeyError): self.__User = None

        child = None
        try:
            child = list.getChildByName("VHName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__VHName = child
        except (KeyError): self.__VHName = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delvhostdefault()

    def getdirectories(self):
        return self.__directories

    def deldirectories(self):
        if self.__directories:
            child = self.__directories
            self.__directories = None
            child.unlink()

    def createdirectories(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "directories")
        self.__directories = directories(child, self)
        child.setAnonymous(1)
        return self.__directories

    def setAccessConfig(self, value):
        if self.__AccessConfig == None:
            self.__AccessConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessConfig")
        return self.__AccessConfig.setValue(value)

    def getAccessConfig(self):
        if self.__AccessConfig == None: return None
        return self.__AccessConfig.getValue()

    def delAccessConfig(self):
        if self.__AccessConfig == None: return None
        child = self.__AccessConfig
        self.__AccessConfig = None
        child.unlink()

    def setAccessFileName(self, value):
        if self.__AccessFileName == None:
            self.__AccessFileName = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessFileName")
        return self.__AccessFileName.setValue(value)

    def getAccessFileName(self):
        if self.__AccessFileName == None: return None
        return self.__AccessFileName.getValue()

    def delAccessFileName(self):
        if self.__AccessFileName == None: return None
        child = self.__AccessFileName
        self.__AccessFileName = None
        child.unlink()

    def setAddDefaultCharset(self, value):
        if self.__AddDefaultCharset == None:
            self.__AddDefaultCharset = self.__list.addChild(Data.ADM_TYPE_STRING, "AddDefaultCharset")
        return self.__AddDefaultCharset.setValue(value)

    def getAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        return self.__AddDefaultCharset.getValue()

    def delAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        child = self.__AddDefaultCharset
        self.__AddDefaultCharset = None
        child.unlink()

    def setAddress(self, value):
        if self.__Address == None:
            self.__Address = self.__list.addChild(Data.ADM_TYPE_STRING, "Address")
        return self.__Address.setValue(value)

    def getAddress(self):
        if self.__Address == None: return None
        return self.__Address.getValue()

    def delAddress(self):
        if self.__Address == None: return None
        child = self.__Address
        self.__Address = None
        child.unlink()

    def setContentDigest(self, value):
        if self.__ContentDigest == None:
            self.__ContentDigest = self.__list.addChild(Data.ADM_TYPE_STRING, "ContentDigest")
        return self.__ContentDigest.setValue(value)

    def getContentDigest(self):
        if self.__ContentDigest == None: return None
        return self.__ContentDigest.getValue()

    def delContentDigest(self):
        if self.__ContentDigest == None: return None
        child = self.__ContentDigest
        self.__ContentDigest = None
        child.unlink()

    def setDefaultType(self, value):
        if self.__DefaultType == None:
            self.__DefaultType = self.__list.addChild(Data.ADM_TYPE_STRING, "DefaultType")
        return self.__DefaultType.setValue(value)

    def getDefaultType(self):
        if self.__DefaultType == None: return None
        return self.__DefaultType.getValue()

    def delDefaultType(self):
        if self.__DefaultType == None: return None
        child = self.__DefaultType
        self.__DefaultType = None
        child.unlink()

    def setDirectoryIndex(self, value):
        if self.__DirectoryIndex == None:
            self.__DirectoryIndex = self.__list.addChild(Data.ADM_TYPE_STRING, "DirectoryIndex")
        return self.__DirectoryIndex.setValue(value)

    def getDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        return self.__DirectoryIndex.getValue()

    def delDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        child = self.__DirectoryIndex
        self.__DirectoryIndex = None
        child.unlink()

    def setDocumentRoot(self, value):
        if self.__DocumentRoot == None:
            self.__DocumentRoot = self.__list.addChild(Data.ADM_TYPE_STRING, "DocumentRoot")
        return self.__DocumentRoot.setValue(value)

    def getDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        return self.__DocumentRoot.getValue()

    def delDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        child = self.__DocumentRoot
        self.__DocumentRoot = None
        child.unlink()

    def getenvironment(self):
        return self.__environment

    def delenvironment(self):
        if self.__environment:
            child = self.__environment
            self.__environment = None
            child.unlink()

    def createenvironment(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "environment")
        self.__environment = environment(child, self)
        child.setAnonymous(1)
        return self.__environment

    def geterrordocuments(self):
        return self.__errordocuments

    def delerrordocuments(self):
        if self.__errordocuments:
            child = self.__errordocuments
            self.__errordocuments = None
            child.unlink()

    def createerrordocuments(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "errordocuments")
        self.__errordocuments = errordocuments(child, self)
        child.setAnonymous(1)
        return self.__errordocuments

    def setErrorLog(self, value):
        if self.__ErrorLog == None:
            self.__ErrorLog = self.__list.addChild(Data.ADM_TYPE_STRING, "ErrorLog")
        return self.__ErrorLog.setValue(value)

    def getErrorLog(self):
        if self.__ErrorLog == None: return None
        return self.__ErrorLog.getValue()

    def delErrorLog(self):
        if self.__ErrorLog == None: return None
        child = self.__ErrorLog
        self.__ErrorLog = None
        child.unlink()

    def setGroup(self, value):
        if self.__Group == None:
            self.__Group = self.__list.addChild(Data.ADM_TYPE_STRING, "Group")
        return self.__Group.setValue(value)

    def getGroup(self):
        if self.__Group == None: return None
        return self.__Group.getValue()

    def delGroup(self):
        if self.__Group == None: return None
        child = self.__Group
        self.__Group = None
        child.unlink()

    def setHostNameLookups(self, value):
        if self.__HostNameLookups == None:
            self.__HostNameLookups = self.__list.addChild(Data.ADM_TYPE_STRING, "HostNameLookups")
        return self.__HostNameLookups.setValue(value)

    def getHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        return self.__HostNameLookups.getValue()

    def delHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        child = self.__HostNameLookups
        self.__HostNameLookups = None
        child.unlink()

    def setIdentityCheck(self, value):
        if self.__IdentityCheck == None:
            self.__IdentityCheck = self.__list.addChild(Data.ADM_TYPE_STRING, "IdentityCheck")
        return self.__IdentityCheck.setValue(value)

    def getIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        return self.__IdentityCheck.getValue()

    def delIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        child = self.__IdentityCheck
        self.__IdentityCheck = None
        child.unlink()

    def setLimitRequestBody(self, value):
        if self.__LimitRequestBody == None:
            self.__LimitRequestBody = self.__list.addChild(Data.ADM_TYPE_STRING, "LimitRequestBody")
        return self.__LimitRequestBody.setValue(value)

    def getLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        return self.__LimitRequestBody.getValue()

    def delLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        child = self.__LimitRequestBody
        self.__LimitRequestBody = None
        child.unlink()

    def setLogFormat(self, value):
        if self.__LogFormat == None:
            self.__LogFormat = self.__list.addChild(Data.ADM_TYPE_STRING, "LogFormat")
        return self.__LogFormat.setValue(value)

    def getLogFormat(self):
        if self.__LogFormat == None: return None
        return self.__LogFormat.getValue()

    def delLogFormat(self):
        if self.__LogFormat == None: return None
        child = self.__LogFormat
        self.__LogFormat = None
        child.unlink()

    def setLogLevel(self, value):
        if self.__LogLevel == None:
            self.__LogLevel = self.__list.addChild(Data.ADM_TYPE_STRING, "LogLevel")
        return self.__LogLevel.setValue(value)

    def getLogLevel(self):
        if self.__LogLevel == None: return None
        return self.__LogLevel.getValue()

    def delLogLevel(self):
        if self.__LogLevel == None: return None
        child = self.__LogLevel
        self.__LogLevel = None
        child.unlink()

    def setNameBased(self, value):
        if self.__NameBased == None:
            self.__NameBased = self.__list.addChild(Data.ADM_TYPE_STRING, "NameBased")
        return self.__NameBased.setValue(value)

    def getNameBased(self):
        if self.__NameBased == None: return None
        return self.__NameBased.getValue()

    def delNameBased(self):
        if self.__NameBased == None: return None
        child = self.__NameBased
        self.__NameBased = None
        child.unlink()

    def setOptions(self, value):
        if self.__Options == None:
            self.__Options = self.__list.addChild(Data.ADM_TYPE_STRING, "Options")
        return self.__Options.setValue(value)

    def getOptions(self):
        if self.__Options == None: return None
        return self.__Options.getValue()

    def delOptions(self):
        if self.__Options == None: return None
        child = self.__Options
        self.__Options = None
        child.unlink()

    def setResourceConfig(self, value):
        if self.__ResourceConfig == None:
            self.__ResourceConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "ResourceConfig")
        return self.__ResourceConfig.setValue(value)

    def getResourceConfig(self):
        if self.__ResourceConfig == None: return None
        return self.__ResourceConfig.getValue()

    def delResourceConfig(self):
        if self.__ResourceConfig == None: return None
        child = self.__ResourceConfig
        self.__ResourceConfig = None
        child.unlink()

    def setRLimitCPU(self, value):
        if self.__RLimitCPU == None:
            self.__RLimitCPU = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitCPU")
        return self.__RLimitCPU.setValue(value)

    def getRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        return self.__RLimitCPU.getValue()

    def delRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        child = self.__RLimitCPU
        self.__RLimitCPU = None
        child.unlink()

    def setRLimitMEM(self, value):
        if self.__RLimitMEM == None:
            self.__RLimitMEM = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitMEM")
        return self.__RLimitMEM.setValue(value)

    def getRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        return self.__RLimitMEM.getValue()

    def delRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        child = self.__RLimitMEM
        self.__RLimitMEM = None
        child.unlink()

    def setRLimitNPROC(self, value):
        if self.__RLimitNPROC == None:
            self.__RLimitNPROC = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitNPROC")
        return self.__RLimitNPROC.setValue(value)

    def getRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        return self.__RLimitNPROC.getValue()

    def delRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        child = self.__RLimitNPROC
        self.__RLimitNPROC = None
        child.unlink()

    def setSatisfy(self, value):
        if self.__Satisfy == None:
            self.__Satisfy = self.__list.addChild(Data.ADM_TYPE_STRING, "Satisfy")
        return self.__Satisfy.setValue(value)

    def getSatisfy(self):
        if self.__Satisfy == None: return None
        return self.__Satisfy.getValue()

    def delSatisfy(self):
        if self.__Satisfy == None: return None
        child = self.__Satisfy
        self.__Satisfy = None
        child.unlink()

    def setServerAdmin(self, value):
        if self.__ServerAdmin == None:
            self.__ServerAdmin = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAdmin")
        return self.__ServerAdmin.setValue(value)

    def getServerAdmin(self):
        if self.__ServerAdmin == None: return None
        return self.__ServerAdmin.getValue()

    def delServerAdmin(self):
        if self.__ServerAdmin == None: return None
        child = self.__ServerAdmin
        self.__ServerAdmin = None
        child.unlink()

    def getserveraliases(self):
        return self.__serveraliases

    def delserveraliases(self):
        if self.__serveraliases:
            child = self.__serveraliases
            self.__serveraliases = None
            child.unlink()

    def createserveraliases(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "serveraliases")
        self.__serveraliases = serveraliases(child, self)
        child.setAnonymous(1)
        return self.__serveraliases

    def setServerAlias(self, value):
        if self.__ServerAlias == None:
            self.__ServerAlias = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAlias")
        return self.__ServerAlias.setValue(value)

    def getServerAlias(self):
        if self.__ServerAlias == None: return None
        return self.__ServerAlias.getValue()

    def delServerAlias(self):
        if self.__ServerAlias == None: return None
        child = self.__ServerAlias
        self.__ServerAlias = None
        child.unlink()

    def setServerName(self, value):
        if self.__ServerName == None:
            self.__ServerName = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerName")
        return self.__ServerName.setValue(value)

    def getServerName(self):
        if self.__ServerName == None: return None
        return self.__ServerName.getValue()

    def delServerName(self):
        if self.__ServerName == None: return None
        child = self.__ServerName
        self.__ServerName = None
        child.unlink()

    def setServerPath(self, value):
        if self.__ServerPath == None:
            self.__ServerPath = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerPath")
        return self.__ServerPath.setValue(value)

    def getServerPath(self):
        if self.__ServerPath == None: return None
        return self.__ServerPath.getValue()

    def delServerPath(self):
        if self.__ServerPath == None: return None
        child = self.__ServerPath
        self.__ServerPath = None
        child.unlink()

    def setServerSignature(self, value):
        if self.__ServerSignature == None:
            self.__ServerSignature = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerSignature")
        return self.__ServerSignature.setValue(value)

    def getServerSignature(self):
        if self.__ServerSignature == None: return None
        return self.__ServerSignature.getValue()

    def delServerSignature(self):
        if self.__ServerSignature == None: return None
        child = self.__ServerSignature
        self.__ServerSignature = None
        child.unlink()

    def setSSLCACertificatePath(self, value):
        if self.__SSLCACertificatePath == None:
            self.__SSLCACertificatePath = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCACertificatePath")
        return self.__SSLCACertificatePath.setValue(value)

    def getSSLCACertificatePath(self):
        if self.__SSLCACertificatePath == None: return None
        return self.__SSLCACertificatePath.getValue()

    def delSSLCACertificatePath(self):
        if self.__SSLCACertificatePath == None: return None
        child = self.__SSLCACertificatePath
        self.__SSLCACertificatePath = None
        child.unlink()

    def setSSLCACertificateFile(self, value):
        if self.__SSLCACertificateFile == None:
            self.__SSLCACertificateFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCACertificateFile")
        return self.__SSLCACertificateFile.setValue(value)

    def getSSLCACertificateFile(self):
        if self.__SSLCACertificateFile == None: return None
        return self.__SSLCACertificateFile.getValue()

    def delSSLCACertificateFile(self):
        if self.__SSLCACertificateFile == None: return None
        child = self.__SSLCACertificateFile
        self.__SSLCACertificateFile = None
        child.unlink()

    def setSSLCertificateFile(self, value):
        if self.__SSLCertificateFile == None:
            self.__SSLCertificateFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateFile")
        return self.__SSLCertificateFile.setValue(value)

    def getSSLCertificateFile(self):
        if self.__SSLCertificateFile == None: return None
        return self.__SSLCertificateFile.getValue()

    def delSSLCertificateFile(self):
        if self.__SSLCertificateFile == None: return None
        child = self.__SSLCertificateFile
        self.__SSLCertificateFile = None
        child.unlink()

    def setSSLCertificateKeyFile(self, value):
        if self.__SSLCertificateKeyFile == None:
            self.__SSLCertificateKeyFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateKeyFile")
        return self.__SSLCertificateKeyFile.setValue(value)

    def getSSLCertificateKeyFile(self):
        if self.__SSLCertificateKeyFile == None: return None
        return self.__SSLCertificateKeyFile.getValue()

    def delSSLCertificateKeyFile(self):
        if self.__SSLCertificateKeyFile == None: return None
        child = self.__SSLCertificateKeyFile
        self.__SSLCertificateKeyFile = None
        child.unlink()

    def setSSLCertificateChainFile(self, value):
        if self.__SSLCertificateChainFile == None:
            self.__SSLCertificateChainFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateChainFile")
        return self.__SSLCertificateChainFile.setValue(value)

    def getSSLCertificateChainFile(self):
        if self.__SSLCertificateChainFile == None: return None
        return self.__SSLCertificateChainFile.getValue()

    def delSSLCertificateChainFile(self):
        if self.__SSLCertificateChainFile == None: return None
        child = self.__SSLCertificateChainFile
        self.__SSLCertificateChainFile = None
        child.unlink()

    def setSSLEngine(self, value):
        if self.__SSLEngine == None:
            self.__SSLEngine = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLEngine")
        return self.__SSLEngine.setValue(value)

    def getSSLEngine(self):
        if self.__SSLEngine == None: return None
        return self.__SSLEngine.getValue()

    def delSSLEngine(self):
        if self.__SSLEngine == None: return None
        child = self.__SSLEngine
        self.__SSLEngine = None
        child.unlink()

    def setSSLLog(self, value):
        if self.__SSLLog == None:
            self.__SSLLog = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLLog")
        return self.__SSLLog.setValue(value)

    def getSSLLog(self):
        if self.__SSLLog == None: return None
        return self.__SSLLog.getValue()

    def delSSLLog(self):
        if self.__SSLLog == None: return None
        child = self.__SSLLog
        self.__SSLLog = None
        child.unlink()

    def setSSLLogLevel(self, value):
        if self.__SSLLogLevel == None:
            self.__SSLLogLevel = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLLogLevel")
        return self.__SSLLogLevel.setValue(value)

    def getSSLLogLevel(self):
        if self.__SSLLogLevel == None: return None
        return self.__SSLLogLevel.getValue()

    def delSSLLogLevel(self):
        if self.__SSLLogLevel == None: return None
        child = self.__SSLLogLevel
        self.__SSLLogLevel = None
        child.unlink()

    def setSSLOptions(self, value):
        if self.__SSLOptions == None:
            self.__SSLOptions = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLOptions")
        return self.__SSLOptions.setValue(value)

    def getSSLOptions(self):
        if self.__SSLOptions == None: return None
        return self.__SSLOptions.getValue()

    def delSSLOptions(self):
        if self.__SSLOptions == None: return None
        child = self.__SSLOptions
        self.__SSLOptions = None
        child.unlink()

    def setTransferLog(self, value):
        if self.__TransferLog == None:
            self.__TransferLog = self.__list.addChild(Data.ADM_TYPE_STRING, "TransferLog")
        return self.__TransferLog.setValue(value)

    def getTransferLog(self):
        if self.__TransferLog == None: return None
        return self.__TransferLog.getValue()

    def delTransferLog(self):
        if self.__TransferLog == None: return None
        child = self.__TransferLog
        self.__TransferLog = None
        child.unlink()

    def setUseCanonicalName(self, value):
        if self.__UseCanonicalName == None:
            self.__UseCanonicalName = self.__list.addChild(Data.ADM_TYPE_STRING, "UseCanonicalName")
        return self.__UseCanonicalName.setValue(value)

    def getUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        return self.__UseCanonicalName.getValue()

    def delUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        child = self.__UseCanonicalName
        self.__UseCanonicalName = None
        child.unlink()

    def setUser(self, value):
        if self.__User == None:
            self.__User = self.__list.addChild(Data.ADM_TYPE_STRING, "User")
        return self.__User.setValue(value)

    def getUser(self):
        if self.__User == None: return None
        return self.__User.getValue()

    def delUser(self):
        if self.__User == None: return None
        child = self.__User
        self.__User = None
        child.unlink()

    def setVHName(self, value):
        if self.__VHName == None:
            self.__VHName = self.__list.addChild(Data.ADM_TYPE_STRING, "VHName")
        return self.__VHName.setValue(value)

    def getVHName(self):
        if self.__VHName == None: return None
        return self.__VHName.getValue()

    def delVHName(self):
        if self.__VHName == None: return None
        child = self.__VHName
        self.__VHName = None
        child.unlink()


class virtualhost:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("directories")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__directories = directories(child, self)
        except (KeyError): self.__directories = None

        child = None
        try:
            child = list.getChildByName("AccessConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessConfig = child
        except (KeyError): self.__AccessConfig = None

        child = None
        try:
            child = list.getChildByName("AccessFileName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AccessFileName = child
        except (KeyError): self.__AccessFileName = None

        child = None
        try:
            child = list.getChildByName("AddDefaultCharset")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__AddDefaultCharset = child
        except (KeyError): self.__AddDefaultCharset = None

        child = None
        try:
            child = list.getChildByName("Address")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Address = child
        except (KeyError): self.__Address = None

        child = None
        try:
            child = list.getChildByName("ContentDigest")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ContentDigest = child
        except (KeyError): self.__ContentDigest = None

        child = None
        try:
            child = list.getChildByName("DefaultType")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DefaultType = child
        except (KeyError): self.__DefaultType = None

        child = None
        try:
            child = list.getChildByName("DirectoryIndex")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DirectoryIndex = child
        except (KeyError): self.__DirectoryIndex = None

        child = None
        try:
            child = list.getChildByName("DocumentRoot")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__DocumentRoot = child
        except (KeyError): self.__DocumentRoot = None

        child = None
        try:
            child = list.getChildByName("environment")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__environment = environment(child, self)
        except (KeyError): self.__environment = None

        child = None
        try:
            child = list.getChildByName("errordocuments")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__errordocuments = errordocuments(child, self)
        except (KeyError): self.__errordocuments = None

        child = None
        try:
            child = list.getChildByName("ErrorLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ErrorLog = child
        except (KeyError): self.__ErrorLog = None

        child = None
        try:
            child = list.getChildByName("Group")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Group = child
        except (KeyError): self.__Group = None

        child = None
        try:
            child = list.getChildByName("HostNameLookups")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__HostNameLookups = child
        except (KeyError): self.__HostNameLookups = None

        child = None
        try:
            child = list.getChildByName("IdentityCheck")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__IdentityCheck = child
        except (KeyError): self.__IdentityCheck = None

        child = None
        try:
            child = list.getChildByName("LimitRequestBody")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LimitRequestBody = child
        except (KeyError): self.__LimitRequestBody = None

        child = None
        try:
            child = list.getChildByName("LogFormat")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogFormat = child
        except (KeyError): self.__LogFormat = None

        child = None
        try:
            child = list.getChildByName("LogLevel")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__LogLevel = child
        except (KeyError): self.__LogLevel = None

        child = None
        try:
            child = list.getChildByName("NameBased")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__NameBased = child
        except (KeyError): self.__NameBased = None

        child = None
        try:
            child = list.getChildByName("Options")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Options = child
        except (KeyError): self.__Options = None

        child = None
        try:
            child = list.getChildByName("ResourceConfig")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ResourceConfig = child
        except (KeyError): self.__ResourceConfig = None

        child = None
        try:
            child = list.getChildByName("RLimitCPU")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitCPU = child
        except (KeyError): self.__RLimitCPU = None

        child = None
        try:
            child = list.getChildByName("RLimitMEM")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitMEM = child
        except (KeyError): self.__RLimitMEM = None

        child = None
        try:
            child = list.getChildByName("RLimitNPROC")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__RLimitNPROC = child
        except (KeyError): self.__RLimitNPROC = None

        child = None
        try:
            child = list.getChildByName("Satisfy")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__Satisfy = child
        except (KeyError): self.__Satisfy = None

        child = None
        try:
            child = list.getChildByName("ServerAdmin")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerAdmin = child
        except (KeyError): self.__ServerAdmin = None

        child = None
        try:
            child = list.getChildByName("serveraliases")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__serveraliases = serveraliases(child, self)
        except (KeyError): self.__serveraliases = None

        child = None
        try:
            child = list.getChildByName("ServerAlias")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerAlias = child
        except (KeyError): self.__ServerAlias = None

        child = None
        try:
            child = list.getChildByName("ServerName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerName = child
        except (KeyError): self.__ServerName = None

        child = None
        try:
            child = list.getChildByName("ServerPath")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerPath = child
        except (KeyError): self.__ServerPath = None

        child = None
        try:
            child = list.getChildByName("ServerSignature")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__ServerSignature = child
        except (KeyError): self.__ServerSignature = None

        child = None
        try:
            child = list.getChildByName("SSLCACertificatePath")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCACertificatePath = child
        except (KeyError): self.__SSLCACertificatePath = None

        child = None
        try:
            child = list.getChildByName("SSLCACertificateFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCACertificateFile = child
        except (KeyError): self.__SSLCACertificateFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateFile = child
        except (KeyError): self.__SSLCertificateFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateKeyFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateKeyFile = child
        except (KeyError): self.__SSLCertificateKeyFile = None

        child = None
        try:
            child = list.getChildByName("SSLCertificateChainFile")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLCertificateChainFile = child
        except (KeyError): self.__SSLCertificateChainFile = None

        child = None
        try:
            child = list.getChildByName("SSLEngine")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLEngine = child
        except (KeyError): self.__SSLEngine = None

        child = None
        try:
            child = list.getChildByName("SSLLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLLog = child
        except (KeyError): self.__SSLLog = None

        child = None
        try:
            child = list.getChildByName("SSLLogLevel")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLLogLevel = child
        except (KeyError): self.__SSLLogLevel = None

        child = None
        try:
            child = list.getChildByName("SSLOptions")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__SSLOptions = child
        except (KeyError): self.__SSLOptions = None

        child = None
        try:
            child = list.getChildByName("TransferLog")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__TransferLog = child
        except (KeyError): self.__TransferLog = None

        child = None
        try:
            child = list.getChildByName("UseCanonicalName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__UseCanonicalName = child
        except (KeyError): self.__UseCanonicalName = None

        child = None
        try:
            child = list.getChildByName("User")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__User = child
        except (KeyError): self.__User = None

        child = None
        try:
            child = list.getChildByName("VHName")
            if child.getType() != Data.ADM_TYPE_STRING: raise TypeError
            self.__VHName = child
        except (KeyError): self.__VHName = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        return self.__list.unlink()

    def getdirectories(self):
        return self.__directories

    def deldirectories(self):
        if self.__directories:
            child = self.__directories
            self.__directories = None
            child.unlink()

    def createdirectories(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "directories")
        self.__directories = directories(child, self)
        child.setAnonymous(1)
        return self.__directories

    def setAccessConfig(self, value):
        if self.__AccessConfig == None:
            self.__AccessConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessConfig")
        return self.__AccessConfig.setValue(value)

    def getAccessConfig(self):
        if self.__AccessConfig == None: return None
        return self.__AccessConfig.getValue()

    def delAccessConfig(self):
        if self.__AccessConfig == None: return None
        child = self.__AccessConfig
        self.__AccessConfig = None
        child.unlink()

    def setAccessFileName(self, value):
        if self.__AccessFileName == None:
            self.__AccessFileName = self.__list.addChild(Data.ADM_TYPE_STRING, "AccessFileName")
        return self.__AccessFileName.setValue(value)

    def getAccessFileName(self):
        if self.__AccessFileName == None: return None
        return self.__AccessFileName.getValue()

    def delAccessFileName(self):
        if self.__AccessFileName == None: return None
        child = self.__AccessFileName
        self.__AccessFileName = None
        child.unlink()

    def setAddDefaultCharset(self, value):
        if self.__AddDefaultCharset == None:
            self.__AddDefaultCharset = self.__list.addChild(Data.ADM_TYPE_STRING, "AddDefaultCharset")
        return self.__AddDefaultCharset.setValue(value)

    def getAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        return self.__AddDefaultCharset.getValue()

    def delAddDefaultCharset(self):
        if self.__AddDefaultCharset == None: return None
        child = self.__AddDefaultCharset
        self.__AddDefaultCharset = None
        child.unlink()

    def setAddress(self, value):
        if self.__Address == None:
            self.__Address = self.__list.addChild(Data.ADM_TYPE_STRING, "Address")
        return self.__Address.setValue(value)

    def getAddress(self):
        if self.__Address == None: return None
        return self.__Address.getValue()

    def delAddress(self):
        if self.__Address == None: return None
        child = self.__Address
        self.__Address = None
        child.unlink()

    def setContentDigest(self, value):
        if self.__ContentDigest == None:
            self.__ContentDigest = self.__list.addChild(Data.ADM_TYPE_STRING, "ContentDigest")
        return self.__ContentDigest.setValue(value)

    def getContentDigest(self):
        if self.__ContentDigest == None: return None
        return self.__ContentDigest.getValue()

    def delContentDigest(self):
        if self.__ContentDigest == None: return None
        child = self.__ContentDigest
        self.__ContentDigest = None
        child.unlink()

    def setDefaultType(self, value):
        if self.__DefaultType == None:
            self.__DefaultType = self.__list.addChild(Data.ADM_TYPE_STRING, "DefaultType")
        return self.__DefaultType.setValue(value)

    def getDefaultType(self):
        if self.__DefaultType == None: return None
        return self.__DefaultType.getValue()

    def delDefaultType(self):
        if self.__DefaultType == None: return None
        child = self.__DefaultType
        self.__DefaultType = None
        child.unlink()

    def setDirectoryIndex(self, value):
        if self.__DirectoryIndex == None:
            self.__DirectoryIndex = self.__list.addChild(Data.ADM_TYPE_STRING, "DirectoryIndex")
        return self.__DirectoryIndex.setValue(value)

    def getDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        return self.__DirectoryIndex.getValue()

    def delDirectoryIndex(self):
        if self.__DirectoryIndex == None: return None
        child = self.__DirectoryIndex
        self.__DirectoryIndex = None
        child.unlink()

    def setDocumentRoot(self, value):
        if self.__DocumentRoot == None:
            self.__DocumentRoot = self.__list.addChild(Data.ADM_TYPE_STRING, "DocumentRoot")
        return self.__DocumentRoot.setValue(value)

    def getDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        return self.__DocumentRoot.getValue()

    def delDocumentRoot(self):
        if self.__DocumentRoot == None: return None
        child = self.__DocumentRoot
        self.__DocumentRoot = None
        child.unlink()

    def getenvironment(self):
        return self.__environment

    def delenvironment(self):
        if self.__environment:
            child = self.__environment
            self.__environment = None
            child.unlink()

    def createenvironment(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "environment")
        self.__environment = environment(child, self)
        child.setAnonymous(1)
        return self.__environment

    def geterrordocuments(self):
        return self.__errordocuments

    def delerrordocuments(self):
        if self.__errordocuments:
            child = self.__errordocuments
            self.__errordocuments = None
            child.unlink()

    def createerrordocuments(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "errordocuments")
        self.__errordocuments = errordocuments(child, self)
        child.setAnonymous(1)
        return self.__errordocuments

    def setErrorLog(self, value):
        if self.__ErrorLog == None:
            self.__ErrorLog = self.__list.addChild(Data.ADM_TYPE_STRING, "ErrorLog")
        return self.__ErrorLog.setValue(value)

    def getErrorLog(self):
        if self.__ErrorLog == None: return None
        return self.__ErrorLog.getValue()

    def delErrorLog(self):
        if self.__ErrorLog == None: return None
        child = self.__ErrorLog
        self.__ErrorLog = None
        child.unlink()

    def setGroup(self, value):
        if self.__Group == None:
            self.__Group = self.__list.addChild(Data.ADM_TYPE_STRING, "Group")
        return self.__Group.setValue(value)

    def getGroup(self):
        if self.__Group == None: return None
        return self.__Group.getValue()

    def delGroup(self):
        if self.__Group == None: return None
        child = self.__Group
        self.__Group = None
        child.unlink()

    def setHostNameLookups(self, value):
        if self.__HostNameLookups == None:
            self.__HostNameLookups = self.__list.addChild(Data.ADM_TYPE_STRING, "HostNameLookups")
        return self.__HostNameLookups.setValue(value)

    def getHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        return self.__HostNameLookups.getValue()

    def delHostNameLookups(self):
        if self.__HostNameLookups == None: return None
        child = self.__HostNameLookups
        self.__HostNameLookups = None
        child.unlink()

    def setIdentityCheck(self, value):
        if self.__IdentityCheck == None:
            self.__IdentityCheck = self.__list.addChild(Data.ADM_TYPE_STRING, "IdentityCheck")
        return self.__IdentityCheck.setValue(value)

    def getIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        return self.__IdentityCheck.getValue()

    def delIdentityCheck(self):
        if self.__IdentityCheck == None: return None
        child = self.__IdentityCheck
        self.__IdentityCheck = None
        child.unlink()

    def setLimitRequestBody(self, value):
        if self.__LimitRequestBody == None:
            self.__LimitRequestBody = self.__list.addChild(Data.ADM_TYPE_STRING, "LimitRequestBody")
        return self.__LimitRequestBody.setValue(value)

    def getLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        return self.__LimitRequestBody.getValue()

    def delLimitRequestBody(self):
        if self.__LimitRequestBody == None: return None
        child = self.__LimitRequestBody
        self.__LimitRequestBody = None
        child.unlink()

    def setLogFormat(self, value):
        if self.__LogFormat == None:
            self.__LogFormat = self.__list.addChild(Data.ADM_TYPE_STRING, "LogFormat")
        return self.__LogFormat.setValue(value)

    def getLogFormat(self):
        if self.__LogFormat == None: return None
        return self.__LogFormat.getValue()

    def delLogFormat(self):
        if self.__LogFormat == None: return None
        child = self.__LogFormat
        self.__LogFormat = None
        child.unlink()

    def setLogLevel(self, value):
        if self.__LogLevel == None:
            self.__LogLevel = self.__list.addChild(Data.ADM_TYPE_STRING, "LogLevel")
        return self.__LogLevel.setValue(value)

    def getLogLevel(self):
        if self.__LogLevel == None: return None
        return self.__LogLevel.getValue()

    def delLogLevel(self):
        if self.__LogLevel == None: return None
        child = self.__LogLevel
        self.__LogLevel = None
        child.unlink()

    def setNameBased(self, value):
        if self.__NameBased == None:
            self.__NameBased = self.__list.addChild(Data.ADM_TYPE_STRING, "NameBased")
        return self.__NameBased.setValue(value)

    def getNameBased(self):
        if self.__NameBased == None: return None
        return self.__NameBased.getValue()

    def delNameBased(self):
        if self.__NameBased == None: return None
        child = self.__NameBased
        self.__NameBased = None
        child.unlink()

    def setOptions(self, value):
        if self.__Options == None:
            self.__Options = self.__list.addChild(Data.ADM_TYPE_STRING, "Options")
        return self.__Options.setValue(value)

    def getOptions(self):
        if self.__Options == None: return None
        return self.__Options.getValue()

    def delOptions(self):
        if self.__Options == None: return None
        child = self.__Options
        self.__Options = None
        child.unlink()

    def setResourceConfig(self, value):
        if self.__ResourceConfig == None:
            self.__ResourceConfig = self.__list.addChild(Data.ADM_TYPE_STRING, "ResourceConfig")
        return self.__ResourceConfig.setValue(value)

    def getResourceConfig(self):
        if self.__ResourceConfig == None: return None
        return self.__ResourceConfig.getValue()

    def delResourceConfig(self):
        if self.__ResourceConfig == None: return None
        child = self.__ResourceConfig
        self.__ResourceConfig = None
        child.unlink()

    def setRLimitCPU(self, value):
        if self.__RLimitCPU == None:
            self.__RLimitCPU = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitCPU")
        return self.__RLimitCPU.setValue(value)

    def getRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        return self.__RLimitCPU.getValue()

    def delRLimitCPU(self):
        if self.__RLimitCPU == None: return None
        child = self.__RLimitCPU
        self.__RLimitCPU = None
        child.unlink()

    def setRLimitMEM(self, value):
        if self.__RLimitMEM == None:
            self.__RLimitMEM = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitMEM")
        return self.__RLimitMEM.setValue(value)

    def getRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        return self.__RLimitMEM.getValue()

    def delRLimitMEM(self):
        if self.__RLimitMEM == None: return None
        child = self.__RLimitMEM
        self.__RLimitMEM = None
        child.unlink()

    def setRLimitNPROC(self, value):
        if self.__RLimitNPROC == None:
            self.__RLimitNPROC = self.__list.addChild(Data.ADM_TYPE_STRING, "RLimitNPROC")
        return self.__RLimitNPROC.setValue(value)

    def getRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        return self.__RLimitNPROC.getValue()

    def delRLimitNPROC(self):
        if self.__RLimitNPROC == None: return None
        child = self.__RLimitNPROC
        self.__RLimitNPROC = None
        child.unlink()

    def setSatisfy(self, value):
        if self.__Satisfy == None:
            self.__Satisfy = self.__list.addChild(Data.ADM_TYPE_STRING, "Satisfy")
        return self.__Satisfy.setValue(value)

    def getSatisfy(self):
        if self.__Satisfy == None: return None
        return self.__Satisfy.getValue()

    def delSatisfy(self):
        if self.__Satisfy == None: return None
        child = self.__Satisfy
        self.__Satisfy = None
        child.unlink()

    def setServerAdmin(self, value):
        if self.__ServerAdmin == None:
            self.__ServerAdmin = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAdmin")
        return self.__ServerAdmin.setValue(value)

    def getServerAdmin(self):
        if self.__ServerAdmin == None: return None
        return self.__ServerAdmin.getValue()

    def delServerAdmin(self):
        if self.__ServerAdmin == None: return None
        child = self.__ServerAdmin
        self.__ServerAdmin = None
        child.unlink()

    def getserveraliases(self):
        return self.__serveraliases

    def delserveraliases(self):
        if self.__serveraliases:
            child = self.__serveraliases
            self.__serveraliases = None
            child.unlink()

    def createserveraliases(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "serveraliases")
        self.__serveraliases = serveraliases(child, self)
        child.setAnonymous(1)
        return self.__serveraliases

    def setServerAlias(self, value):
        if self.__ServerAlias == None:
            self.__ServerAlias = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerAlias")
        return self.__ServerAlias.setValue(value)

    def getServerAlias(self):
        if self.__ServerAlias == None: return None
        return self.__ServerAlias.getValue()

    def delServerAlias(self):
        if self.__ServerAlias == None: return None
        child = self.__ServerAlias
        self.__ServerAlias = None
        child.unlink()

    def setServerName(self, value):
        if self.__ServerName == None:
            self.__ServerName = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerName")
        return self.__ServerName.setValue(value)

    def getServerName(self):
        if self.__ServerName == None: return None
        return self.__ServerName.getValue()

    def delServerName(self):
        if self.__ServerName == None: return None
        child = self.__ServerName
        self.__ServerName = None
        child.unlink()

    def setServerPath(self, value):
        if self.__ServerPath == None:
            self.__ServerPath = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerPath")
        return self.__ServerPath.setValue(value)

    def getServerPath(self):
        if self.__ServerPath == None: return None
        return self.__ServerPath.getValue()

    def delServerPath(self):
        if self.__ServerPath == None: return None
        child = self.__ServerPath
        self.__ServerPath = None
        child.unlink()

    def setServerSignature(self, value):
        if self.__ServerSignature == None:
            self.__ServerSignature = self.__list.addChild(Data.ADM_TYPE_STRING, "ServerSignature")
        return self.__ServerSignature.setValue(value)

    def getServerSignature(self):
        if self.__ServerSignature == None: return None
        return self.__ServerSignature.getValue()

    def delServerSignature(self):
        if self.__ServerSignature == None: return None
        child = self.__ServerSignature
        self.__ServerSignature = None
        child.unlink()

    def setSSLCACertificatePath(self, value):
        if self.__SSLCACertificatePath == None:
            self.__SSLCACertificatePath = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCACertificatePath")
        return self.__SSLCACertificatePath.setValue(value)

    def getSSLCACertificatePath(self):
        if self.__SSLCACertificatePath == None: return None
        return self.__SSLCACertificatePath.getValue()

    def delSSLCACertificatePath(self):
        if self.__SSLCACertificatePath == None: return None
        child = self.__SSLCACertificatePath
        self.__SSLCACertificatePath = None
        child.unlink()

    def setSSLCACertificateFile(self, value):
        if self.__SSLCACertificateFile == None:
            self.__SSLCACertificateFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCACertificateFile")
        return self.__SSLCACertificateFile.setValue(value)

    def getSSLCACertificateFile(self):
        if self.__SSLCACertificateFile == None: return None
        return self.__SSLCACertificateFile.getValue()

    def delSSLCACertificateFile(self):
        if self.__SSLCACertificateFile == None: return None
        child = self.__SSLCACertificateFile
        self.__SSLCACertificateFile = None
        child.unlink()

    def setSSLCertificateFile(self, value):
        if self.__SSLCertificateFile == None:
            self.__SSLCertificateFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateFile")
        return self.__SSLCertificateFile.setValue(value)

    def getSSLCertificateFile(self):
        if self.__SSLCertificateFile == None: return None
        return self.__SSLCertificateFile.getValue()

    def delSSLCertificateFile(self):
        if self.__SSLCertificateFile == None: return None
        child = self.__SSLCertificateFile
        self.__SSLCertificateFile = None
        child.unlink()

    def setSSLCertificateKeyFile(self, value):
        if self.__SSLCertificateKeyFile == None:
            self.__SSLCertificateKeyFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateKeyFile")
        return self.__SSLCertificateKeyFile.setValue(value)

    def getSSLCertificateKeyFile(self):
        if self.__SSLCertificateKeyFile == None: return None
        return self.__SSLCertificateKeyFile.getValue()

    def delSSLCertificateKeyFile(self):
        if self.__SSLCertificateKeyFile == None: return None
        child = self.__SSLCertificateKeyFile
        self.__SSLCertificateKeyFile = None
        child.unlink()

    def setSSLCertificateChainFile(self, value):
        if self.__SSLCertificateChainFile == None:
            self.__SSLCertificateChainFile = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLCertificateChainFile")
        return self.__SSLCertificateChainFile.setValue(value)

    def getSSLCertificateChainFile(self):
        if self.__SSLCertificateChainFile == None: return None
        return self.__SSLCertificateChainFile.getValue()

    def delSSLCertificateChainFile(self):
        if self.__SSLCertificateChainFile == None: return None
        child = self.__SSLCertificateChainFile
        self.__SSLCertificateChainFile = None
        child.unlink()

    def setSSLEngine(self, value):
        if self.__SSLEngine == None:
            self.__SSLEngine = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLEngine")
        return self.__SSLEngine.setValue(value)

    def getSSLEngine(self):
        if self.__SSLEngine == None: return None
        return self.__SSLEngine.getValue()

    def delSSLEngine(self):
        if self.__SSLEngine == None: return None
        child = self.__SSLEngine
        self.__SSLEngine = None
        child.unlink()

    def setSSLLog(self, value):
        if self.__SSLLog == None:
            self.__SSLLog = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLLog")
        return self.__SSLLog.setValue(value)

    def getSSLLog(self):
        if self.__SSLLog == None: return None
        return self.__SSLLog.getValue()

    def delSSLLog(self):
        if self.__SSLLog == None: return None
        child = self.__SSLLog
        self.__SSLLog = None
        child.unlink()

    def setSSLLogLevel(self, value):
        if self.__SSLLogLevel == None:
            self.__SSLLogLevel = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLLogLevel")
        return self.__SSLLogLevel.setValue(value)

    def getSSLLogLevel(self):
        if self.__SSLLogLevel == None: return None
        return self.__SSLLogLevel.getValue()

    def delSSLLogLevel(self):
        if self.__SSLLogLevel == None: return None
        child = self.__SSLLogLevel
        self.__SSLLogLevel = None
        child.unlink()

    def setSSLOptions(self, value):
        if self.__SSLOptions == None:
            self.__SSLOptions = self.__list.addChild(Data.ADM_TYPE_STRING, "SSLOptions")
        return self.__SSLOptions.setValue(value)

    def getSSLOptions(self):
        if self.__SSLOptions == None: return None
        return self.__SSLOptions.getValue()

    def delSSLOptions(self):
        if self.__SSLOptions == None: return None
        child = self.__SSLOptions
        self.__SSLOptions = None
        child.unlink()

    def setTransferLog(self, value):
        if self.__TransferLog == None:
            self.__TransferLog = self.__list.addChild(Data.ADM_TYPE_STRING, "TransferLog")
        return self.__TransferLog.setValue(value)

    def getTransferLog(self):
        if self.__TransferLog == None: return None
        return self.__TransferLog.getValue()

    def delTransferLog(self):
        if self.__TransferLog == None: return None
        child = self.__TransferLog
        self.__TransferLog = None
        child.unlink()

    def setUseCanonicalName(self, value):
        if self.__UseCanonicalName == None:
            self.__UseCanonicalName = self.__list.addChild(Data.ADM_TYPE_STRING, "UseCanonicalName")
        return self.__UseCanonicalName.setValue(value)

    def getUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        return self.__UseCanonicalName.getValue()

    def delUseCanonicalName(self):
        if self.__UseCanonicalName == None: return None
        child = self.__UseCanonicalName
        self.__UseCanonicalName = None
        child.unlink()

    def setUser(self, value):
        if self.__User == None:
            self.__User = self.__list.addChild(Data.ADM_TYPE_STRING, "User")
        return self.__User.setValue(value)

    def getUser(self):
        if self.__User == None: return None
        return self.__User.getValue()

    def delUser(self):
        if self.__User == None: return None
        child = self.__User
        self.__User = None
        child.unlink()

    def setVHName(self, value):
        if self.__VHName == None:
            self.__VHName = self.__list.addChild(Data.ADM_TYPE_STRING, "VHName")
        return self.__VHName.setValue(value)

    def getVHName(self):
        if self.__VHName == None: return None
        return self.__VHName.getValue()

    def delVHName(self):
        if self.__VHName == None: return None
        child = self.__VHName
        self.__VHName = None
        child.unlink()


class virtualhosts:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delvirtualhosts()

    def getvirtualhost(self, pos):
        return virtualhost(self.__list.getChildByIndex(pos), self)

    def delvirtualhost(self, pos):
        return self.__list.getChildByIndex(pos).unlink()

    def addvirtualhost(self):
        return virtualhost(self.__list.addChild(Data.ADM_TYPE_LIST, "virtualhost"), self)

    def getNumvirtualhost(self):
        return self.__list.getNumChildren()

    def movevirtualhost(self, pos1, pos2):
        self.__list.moveChild(self.__list.getChildByIndex(pos1), pos2)


class apache:
    def __init__(self, list, parent):
        self.__list = list
        self.__parent = parent

        child = None
        try:
            child = list.getChildByName("serveroptions")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__serveroptions = serveroptions(child, self)
        except (KeyError): self.__serveroptions = None

        child = None
        try:
            child = list.getChildByName("directories")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__directories = directories(child, self)
        except (KeyError): self.__directories = None

        child = None
        try:
            child = list.getChildByName("vhostdefault")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__vhostdefault = vhostdefault(child, self)
        except (KeyError): self.__vhostdefault = None

        child = None
        try:
            child = list.getChildByName("virtualhosts")
            if child.getType() != Data.ADM_TYPE_LIST: raise TypeError
            self.__virtualhosts = virtualhosts(child, self)
        except (KeyError): self.__virtualhosts = None

    def getParent(self):
        return self.__parent

    def unlink(self):
        if self.__list:
            me = self.__list
            self.__list = None
            me.unlink()
            return self.getParent().delapache()

    def getserveroptions(self):
        return self.__serveroptions

    def delserveroptions(self):
        if self.__serveroptions:
            child = self.__serveroptions
            self.__serveroptions = None
            child.unlink()

    def createserveroptions(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "serveroptions")
        self.__serveroptions = serveroptions(child, self)
        return self.__serveroptions

    def getdirectories(self):
        return self.__directories

    def deldirectories(self):
        if self.__directories:
            child = self.__directories
            self.__directories = None
            child.unlink()

    def createdirectories(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "directories")
        self.__directories = directories(child, self)
        child.setAnonymous(1)
        return self.__directories

    def getvhostdefault(self):
        return self.__vhostdefault

    def delvhostdefault(self):
        if self.__vhostdefault:
            child = self.__vhostdefault
            self.__vhostdefault = None
            child.unlink()

    def createvhostdefault(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "vhostdefault")
        self.__vhostdefault = vhostdefault(child, self)
        return self.__vhostdefault

    def getvirtualhosts(self):
        return self.__virtualhosts

    def delvirtualhosts(self):
        if self.__virtualhosts:
            child = self.__virtualhosts
            self.__virtualhosts = None
            child.unlink()

    def createvirtualhosts(self):
        child = self.__list.addChild(Data.ADM_TYPE_LIST, "virtualhosts")
        self.__virtualhosts = virtualhosts(child, self)
        child.setAnonymous(1)
        return self.__virtualhosts



swb             = Switchboard(file_path="/etc/alchemist/switchboard/system-config-httpd.switchboard.adl")
local_box_entry = swb.readNamespaceCfg("apache").getChildByName ("input_set").getChildByName ("local")
local_box       = getBox (local_box_entry.getChildByName ("box"))
ctx             = swb.cascadeNamespace("apache")
dr              = ctx.getDataRoot().getChildByName("apache")
apachebase      = apache(dr, None)

def hexstr(s):
        h = string.hexdigits
        r = ''
        for c in s:
                i = ord(c)
                r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
        return r

def write(force=False):
    global ctx, local_box

    # Generate new httpd.conf using XSLT
    styuri = OsPathToUri('/usr/share/system-config-httpd/httpd.conf.xsl')
    srcuri = OsPathToUri('/absolute/path/to/doc.xml')
    STY = InputSource.DefaultFactory.fromUri(styuri)
    SRC = InputSource.DefaultFactory.fromString(ctx.toXML (), "dummy")
    proc = Processor.Processor()
    proc.appendStylesheet(STY)
    result = proc.run(SRC)

    # Get md5sum of previous httpd.conf
    try:
        omd5 = open ('/usr/share/system-config-httpd/httpd.conf.md5').read ()
    except:
        omd5 = ''

    # Compute md5sum of currently installed httpd.conf
    try:
        rmd5 = hexstr (md5 (open ('/etc/httpd/conf/httpd.conf', 'r').read ()).digest())
    except:
        rmd5 = ''

    # Compute new md5sum
    nmd5 = hexstr (md5 (result).digest ())

    # Check if the old md5sum matches the one we comuted from the current
    # httpd.conf file.
    if omd5 != rmd5:
        if force:
            try:
                os.remove ('/etc/httpd/conf/httpd.conf.bak')
            except:
                pass
            try:
                os.rename ('/etc/httpd/conf/httpd.conf', '/etc/httpd/conf/httpd.conf.bak')
            except:
                pass
            open ('/etc/httpd/conf/httpd.conf', 'w').write (result)
            open ('/usr/share/system-config-httpd/httpd.conf.md5', 'w').write (nmd5)
            local_box.write (ctx)
    return False
    else:
        open ('/etc/httpd/conf/httpd.conf', 'w').write (result)
        open ('/usr/share/system-config-httpd/httpd.conf.md5', 'w').write (nmd5)
        local_box.write (ctx)
    return True

if __name__ == "__main__":
    write ()


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0103 ]--