# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_conf')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_conf')
    _conf = swig_import_helper()
    del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_conf', [dirname(__file__)])
        except ImportError:
            import _conf
            return _conf
        try:
            _mod = imp.load_module('_conf', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _conf = swig_import_helper()
    del swig_import_helper
else:
    import _conf
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except __builtin__.Exception:
    class _object:
        pass
    _newclass = 0

class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _conf.delete_SwigPyIterator
    __del__ = lambda self: None

    def value(self):
        return _conf.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _conf.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _conf.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _conf.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _conf.SwigPyIterator_equal(self, x)

    def copy(self):
        return _conf.SwigPyIterator_copy(self)

    def next(self):
        return _conf.SwigPyIterator_next(self)

    def __next__(self):
        return _conf.SwigPyIterator___next__(self)

    def previous(self):
        return _conf.SwigPyIterator_previous(self)

    def advance(self, n):
        return _conf.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _conf.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _conf.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _conf.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _conf.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _conf.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _conf.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self
SwigPyIterator_swigregister = _conf.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

import libdnf.common_types
class Option(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Option, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Option, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    Priority_EMPTY = _conf.Option_Priority_EMPTY
    Priority_DEFAULT = _conf.Option_Priority_DEFAULT
    Priority_MAINCONFIG = _conf.Option_Priority_MAINCONFIG
    Priority_AUTOMATICCONFIG = _conf.Option_Priority_AUTOMATICCONFIG
    Priority_REPOCONFIG = _conf.Option_Priority_REPOCONFIG
    Priority_PLUGINDEFAULT = _conf.Option_Priority_PLUGINDEFAULT
    Priority_PLUGINCONFIG = _conf.Option_Priority_PLUGINCONFIG
    Priority_COMMANDLINE = _conf.Option_Priority_COMMANDLINE
    Priority_RUNTIME = _conf.Option_Priority_RUNTIME

    def clone(self):
        return _conf.Option_clone(self)

    def getPriority(self):
        return _conf.Option_getPriority(self)

    def set(self, priority, value):
        return _conf.Option_set(self, priority, value)

    def getValueString(self):
        return _conf.Option_getValueString(self)

    def empty(self):
        return _conf.Option_empty(self)
    __swig_destroy__ = _conf.delete_Option
    __del__ = lambda self: None
Option_swigregister = _conf.Option_swigregister
Option_swigregister(Option)

class OptionBool(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionBool, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionBool, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionBool(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionBool_clone(self)

    def test(self, arg2):
        return _conf.OptionBool_test(self, arg2)

    def fromString(self, value):
        return _conf.OptionBool_fromString(self, value)

    def set(self, *args):
        return _conf.OptionBool_set(self, *args)

    def getValue(self):
        return _conf.OptionBool_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionBool_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionBool_toString(self, value)

    def getValueString(self):
        return _conf.OptionBool_getValueString(self)

    def getTrueValues(self):
        return _conf.OptionBool_getTrueValues(self)

    def getFalseValues(self):
        return _conf.OptionBool_getFalseValues(self)
    __swig_destroy__ = _conf.delete_OptionBool
    __del__ = lambda self: None
OptionBool_swigregister = _conf.OptionBool_swigregister
OptionBool_swigregister(OptionBool)
cvar = _conf.cvar
defTrueValues = cvar.defTrueValues
defFalseValues = cvar.defFalseValues

class OptionEnumString(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionEnumString, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionEnumString, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionEnumString(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionEnumString_clone(self)

    def test(self, value):
        return _conf.OptionEnumString_test(self, value)

    def fromString(self, value):
        return _conf.OptionEnumString_fromString(self, value)

    def set(self, priority, value):
        return _conf.OptionEnumString_set(self, priority, value)

    def getValue(self):
        return _conf.OptionEnumString_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionEnumString_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionEnumString_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionEnumString
    __del__ = lambda self: None
OptionEnumString_swigregister = _conf.OptionEnumString_swigregister
OptionEnumString_swigregister(OptionEnumString)

class OptionNumberInt32(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionNumberInt32, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionNumberInt32, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionNumberInt32(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionNumberInt32_clone(self)

    def test(self, value):
        return _conf.OptionNumberInt32_test(self, value)

    def fromString(self, value):
        return _conf.OptionNumberInt32_fromString(self, value)

    def set(self, *args):
        return _conf.OptionNumberInt32_set(self, *args)

    def getValue(self):
        return _conf.OptionNumberInt32_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionNumberInt32_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionNumberInt32_toString(self, value)

    def getValueString(self):
        return _conf.OptionNumberInt32_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionNumberInt32
    __del__ = lambda self: None
OptionNumberInt32_swigregister = _conf.OptionNumberInt32_swigregister
OptionNumberInt32_swigregister(OptionNumberInt32)

class OptionNumberUInt32(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionNumberUInt32, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionNumberUInt32, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionNumberUInt32(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionNumberUInt32_clone(self)

    def test(self, value):
        return _conf.OptionNumberUInt32_test(self, value)

    def fromString(self, value):
        return _conf.OptionNumberUInt32_fromString(self, value)

    def set(self, *args):
        return _conf.OptionNumberUInt32_set(self, *args)

    def getValue(self):
        return _conf.OptionNumberUInt32_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionNumberUInt32_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionNumberUInt32_toString(self, value)

    def getValueString(self):
        return _conf.OptionNumberUInt32_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionNumberUInt32
    __del__ = lambda self: None
OptionNumberUInt32_swigregister = _conf.OptionNumberUInt32_swigregister
OptionNumberUInt32_swigregister(OptionNumberUInt32)

class OptionNumberInt64(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionNumberInt64, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionNumberInt64, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionNumberInt64(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionNumberInt64_clone(self)

    def test(self, value):
        return _conf.OptionNumberInt64_test(self, value)

    def fromString(self, value):
        return _conf.OptionNumberInt64_fromString(self, value)

    def set(self, *args):
        return _conf.OptionNumberInt64_set(self, *args)

    def getValue(self):
        return _conf.OptionNumberInt64_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionNumberInt64_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionNumberInt64_toString(self, value)

    def getValueString(self):
        return _conf.OptionNumberInt64_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionNumberInt64
    __del__ = lambda self: None
OptionNumberInt64_swigregister = _conf.OptionNumberInt64_swigregister
OptionNumberInt64_swigregister(OptionNumberInt64)

class OptionNumberUInt64(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionNumberUInt64, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionNumberUInt64, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionNumberUInt64(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionNumberUInt64_clone(self)

    def test(self, value):
        return _conf.OptionNumberUInt64_test(self, value)

    def fromString(self, value):
        return _conf.OptionNumberUInt64_fromString(self, value)

    def set(self, *args):
        return _conf.OptionNumberUInt64_set(self, *args)

    def getValue(self):
        return _conf.OptionNumberUInt64_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionNumberUInt64_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionNumberUInt64_toString(self, value)

    def getValueString(self):
        return _conf.OptionNumberUInt64_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionNumberUInt64
    __del__ = lambda self: None
OptionNumberUInt64_swigregister = _conf.OptionNumberUInt64_swigregister
OptionNumberUInt64_swigregister(OptionNumberUInt64)

class OptionNumberFloat(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionNumberFloat, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionNumberFloat, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionNumberFloat(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionNumberFloat_clone(self)

    def test(self, value):
        return _conf.OptionNumberFloat_test(self, value)

    def fromString(self, value):
        return _conf.OptionNumberFloat_fromString(self, value)

    def set(self, *args):
        return _conf.OptionNumberFloat_set(self, *args)

    def getValue(self):
        return _conf.OptionNumberFloat_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionNumberFloat_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionNumberFloat_toString(self, value)

    def getValueString(self):
        return _conf.OptionNumberFloat_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionNumberFloat
    __del__ = lambda self: None
OptionNumberFloat_swigregister = _conf.OptionNumberFloat_swigregister
OptionNumberFloat_swigregister(OptionNumberFloat)

class OptionSeconds(OptionNumberInt32):
    __swig_setmethods__ = {}
    for _s in [OptionNumberInt32]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionSeconds, name, value)
    __swig_getmethods__ = {}
    for _s in [OptionNumberInt32]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionSeconds, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionSeconds(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionSeconds_clone(self)

    def fromString(self, value):
        return _conf.OptionSeconds_fromString(self, value)

    def set(self, *args):
        return _conf.OptionSeconds_set(self, *args)
    __swig_destroy__ = _conf.delete_OptionSeconds
    __del__ = lambda self: None
OptionSeconds_swigregister = _conf.OptionSeconds_swigregister
OptionSeconds_swigregister(OptionSeconds)

class OptionString(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionString, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionString, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionString(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionString_clone(self)

    def test(self, value):
        return _conf.OptionString_test(self, value)

    def set(self, priority, value):
        return _conf.OptionString_set(self, priority, value)

    def fromString(self, value):
        return _conf.OptionString_fromString(self, value)

    def getValue(self):
        return _conf.OptionString_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionString_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionString_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionString
    __del__ = lambda self: None
OptionString_swigregister = _conf.OptionString_swigregister
OptionString_swigregister(OptionString)

class OptionStringList(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionStringList, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionStringList, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionStringList(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionStringList_clone(self)

    def test(self, value):
        return _conf.OptionStringList_test(self, value)

    def fromString(self, value):
        return _conf.OptionStringList_fromString(self, value)

    def set(self, *args):
        return _conf.OptionStringList_set(self, *args)

    def getValue(self):
        return _conf.OptionStringList_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionStringList_getDefaultValue(self)

    def toString(self, value):
        return _conf.OptionStringList_toString(self, value)

    def getValueString(self):
        return _conf.OptionStringList_getValueString(self)
    __swig_destroy__ = _conf.delete_OptionStringList
    __del__ = lambda self: None
OptionStringList_swigregister = _conf.OptionStringList_swigregister
OptionStringList_swigregister(OptionStringList)

class OptionPath(OptionString):
    __swig_setmethods__ = {}
    for _s in [OptionString]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionPath, name, value)
    __swig_getmethods__ = {}
    for _s in [OptionString]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionPath, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_OptionPath(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionPath_clone(self)

    def test(self, value):
        return _conf.OptionPath_test(self, value)

    def set(self, priority, value):
        return _conf.OptionPath_set(self, priority, value)
    __swig_destroy__ = _conf.delete_OptionPath
    __del__ = lambda self: None
OptionPath_swigregister = _conf.OptionPath_swigregister
OptionPath_swigregister(OptionPath)

class OptionChildBool(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildBool, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildBool, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildBool(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildBool_clone(self)

    def getPriority(self):
        return _conf.OptionChildBool_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildBool_set(self, *args)

    def getValue(self):
        return _conf.OptionChildBool_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildBool_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildBool_getValueString(self)

    def empty(self):
        return _conf.OptionChildBool_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildBool
    __del__ = lambda self: None
OptionChildBool_swigregister = _conf.OptionChildBool_swigregister
OptionChildBool_swigregister(OptionChildBool)

class OptionChildString(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildString, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildString, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildString(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildString_clone(self)

    def getPriority(self):
        return _conf.OptionChildString_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildString_set(self, *args)

    def getValue(self):
        return _conf.OptionChildString_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildString_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildString_getValueString(self)

    def empty(self):
        return _conf.OptionChildString_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildString
    __del__ = lambda self: None
OptionChildString_swigregister = _conf.OptionChildString_swigregister
OptionChildString_swigregister(OptionChildString)

class OptionChildStringList(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildStringList, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildStringList, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildStringList(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildStringList_clone(self)

    def getPriority(self):
        return _conf.OptionChildStringList_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildStringList_set(self, *args)

    def getValue(self):
        return _conf.OptionChildStringList_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildStringList_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildStringList_getValueString(self)

    def empty(self):
        return _conf.OptionChildStringList_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildStringList
    __del__ = lambda self: None
OptionChildStringList_swigregister = _conf.OptionChildStringList_swigregister
OptionChildStringList_swigregister(OptionChildStringList)

class OptionChildNumberInt32(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildNumberInt32, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildNumberInt32, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildNumberInt32(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildNumberInt32_clone(self)

    def getPriority(self):
        return _conf.OptionChildNumberInt32_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildNumberInt32_set(self, *args)

    def getValue(self):
        return _conf.OptionChildNumberInt32_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildNumberInt32_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildNumberInt32_getValueString(self)

    def empty(self):
        return _conf.OptionChildNumberInt32_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildNumberInt32
    __del__ = lambda self: None
OptionChildNumberInt32_swigregister = _conf.OptionChildNumberInt32_swigregister
OptionChildNumberInt32_swigregister(OptionChildNumberInt32)

class OptionChildNumberUInt32(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildNumberUInt32, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildNumberUInt32, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildNumberUInt32(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildNumberUInt32_clone(self)

    def getPriority(self):
        return _conf.OptionChildNumberUInt32_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildNumberUInt32_set(self, *args)

    def getValue(self):
        return _conf.OptionChildNumberUInt32_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildNumberUInt32_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildNumberUInt32_getValueString(self)

    def empty(self):
        return _conf.OptionChildNumberUInt32_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildNumberUInt32
    __del__ = lambda self: None
OptionChildNumberUInt32_swigregister = _conf.OptionChildNumberUInt32_swigregister
OptionChildNumberUInt32_swigregister(OptionChildNumberUInt32)

class OptionChildNumberFloat(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildNumberFloat, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildNumberFloat, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildNumberFloat(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildNumberFloat_clone(self)

    def getPriority(self):
        return _conf.OptionChildNumberFloat_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildNumberFloat_set(self, *args)

    def getValue(self):
        return _conf.OptionChildNumberFloat_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildNumberFloat_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildNumberFloat_getValueString(self)

    def empty(self):
        return _conf.OptionChildNumberFloat_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildNumberFloat
    __del__ = lambda self: None
OptionChildNumberFloat_swigregister = _conf.OptionChildNumberFloat_swigregister
OptionChildNumberFloat_swigregister(OptionChildNumberFloat)

class OptionChildEnumString(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildEnumString, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildEnumString, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildEnumString(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildEnumString_clone(self)

    def getPriority(self):
        return _conf.OptionChildEnumString_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildEnumString_set(self, *args)

    def getValue(self):
        return _conf.OptionChildEnumString_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildEnumString_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildEnumString_getValueString(self)

    def empty(self):
        return _conf.OptionChildEnumString_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildEnumString
    __del__ = lambda self: None
OptionChildEnumString_swigregister = _conf.OptionChildEnumString_swigregister
OptionChildEnumString_swigregister(OptionChildEnumString)

class OptionChildSeconds(Option):
    __swig_setmethods__ = {}
    for _s in [Option]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionChildSeconds, name, value)
    __swig_getmethods__ = {}
    for _s in [Option]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, OptionChildSeconds, name)
    __repr__ = _swig_repr

    def __init__(self, parent):
        this = _conf.new_OptionChildSeconds(parent)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def clone(self):
        return _conf.OptionChildSeconds_clone(self)

    def getPriority(self):
        return _conf.OptionChildSeconds_getPriority(self)

    def set(self, *args):
        return _conf.OptionChildSeconds_set(self, *args)

    def getValue(self):
        return _conf.OptionChildSeconds_getValue(self)

    def getDefaultValue(self):
        return _conf.OptionChildSeconds_getDefaultValue(self)

    def getValueString(self):
        return _conf.OptionChildSeconds_getValueString(self)

    def empty(self):
        return _conf.OptionChildSeconds_empty(self)
    __swig_destroy__ = _conf.delete_OptionChildSeconds
    __del__ = lambda self: None
OptionChildSeconds_swigregister = _conf.OptionChildSeconds_swigregister
OptionChildSeconds_swigregister(OptionChildSeconds)

class VectorString(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, VectorString, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, VectorString, name)
    __repr__ = _swig_repr

    def iterator(self):
        return _conf.VectorString_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _conf.VectorString___nonzero__(self)

    def __bool__(self):
        return _conf.VectorString___bool__(self)

    def __len__(self):
        return _conf.VectorString___len__(self)

    def __getslice__(self, i, j):
        return _conf.VectorString___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _conf.VectorString___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _conf.VectorString___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _conf.VectorString___delitem__(self, *args)

    def __getitem__(self, *args):
        return _conf.VectorString___getitem__(self, *args)

    def __setitem__(self, *args):
        return _conf.VectorString___setitem__(self, *args)

    def pop(self):
        return _conf.VectorString_pop(self)

    def append(self, x):
        return _conf.VectorString_append(self, x)

    def empty(self):
        return _conf.VectorString_empty(self)

    def size(self):
        return _conf.VectorString_size(self)

    def swap(self, v):
        return _conf.VectorString_swap(self, v)

    def begin(self):
        return _conf.VectorString_begin(self)

    def end(self):
        return _conf.VectorString_end(self)

    def rbegin(self):
        return _conf.VectorString_rbegin(self)

    def rend(self):
        return _conf.VectorString_rend(self)

    def clear(self):
        return _conf.VectorString_clear(self)

    def get_allocator(self):
        return _conf.VectorString_get_allocator(self)

    def pop_back(self):
        return _conf.VectorString_pop_back(self)

    def erase(self, *args):
        return _conf.VectorString_erase(self, *args)

    def __init__(self, *args):
        this = _conf.new_VectorString(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def push_back(self, x):
        return _conf.VectorString_push_back(self, x)

    def front(self):
        return _conf.VectorString_front(self)

    def back(self):
        return _conf.VectorString_back(self)

    def assign(self, n, x):
        return _conf.VectorString_assign(self, n, x)

    def resize(self, *args):
        return _conf.VectorString_resize(self, *args)

    def insert(self, *args):
        return _conf.VectorString_insert(self, *args)

    def reserve(self, n):
        return _conf.VectorString_reserve(self, n)

    def capacity(self):
        return _conf.VectorString_capacity(self)
    __swig_destroy__ = _conf.delete_VectorString
    __del__ = lambda self: None
VectorString_swigregister = _conf.VectorString_swigregister
VectorString_swigregister(VectorString)



def VectorString__str__(self):
    return str(list(self))
VectorString.__str__ = VectorString__str__

def VectorString__eq__(self, other):
    return list(self) == list(other)
VectorString.__eq__ = VectorString__eq__

def VectorString__ne__(self, other):
    return list(self) != list(other)
VectorString.__ne__ = VectorString__ne__

def VectorString__lt__(self, other):
    return list(self) < list(other)
VectorString.__lt__ = VectorString__lt__

def VectorString__le__(self, other):
    return list(self) <= list(other)
VectorString.__le__ = VectorString__le__

def VectorString__gt__(self, other):
    return list(self) > list(other)
VectorString.__gt__ = VectorString__gt__

def VectorString__ge__(self, other):
    return list(self) >= list(other)
VectorString.__ge__ = VectorString__ge__

def VectorString__iadd__(self, value):
    self.extend(value)
    return self
VectorString.__iadd__ = VectorString__iadd__

def VectorString__imul__(self, value):
    data = list(self)
    data *= value
    self.clear()
    self.extend(data)
    return self
VectorString.__imul__ = VectorString__imul__

def VectorString__mul__(self, value):
    result = self.copy()
    result *= value
    return result
VectorString.__mul__ = VectorString__mul__

def VectorString__rmul__(self, value):
    return self * value
VectorString.__rmul__ = VectorString__rmul__

def VectorString__add__(self, value):
    result = self.copy()
    result.extend(value)
    return result
VectorString.__add__ = VectorString__add__

def VectorString__append(self, item):
    self.push_back(item)
VectorString.append = VectorString__append

def VectorString__copy(self):
    return VectorString(list(self))
VectorString.copy = VectorString__copy

def VectorString__count(self, item):
    return list(self).count(item)
VectorString.count = VectorString__count

def VectorString__extend(self, iterable):
    for i in iterable:
        self.push_back(i)
VectorString.extend = VectorString__extend

def VectorString__index(self, *args, **kwargs):
    data = list(self)
    return data.index(*args, **kwargs)
VectorString.index = VectorString__index

def VectorString__insert(self, *args, **kwargs):
    data = list(self)
    data.insert(*args, **kwargs)
    self.clear()
    self.extend(data)
VectorString.insert = VectorString__insert

def VectorString__remove(self, *args, **kwargs):
    data = list(self)
    data.remove(*args, **kwargs)
    self.clear()
    self.extend(data)
VectorString.remove = VectorString__remove

def VectorString__sort(self, *args, **kwargs):
    data = list(self)
    data.sort()
    self.clear()
    self.extend(data)
VectorString.sort = VectorString__sort

def VectorString__reverse(self, *args, **kwargs):
    data = list(self)
    data.reverse()
    self.clear()
    self.extend(data)
VectorString.reverse = VectorString__reverse

class OptionBinds(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionBinds, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, OptionBinds, name)
    __repr__ = _swig_repr

    def add(self, id, option):
        return _conf.OptionBinds_add(self, id, option)

    def at(self, *args):
        return _conf.OptionBinds_at(self, *args)

    def empty(self):
        return _conf.OptionBinds_empty(self)

    def size(self):
        return _conf.OptionBinds_size(self)

    def __getitem__(self, id):
        return _conf.OptionBinds___getitem__(self, id)

    def __len__(self):
        return _conf.OptionBinds___len__(self)

    def __iter__(self):
        return _conf.OptionBinds___iter__(self)

    def __init__(self):
        this = _conf.new_OptionBinds()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _conf.delete_OptionBinds
    __del__ = lambda self: None
OptionBinds_swigregister = _conf.OptionBinds_swigregister
OptionBinds_swigregister(OptionBinds)

class OptionBinds_Item(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionBinds_Item, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, OptionBinds_Item, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def getPriority(self):
        return _conf.OptionBinds_Item_getPriority(self)

    def newString(self, priority, value):
        return _conf.OptionBinds_Item_newString(self, priority, value)

    def getValueString(self):
        return _conf.OptionBinds_Item_getValueString(self)

    def getAddValue(self):
        return _conf.OptionBinds_Item_getAddValue(self)
    __swig_destroy__ = _conf.delete_OptionBinds_Item
    __del__ = lambda self: None
OptionBinds_Item_swigregister = _conf.OptionBinds_Item_swigregister
OptionBinds_Item_swigregister(OptionBinds_Item)

class Config(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Config, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Config, name)
    __repr__ = _swig_repr

    def optBinds(self):
        return _conf.Config_optBinds(self)

    def __init__(self):
        this = _conf.new_Config()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _conf.delete_Config
    __del__ = lambda self: None
Config_swigregister = _conf.Config_swigregister
Config_swigregister(Config)

class ConfigMain(Config):
    __swig_setmethods__ = {}
    for _s in [Config]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ConfigMain, name, value)
    __swig_getmethods__ = {}
    for _s in [Config]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ConfigMain, name)
    __repr__ = _swig_repr

    def __init__(self):
        this = _conf.new_ConfigMain()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _conf.delete_ConfigMain
    __del__ = lambda self: None

    def debuglevel(self):
        return _conf.ConfigMain_debuglevel(self)

    def errorlevel(self):
        return _conf.ConfigMain_errorlevel(self)

    def installroot(self):
        return _conf.ConfigMain_installroot(self)

    def config_file_path(self):
        return _conf.ConfigMain_config_file_path(self)

    def plugins(self):
        return _conf.ConfigMain_plugins(self)

    def pluginpath(self):
        return _conf.ConfigMain_pluginpath(self)

    def pluginconfpath(self):
        return _conf.ConfigMain_pluginconfpath(self)

    def persistdir(self):
        return _conf.ConfigMain_persistdir(self)

    def transformdb(self):
        return _conf.ConfigMain_transformdb(self)

    def recent(self):
        return _conf.ConfigMain_recent(self)

    def reset_nice(self):
        return _conf.ConfigMain_reset_nice(self)

    def system_cachedir(self):
        return _conf.ConfigMain_system_cachedir(self)

    def cacheonly(self):
        return _conf.ConfigMain_cacheonly(self)

    def keepcache(self):
        return _conf.ConfigMain_keepcache(self)

    def logdir(self):
        return _conf.ConfigMain_logdir(self)

    def varsdir(self):
        return _conf.ConfigMain_varsdir(self)

    def reposdir(self):
        return _conf.ConfigMain_reposdir(self)

    def debug_solver(self):
        return _conf.ConfigMain_debug_solver(self)

    def installonlypkgs(self):
        return _conf.ConfigMain_installonlypkgs(self)

    def group_package_types(self):
        return _conf.ConfigMain_group_package_types(self)

    def installonly_limit(self):
        return _conf.ConfigMain_installonly_limit(self)

    def tsflags(self):
        return _conf.ConfigMain_tsflags(self)

    def assumeyes(self):
        return _conf.ConfigMain_assumeyes(self)

    def assumeno(self):
        return _conf.ConfigMain_assumeno(self)

    def check_config_file_age(self):
        return _conf.ConfigMain_check_config_file_age(self)

    def defaultyes(self):
        return _conf.ConfigMain_defaultyes(self)

    def diskspacecheck(self):
        return _conf.ConfigMain_diskspacecheck(self)

    def localpkg_gpgcheck(self):
        return _conf.ConfigMain_localpkg_gpgcheck(self)

    def gpgkey_dns_verification(self):
        return _conf.ConfigMain_gpgkey_dns_verification(self)

    def obsoletes(self):
        return _conf.ConfigMain_obsoletes(self)

    def showdupesfromrepos(self):
        return _conf.ConfigMain_showdupesfromrepos(self)

    def exit_on_lock(self):
        return _conf.ConfigMain_exit_on_lock(self)

    def metadata_timer_sync(self):
        return _conf.ConfigMain_metadata_timer_sync(self)

    def disable_excludes(self):
        return _conf.ConfigMain_disable_excludes(self)

    def multilib_policy(self):
        return _conf.ConfigMain_multilib_policy(self)

    def best(self):
        return _conf.ConfigMain_best(self)

    def install_weak_deps(self):
        return _conf.ConfigMain_install_weak_deps(self)

    def bugtracker_url(self):
        return _conf.ConfigMain_bugtracker_url(self)

    def zchunk(self):
        return _conf.ConfigMain_zchunk(self)

    def color(self):
        return _conf.ConfigMain_color(self)

    def color_list_installed_older(self):
        return _conf.ConfigMain_color_list_installed_older(self)

    def color_list_installed_newer(self):
        return _conf.ConfigMain_color_list_installed_newer(self)

    def color_list_installed_reinstall(self):
        return _conf.ConfigMain_color_list_installed_reinstall(self)

    def color_list_installed_extra(self):
        return _conf.ConfigMain_color_list_installed_extra(self)

    def color_list_available_upgrade(self):
        return _conf.ConfigMain_color_list_available_upgrade(self)

    def color_list_available_downgrade(self):
        return _conf.ConfigMain_color_list_available_downgrade(self)

    def color_list_available_reinstall(self):
        return _conf.ConfigMain_color_list_available_reinstall(self)

    def color_list_available_install(self):
        return _conf.ConfigMain_color_list_available_install(self)

    def color_update_installed(self):
        return _conf.ConfigMain_color_update_installed(self)

    def color_update_local(self):
        return _conf.ConfigMain_color_update_local(self)

    def color_update_remote(self):
        return _conf.ConfigMain_color_update_remote(self)

    def color_search_match(self):
        return _conf.ConfigMain_color_search_match(self)

    def history_record(self):
        return _conf.ConfigMain_history_record(self)

    def history_record_packages(self):
        return _conf.ConfigMain_history_record_packages(self)

    def rpmverbosity(self):
        return _conf.ConfigMain_rpmverbosity(self)

    def strict(self):
        return _conf.ConfigMain_strict(self)

    def skip_broken(self):
        return _conf.ConfigMain_skip_broken(self)

    def autocheck_running_kernel(self):
        return _conf.ConfigMain_autocheck_running_kernel(self)

    def clean_requirements_on_remove(self):
        return _conf.ConfigMain_clean_requirements_on_remove(self)

    def history_list_view(self):
        return _conf.ConfigMain_history_list_view(self)

    def upgrade_group_objects_upgrade(self):
        return _conf.ConfigMain_upgrade_group_objects_upgrade(self)

    def destdir(self):
        return _conf.ConfigMain_destdir(self)

    def comment(self):
        return _conf.ConfigMain_comment(self)

    def downloadonly(self):
        return _conf.ConfigMain_downloadonly(self)

    def ignorearch(self):
        return _conf.ConfigMain_ignorearch(self)

    def module_platform_id(self):
        return _conf.ConfigMain_module_platform_id(self)

    def retries(self):
        return _conf.ConfigMain_retries(self)

    def cachedir(self):
        return _conf.ConfigMain_cachedir(self)

    def fastestmirror(self):
        return _conf.ConfigMain_fastestmirror(self)

    def excludepkgs(self):
        return _conf.ConfigMain_excludepkgs(self)

    def includepkgs(self):
        return _conf.ConfigMain_includepkgs(self)

    def proxy(self):
        return _conf.ConfigMain_proxy(self)

    def proxy_username(self):
        return _conf.ConfigMain_proxy_username(self)

    def proxy_password(self):
        return _conf.ConfigMain_proxy_password(self)

    def proxy_auth_method(self):
        return _conf.ConfigMain_proxy_auth_method(self)

    def protected_packages(self):
        return _conf.ConfigMain_protected_packages(self)

    def username(self):
        return _conf.ConfigMain_username(self)

    def password(self):
        return _conf.ConfigMain_password(self)

    def gpgcheck(self):
        return _conf.ConfigMain_gpgcheck(self)

    def repo_gpgcheck(self):
        return _conf.ConfigMain_repo_gpgcheck(self)

    def enabled(self):
        return _conf.ConfigMain_enabled(self)

    def enablegroups(self):
        return _conf.ConfigMain_enablegroups(self)

    def bandwidth(self):
        return _conf.ConfigMain_bandwidth(self)

    def minrate(self):
        return _conf.ConfigMain_minrate(self)

    def ip_resolve(self):
        return _conf.ConfigMain_ip_resolve(self)

    def throttle(self):
        return _conf.ConfigMain_throttle(self)

    def timeout(self):
        return _conf.ConfigMain_timeout(self)

    def max_parallel_downloads(self):
        return _conf.ConfigMain_max_parallel_downloads(self)

    def metadata_expire(self):
        return _conf.ConfigMain_metadata_expire(self)

    def sslcacert(self):
        return _conf.ConfigMain_sslcacert(self)

    def sslverify(self):
        return _conf.ConfigMain_sslverify(self)

    def sslclientcert(self):
        return _conf.ConfigMain_sslclientcert(self)

    def sslclientkey(self):
        return _conf.ConfigMain_sslclientkey(self)

    def deltarpm(self):
        return _conf.ConfigMain_deltarpm(self)

    def deltarpm_percentage(self):
        return _conf.ConfigMain_deltarpm_percentage(self)
ConfigMain_swigregister = _conf.ConfigMain_swigregister
ConfigMain_swigregister(ConfigMain)

class ConfigRepo(Config):
    __swig_setmethods__ = {}
    for _s in [Config]:
        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
    __setattr__ = lambda self, name, value: _swig_setattr(self, ConfigRepo, name, value)
    __swig_getmethods__ = {}
    for _s in [Config]:
        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    __getattr__ = lambda self, name: _swig_getattr(self, ConfigRepo, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _conf.delete_ConfigRepo
    __del__ = lambda self: None

    def __init__(self, *args):
        this = _conf.new_ConfigRepo(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def getMasterConfig(self):
        return _conf.ConfigRepo_getMasterConfig(self)

    def name(self):
        return _conf.ConfigRepo_name(self)

    def enabled(self):
        return _conf.ConfigRepo_enabled(self)

    def basecachedir(self):
        return _conf.ConfigRepo_basecachedir(self)

    def baseurl(self):
        return _conf.ConfigRepo_baseurl(self)

    def mirrorlist(self):
        return _conf.ConfigRepo_mirrorlist(self)

    def metalink(self):
        return _conf.ConfigRepo_metalink(self)

    def type(self):
        return _conf.ConfigRepo_type(self)

    def mediaid(self):
        return _conf.ConfigRepo_mediaid(self)

    def gpgkey(self):
        return _conf.ConfigRepo_gpgkey(self)

    def excludepkgs(self):
        return _conf.ConfigRepo_excludepkgs(self)

    def includepkgs(self):
        return _conf.ConfigRepo_includepkgs(self)

    def fastestmirror(self):
        return _conf.ConfigRepo_fastestmirror(self)

    def proxy(self):
        return _conf.ConfigRepo_proxy(self)

    def proxy_username(self):
        return _conf.ConfigRepo_proxy_username(self)

    def proxy_password(self):
        return _conf.ConfigRepo_proxy_password(self)

    def proxy_auth_method(self):
        return _conf.ConfigRepo_proxy_auth_method(self)

    def username(self):
        return _conf.ConfigRepo_username(self)

    def password(self):
        return _conf.ConfigRepo_password(self)

    def protected_packages(self):
        return _conf.ConfigRepo_protected_packages(self)

    def gpgcheck(self):
        return _conf.ConfigRepo_gpgcheck(self)

    def repo_gpgcheck(self):
        return _conf.ConfigRepo_repo_gpgcheck(self)

    def enablegroups(self):
        return _conf.ConfigRepo_enablegroups(self)

    def retries(self):
        return _conf.ConfigRepo_retries(self)

    def bandwidth(self):
        return _conf.ConfigRepo_bandwidth(self)

    def minrate(self):
        return _conf.ConfigRepo_minrate(self)

    def ip_resolve(self):
        return _conf.ConfigRepo_ip_resolve(self)

    def throttle(self):
        return _conf.ConfigRepo_throttle(self)

    def timeout(self):
        return _conf.ConfigRepo_timeout(self)

    def max_parallel_downloads(self):
        return _conf.ConfigRepo_max_parallel_downloads(self)

    def metadata_expire(self):
        return _conf.ConfigRepo_metadata_expire(self)

    def cost(self):
        return _conf.ConfigRepo_cost(self)

    def priority(self):
        return _conf.ConfigRepo_priority(self)

    def module_hotfixes(self):
        return _conf.ConfigRepo_module_hotfixes(self)

    def sslcacert(self):
        return _conf.ConfigRepo_sslcacert(self)

    def sslverify(self):
        return _conf.ConfigRepo_sslverify(self)

    def sslclientcert(self):
        return _conf.ConfigRepo_sslclientcert(self)

    def sslclientkey(self):
        return _conf.ConfigRepo_sslclientkey(self)

    def deltarpm(self):
        return _conf.ConfigRepo_deltarpm(self)

    def deltarpm_percentage(self):
        return _conf.ConfigRepo_deltarpm_percentage(self)

    def skip_if_unavailable(self):
        return _conf.ConfigRepo_skip_if_unavailable(self)

    def enabled_metadata(self):
        return _conf.ConfigRepo_enabled_metadata(self)

    def failovermethod(self):
        return _conf.ConfigRepo_failovermethod(self)
ConfigRepo_swigregister = _conf.ConfigRepo_swigregister
ConfigRepo_swigregister(ConfigRepo)

class OptionBindsIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, OptionBindsIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, OptionBindsIterator, name)
    __repr__ = _swig_repr

    def __init__(self, _cur, _end):
        this = _conf.new_OptionBindsIterator(_cur, _end)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __iter__(self):
        return _conf.OptionBindsIterator___iter__(self)
    __swig_setmethods__["cur"] = _conf.OptionBindsIterator_cur_set
    __swig_getmethods__["cur"] = _conf.OptionBindsIterator_cur_get
    if _newclass:
        cur = _swig_property(_conf.OptionBindsIterator_cur_get, _conf.OptionBindsIterator_cur_set)
    __swig_setmethods__["end"] = _conf.OptionBindsIterator_end_set
    __swig_getmethods__["end"] = _conf.OptionBindsIterator_end_get
    if _newclass:
        end = _swig_property(_conf.OptionBindsIterator_end_get, _conf.OptionBindsIterator_end_set)

    def __next__(self):
        return _conf.OptionBindsIterator___next__(self)

    def next(self):
        return _conf.OptionBindsIterator_next(self)
    __swig_destroy__ = _conf.delete_OptionBindsIterator
    __del__ = lambda self: None
OptionBindsIterator_swigregister = _conf.OptionBindsIterator_swigregister
OptionBindsIterator_swigregister(OptionBindsIterator)

class ConfigParser(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ConfigParser, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ConfigParser, name)
    __repr__ = _swig_repr
    if _newclass:
        substitute = staticmethod(_conf.ConfigParser_substitute)
    else:
        substitute = _conf.ConfigParser_substitute

    def setSubstitutions(self, substitutions):
        return _conf.ConfigParser_setSubstitutions(self, substitutions)

    def getSubstitutions(self):
        return _conf.ConfigParser_getSubstitutions(self)

    def read(self, filePath):
        return _conf.ConfigParser_read(self, filePath)

    def write(self, *args):
        return _conf.ConfigParser_write(self, *args)

    def addSection(self, *args):
        return _conf.ConfigParser_addSection(self, *args)

    def hasSection(self, section):
        return _conf.ConfigParser_hasSection(self, section)

    def hasOption(self, section, key):
        return _conf.ConfigParser_hasOption(self, section, key)

    def setValue(self, *args):
        return _conf.ConfigParser_setValue(self, *args)

    def removeSection(self, section):
        return _conf.ConfigParser_removeSection(self, section)

    def removeOption(self, section, key):
        return _conf.ConfigParser_removeOption(self, section, key)

    def addCommentLine(self, section, comment):
        return _conf.ConfigParser_addCommentLine(self, section, comment)

    def getValue(self, section, key):
        return _conf.ConfigParser_getValue(self, section, key)

    def getSubstitutedValue(self, section, key):
        return _conf.ConfigParser_getSubstitutedValue(self, section, key)

    def getHeader(self, *args):
        return _conf.ConfigParser_getHeader(self, *args)

    def getData(self, *args):
        return _conf.ConfigParser_getData(self, *args)

    def readString(self, content):
        return _conf.ConfigParser_readString(self, content)

    def __init__(self):
        this = _conf.new_ConfigParser()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _conf.delete_ConfigParser
    __del__ = lambda self: None
ConfigParser_swigregister = _conf.ConfigParser_swigregister
ConfigParser_swigregister(ConfigParser)

def ConfigParser_substitute(text, substitutions):
    return _conf.ConfigParser_substitute(text, substitutions)
ConfigParser_substitute = _conf.ConfigParser_substitute

class PairStringOptionBindsItem(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, PairStringOptionBindsItem, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, PairStringOptionBindsItem, name)
    __repr__ = _swig_repr

    def __init__(self, *args):
        this = _conf.new_PairStringOptionBindsItem(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_setmethods__["first"] = _conf.PairStringOptionBindsItem_first_set
    __swig_getmethods__["first"] = _conf.PairStringOptionBindsItem_first_get
    if _newclass:
        first = _swig_property(_conf.PairStringOptionBindsItem_first_get, _conf.PairStringOptionBindsItem_first_set)
    __swig_setmethods__["second"] = _conf.PairStringOptionBindsItem_second_set
    __swig_getmethods__["second"] = _conf.PairStringOptionBindsItem_second_get
    if _newclass:
        second = _swig_property(_conf.PairStringOptionBindsItem_second_get, _conf.PairStringOptionBindsItem_second_set)
    def __len__(self):
        return 2
    def __repr__(self):
        return str((self.first, self.second))
    def __getitem__(self, index): 
        if not (index % 2):
            return self.first
        else:
            return self.second
    def __setitem__(self, index, val):
        if not (index % 2):
            self.first = val
        else:
            self.second = val
    __swig_destroy__ = _conf.delete_PairStringOptionBindsItem
    __del__ = lambda self: None
PairStringOptionBindsItem_swigregister = _conf.PairStringOptionBindsItem_swigregister
PairStringOptionBindsItem_swigregister(PairStringOptionBindsItem)


# Partial compatibility with Python ConfigParser
ConfigParser.readFileName = ConfigParser.read
def ConfigParser__newRead(self, filenames):
    parsedFNames = []
    try:
        if isinstance(filenames, str) or isinstance(filenames, unicode):
            filenames = [filenames]
    except NameError:
        pass
    for fname in filenames:
        try:
            self.readFileName(fname)
            parsedFNames.append(fname)
        except IOError:
            pass
        except Exception as e:
            raise RuntimeError("Parsing file '%s' failed: %s" % (fname, str(e)))
    return parsedFNames
ConfigParser.read = ConfigParser__newRead
del ConfigParser__newRead

def ConfigParser__read_string(self, string, source='<string>'):
    try:
        self.readString(string)
    except Exception as e:
        raise RuntimeError("Parsing source '%s' failed: %s" % (source, str(e)))
ConfigParser.read_string = ConfigParser__read_string
del ConfigParser__read_string

def ConfigParser__add_section(self, section):
    if not self.addSection(section):
        raise KeyError("Section '%s' already exists" % section)
ConfigParser.add_section = ConfigParser__add_section
del ConfigParser__add_section

ConfigParser.has_section = ConfigParser.hasSection
ConfigParser.has_option = ConfigParser.hasOption

def ConfigParser__get(self, section, option, raw=False):
    try:
        if raw:
            return self.getValue(section, option)
        else:
            return self.getSubstitutedValue(section, option)
    except IndexError as e:
        raise KeyError(str(e))

ConfigParser.get = ConfigParser__get
del ConfigParser__get

def ConfigParser__getint(self, section, option, raw=False):
    return int(self.get(section, option, raw=raw))
ConfigParser.getint = ConfigParser__getint
del ConfigParser__getint

def ConfigParser__getfloat(self, section, option, raw=False):
    return float(self.get(section, option, raw=raw))
ConfigParser.getfloat = ConfigParser__getfloat
del ConfigParser__getfloat

def ConfigParser__getboolean(self, section, option, raw=False):
    v = self.get(section, option, raw=raw)
    try:
        return OptionBool(False).fromString(v)
    except RuntimeError:
        raise ValueError('Not a boolean: %s' % v)
ConfigParser.getboolean = ConfigParser__getboolean
del ConfigParser__getboolean

def ConfigParser__items(self, section, raw=False):
    if not self.hasSection(section):
        raise KeyError("No section: '%s'" % section)
    sectObj = self.getData()[section]
    items = []
    for key in sectObj:
        if not key.startswith('#'):
            value = self.get(section, key, raw=raw)
            items.append((key, value))
    return items
ConfigParser.items = ConfigParser__items
del ConfigParser__items

def ConfigParser__set(self, section, option, value):
    if not self.hasSection(section):
        raise KeyError("No section: '%s'" % section)
    self.setValue(section, option, value)
ConfigParser.set = ConfigParser__set
del ConfigParser__set

ConfigParser.remove_section = ConfigParser.removeSection

def ConfigParser__remove_option(self, section, option):
    if not self.hasSection(section):
        raise KeyError("No section: '%s'" % section)
    return self.removeOption(section, option)
ConfigParser.remove_option = ConfigParser__remove_option
del ConfigParser__remove_option

def ConfigParser__options(self, section):
    if not self.hasSection(section):
        raise KeyError("No section: '%s'" % section)
    sectObj = self.getData()[section]
    return [item for item in sectObj if not item.startswith('#')]
ConfigParser.options = ConfigParser__options
del ConfigParser__options

def ConfigParser__sections(self):
    return list(self.getData())
ConfigParser.sections = ConfigParser__sections
del ConfigParser__sections

# Compatible name aliases
ConfigMain.exclude = ConfigMain.excludepkgs
ConfigRepo.exclude = ConfigRepo.excludepkgs

# This file is compatible with both classic and new-style classes.


