# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# 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):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _transaction
else:
    import _transaction

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args):
        return _transaction.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _transaction:
_transaction.SwigPyIterator_swigregister(SwigPyIterator)

SHARED_PTR_DISOWN = _transaction.SHARED_PTR_DISOWN
TransactionItemReason_UNKNOWN = _transaction.TransactionItemReason_UNKNOWN
TransactionItemReason_DEPENDENCY = _transaction.TransactionItemReason_DEPENDENCY
TransactionItemReason_USER = _transaction.TransactionItemReason_USER
TransactionItemReason_CLEAN = _transaction.TransactionItemReason_CLEAN
TransactionItemReason_WEAK_DEPENDENCY = _transaction.TransactionItemReason_WEAK_DEPENDENCY
TransactionItemReason_GROUP = _transaction.TransactionItemReason_GROUP

def TransactionItemReasonToString(reason):
    return _transaction.TransactionItemReasonToString(reason)

def StringToTransactionItemReason(str):
    return _transaction.StringToTransactionItemReason(str)

def __lt__(lhs, rhs):
    return _transaction.__lt__(lhs, rhs)

def __le__(lhs, rhs):
    return _transaction.__le__(lhs, rhs)

def __gt__(lhs, rhs):
    return _transaction.__gt__(lhs, rhs)

def __ge__(lhs, rhs):
    return _transaction.__ge__(lhs, rhs)

def TransactionItemReasonCompare(lhs, rhs):
    return _transaction.TransactionItemReasonCompare(lhs, rhs)
TransactionState_UNKNOWN = _transaction.TransactionState_UNKNOWN
TransactionState_DONE = _transaction.TransactionState_DONE
TransactionState_ERROR = _transaction.TransactionState_ERROR
TransactionItemState_UNKNOWN = _transaction.TransactionItemState_UNKNOWN
TransactionItemState_DONE = _transaction.TransactionItemState_DONE
TransactionItemState_ERROR = _transaction.TransactionItemState_ERROR
ItemType_UNKNOWN = _transaction.ItemType_UNKNOWN
ItemType_RPM = _transaction.ItemType_RPM
ItemType_GROUP = _transaction.ItemType_GROUP
ItemType_ENVIRONMENT = _transaction.ItemType_ENVIRONMENT
TransactionItemAction_INSTALL = _transaction.TransactionItemAction_INSTALL
TransactionItemAction_DOWNGRADE = _transaction.TransactionItemAction_DOWNGRADE
TransactionItemAction_DOWNGRADED = _transaction.TransactionItemAction_DOWNGRADED
TransactionItemAction_OBSOLETE = _transaction.TransactionItemAction_OBSOLETE
TransactionItemAction_OBSOLETED = _transaction.TransactionItemAction_OBSOLETED
TransactionItemAction_UPGRADE = _transaction.TransactionItemAction_UPGRADE
TransactionItemAction_UPGRADED = _transaction.TransactionItemAction_UPGRADED
TransactionItemAction_REMOVE = _transaction.TransactionItemAction_REMOVE
TransactionItemAction_REINSTALL = _transaction.TransactionItemAction_REINSTALL
TransactionItemAction_REINSTALLED = _transaction.TransactionItemAction_REINSTALLED
TransactionItemAction_REASON_CHANGE = _transaction.TransactionItemAction_REASON_CHANGE
TransactionPersistence_UNKNOWN = _transaction.TransactionPersistence_UNKNOWN
TransactionPersistence_PERSIST = _transaction.TransactionPersistence_PERSIST
TransactionPersistence_TRANSIENT = _transaction.TransactionPersistence_TRANSIENT
class TransactionStateVector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _transaction.TransactionStateVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _transaction.TransactionStateVector___nonzero__(self)

    def __bool__(self):
        return _transaction.TransactionStateVector___bool__(self)

    def __len__(self):
        return _transaction.TransactionStateVector___len__(self)

    def __getslice__(self, i, j):
        return _transaction.TransactionStateVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _transaction.TransactionStateVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _transaction.TransactionStateVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _transaction.TransactionStateVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _transaction.TransactionStateVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _transaction.TransactionStateVector___setitem__(self, *args)

    def pop(self):
        return _transaction.TransactionStateVector_pop(self)

    def append(self, x):
        return _transaction.TransactionStateVector_append(self, x)

    def empty(self):
        return _transaction.TransactionStateVector_empty(self)

    def size(self):
        return _transaction.TransactionStateVector_size(self)

    def swap(self, v):
        return _transaction.TransactionStateVector_swap(self, v)

    def begin(self):
        return _transaction.TransactionStateVector_begin(self)

    def end(self):
        return _transaction.TransactionStateVector_end(self)

    def rbegin(self):
        return _transaction.TransactionStateVector_rbegin(self)

    def rend(self):
        return _transaction.TransactionStateVector_rend(self)

    def clear(self):
        return _transaction.TransactionStateVector_clear(self)

    def get_allocator(self):
        return _transaction.TransactionStateVector_get_allocator(self)

    def pop_back(self):
        return _transaction.TransactionStateVector_pop_back(self)

    def erase(self, *args):
        return _transaction.TransactionStateVector_erase(self, *args)

    def __init__(self, *args):
        _transaction.TransactionStateVector_swiginit(self, _transaction.new_TransactionStateVector(*args))

    def push_back(self, x):
        return _transaction.TransactionStateVector_push_back(self, x)

    def front(self):
        return _transaction.TransactionStateVector_front(self)

    def back(self):
        return _transaction.TransactionStateVector_back(self)

    def assign(self, n, x):
        return _transaction.TransactionStateVector_assign(self, n, x)

    def resize(self, *args):
        return _transaction.TransactionStateVector_resize(self, *args)

    def insert(self, *args):
        return _transaction.TransactionStateVector_insert(self, *args)

    def reserve(self, n):
        return _transaction.TransactionStateVector_reserve(self, n)

    def capacity(self):
        return _transaction.TransactionStateVector_capacity(self)
    __swig_destroy__ = _transaction.delete_TransactionStateVector

# Register TransactionStateVector in _transaction:
_transaction.TransactionStateVector_swigregister(TransactionStateVector)

class Item(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, conn):
        _transaction.Item_swiginit(self, _transaction.new_Item(conn))
    __swig_destroy__ = _transaction.delete_Item

    def getId(self):
        return _transaction.Item_getId(self)

    def setId(self, value):
        return _transaction.Item_setId(self, value)

    def getItemType(self):
        return _transaction.Item_getItemType(self)

    def toStr(self):
        return _transaction.Item_toStr(self)

    def save(self):
        return _transaction.Item_save(self)

# Register Item in _transaction:
_transaction.Item_swigregister(Item)

class CompsEnvironmentItem(Item):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _transaction.CompsEnvironmentItem_swiginit(self, _transaction.new_CompsEnvironmentItem(*args))
    __swig_destroy__ = _transaction.delete_CompsEnvironmentItem

    def getEnvironmentId(self):
        return _transaction.CompsEnvironmentItem_getEnvironmentId(self)

    def setEnvironmentId(self, value):
        return _transaction.CompsEnvironmentItem_setEnvironmentId(self, value)

    def getName(self):
        return _transaction.CompsEnvironmentItem_getName(self)

    def setName(self, value):
        return _transaction.CompsEnvironmentItem_setName(self, value)

    def getTranslatedName(self):
        return _transaction.CompsEnvironmentItem_getTranslatedName(self)

    def setTranslatedName(self, value):
        return _transaction.CompsEnvironmentItem_setTranslatedName(self, value)

    def getPackageTypes(self):
        return _transaction.CompsEnvironmentItem_getPackageTypes(self)

    def setPackageTypes(self, value):
        return _transaction.CompsEnvironmentItem_setPackageTypes(self, value)

    def toStr(self):
        return _transaction.CompsEnvironmentItem_toStr(self)

    def getItemType(self):
        return _transaction.CompsEnvironmentItem_getItemType(self)

    def save(self):
        return _transaction.CompsEnvironmentItem_save(self)

    def addGroup(self, groupId, installed, groupType):
        return _transaction.CompsEnvironmentItem_addGroup(self, groupId, installed, groupType)

    def getGroups(self):
        return _transaction.CompsEnvironmentItem_getGroups(self)

    @staticmethod
    def getTransactionItem(conn, envid):
        return _transaction.CompsEnvironmentItem_getTransactionItem(conn, envid)

    @staticmethod
    def getTransactionItemsByPattern(conn, pattern):
        return _transaction.CompsEnvironmentItem_getTransactionItemsByPattern(conn, pattern)

    @staticmethod
    def getTransactionItems(conn, transactionId):
        return _transaction.CompsEnvironmentItem_getTransactionItems(conn, transactionId)

# Register CompsEnvironmentItem in _transaction:
_transaction.CompsEnvironmentItem_swigregister(CompsEnvironmentItem)

def CompsEnvironmentItem_getTransactionItem(conn, envid):
    return _transaction.CompsEnvironmentItem_getTransactionItem(conn, envid)

def CompsEnvironmentItem_getTransactionItemsByPattern(conn, pattern):
    return _transaction.CompsEnvironmentItem_getTransactionItemsByPattern(conn, pattern)

def CompsEnvironmentItem_getTransactionItems(conn, transactionId):
    return _transaction.CompsEnvironmentItem_getTransactionItems(conn, transactionId)

class CompsEnvironmentGroup(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, environment):
        _transaction.CompsEnvironmentGroup_swiginit(self, _transaction.new_CompsEnvironmentGroup(environment))

    def getId(self):
        return _transaction.CompsEnvironmentGroup_getId(self)

    def setId(self, value):
        return _transaction.CompsEnvironmentGroup_setId(self, value)

    def getEnvironment(self):
        return _transaction.CompsEnvironmentGroup_getEnvironment(self)

    def getGroupId(self):
        return _transaction.CompsEnvironmentGroup_getGroupId(self)

    def setGroupId(self, value):
        return _transaction.CompsEnvironmentGroup_setGroupId(self, value)

    def getInstalled(self):
        return _transaction.CompsEnvironmentGroup_getInstalled(self)

    def setInstalled(self, value):
        return _transaction.CompsEnvironmentGroup_setInstalled(self, value)

    def getGroupType(self):
        return _transaction.CompsEnvironmentGroup_getGroupType(self)

    def setGroupType(self, value):
        return _transaction.CompsEnvironmentGroup_setGroupType(self, value)

    def save(self):
        return _transaction.CompsEnvironmentGroup_save(self)
    __swig_destroy__ = _transaction.delete_CompsEnvironmentGroup

# Register CompsEnvironmentGroup in _transaction:
_transaction.CompsEnvironmentGroup_swigregister(CompsEnvironmentGroup)

CompsPackageType_CONDITIONAL = _transaction.CompsPackageType_CONDITIONAL
CompsPackageType_DEFAULT = _transaction.CompsPackageType_DEFAULT
CompsPackageType_MANDATORY = _transaction.CompsPackageType_MANDATORY
CompsPackageType_OPTIONAL = _transaction.CompsPackageType_OPTIONAL

def listToCompsPackageType(types):
    return _transaction.listToCompsPackageType(types)

def stringToCompsPackageType(str):
    return _transaction.stringToCompsPackageType(str)

def compsPackageTypeToString(type):
    return _transaction.compsPackageTypeToString(type)

def __or__(a, b):
    return _transaction.__or__(a, b)

def __and__(a, b):
    return _transaction.__and__(a, b)

def __ior__(a, b):
    return _transaction.__ior__(a, b)

def __iand__(a, b):
    return _transaction.__iand__(a, b)
class InvalidCompsPackageTypeError(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, what):
        _transaction.InvalidCompsPackageTypeError_swiginit(self, _transaction.new_InvalidCompsPackageTypeError(what))
    __swig_destroy__ = _transaction.delete_InvalidCompsPackageTypeError

# Register InvalidCompsPackageTypeError in _transaction:
_transaction.InvalidCompsPackageTypeError_swigregister(InvalidCompsPackageTypeError)

class CompsGroupItem(Item):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _transaction.CompsGroupItem_swiginit(self, _transaction.new_CompsGroupItem(*args))
    __swig_destroy__ = _transaction.delete_CompsGroupItem

    def getGroupId(self):
        return _transaction.CompsGroupItem_getGroupId(self)

    def setGroupId(self, value):
        return _transaction.CompsGroupItem_setGroupId(self, value)

    def getName(self):
        return _transaction.CompsGroupItem_getName(self)

    def setName(self, value):
        return _transaction.CompsGroupItem_setName(self, value)

    def getTranslatedName(self):
        return _transaction.CompsGroupItem_getTranslatedName(self)

    def setTranslatedName(self, value):
        return _transaction.CompsGroupItem_setTranslatedName(self, value)

    def getPackageTypes(self):
        return _transaction.CompsGroupItem_getPackageTypes(self)

    def setPackageTypes(self, value):
        return _transaction.CompsGroupItem_setPackageTypes(self, value)

    def toStr(self):
        return _transaction.CompsGroupItem_toStr(self)

    def getItemType(self):
        return _transaction.CompsGroupItem_getItemType(self)

    def save(self):
        return _transaction.CompsGroupItem_save(self)

    def addPackage(self, name, installed, pkgType):
        return _transaction.CompsGroupItem_addPackage(self, name, installed, pkgType)

    def getPackages(self):
        return _transaction.CompsGroupItem_getPackages(self)

    @staticmethod
    def getTransactionItem(conn, groupid):
        return _transaction.CompsGroupItem_getTransactionItem(conn, groupid)

    @staticmethod
    def getTransactionItemsByPattern(conn, pattern):
        return _transaction.CompsGroupItem_getTransactionItemsByPattern(conn, pattern)

    @staticmethod
    def getTransactionItems(conn, transactionId):
        return _transaction.CompsGroupItem_getTransactionItems(conn, transactionId)

# Register CompsGroupItem in _transaction:
_transaction.CompsGroupItem_swigregister(CompsGroupItem)

def CompsGroupItem_getTransactionItem(conn, groupid):
    return _transaction.CompsGroupItem_getTransactionItem(conn, groupid)

def CompsGroupItem_getTransactionItemsByPattern(conn, pattern):
    return _transaction.CompsGroupItem_getTransactionItemsByPattern(conn, pattern)

def CompsGroupItem_getTransactionItems(conn, transactionId):
    return _transaction.CompsGroupItem_getTransactionItems(conn, transactionId)

class CompsGroupPackage(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, group):
        _transaction.CompsGroupPackage_swiginit(self, _transaction.new_CompsGroupPackage(group))

    def getId(self):
        return _transaction.CompsGroupPackage_getId(self)

    def setId(self, value):
        return _transaction.CompsGroupPackage_setId(self, value)

    def getGroup(self):
        return _transaction.CompsGroupPackage_getGroup(self)

    def getName(self):
        return _transaction.CompsGroupPackage_getName(self)

    def setName(self, value):
        return _transaction.CompsGroupPackage_setName(self, value)

    def getInstalled(self):
        return _transaction.CompsGroupPackage_getInstalled(self)

    def setInstalled(self, value):
        return _transaction.CompsGroupPackage_setInstalled(self, value)

    def getPackageType(self):
        return _transaction.CompsGroupPackage_getPackageType(self)

    def setPackageType(self, value):
        return _transaction.CompsGroupPackage_setPackageType(self, value)

    def save(self):
        return _transaction.CompsGroupPackage_save(self)
    __swig_destroy__ = _transaction.delete_CompsGroupPackage

# Register CompsGroupPackage in _transaction:
_transaction.CompsGroupPackage_swigregister(CompsGroupPackage)

class RPMItem(Item):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _transaction.RPMItem_swiginit(self, _transaction.new_RPMItem(*args))
    __swig_destroy__ = _transaction.delete_RPMItem

    def getName(self):
        return _transaction.RPMItem_getName(self)

    def setName(self, value):
        return _transaction.RPMItem_setName(self, value)

    def getEpoch(self):
        return _transaction.RPMItem_getEpoch(self)

    def setEpoch(self, value):
        return _transaction.RPMItem_setEpoch(self, value)

    def getVersion(self):
        return _transaction.RPMItem_getVersion(self)

    def setVersion(self, value):
        return _transaction.RPMItem_setVersion(self, value)

    def getRelease(self):
        return _transaction.RPMItem_getRelease(self)

    def setRelease(self, value):
        return _transaction.RPMItem_setRelease(self, value)

    def getArch(self):
        return _transaction.RPMItem_getArch(self)

    def setArch(self, value):
        return _transaction.RPMItem_setArch(self, value)

    def getNEVRA(self):
        return _transaction.RPMItem_getNEVRA(self)

    def toStr(self):
        return _transaction.RPMItem_toStr(self)

    def getItemType(self):
        return _transaction.RPMItem_getItemType(self)

    def save(self):
        return _transaction.RPMItem_save(self)

    @staticmethod
    def getTransactionItem(conn, nevra):
        return _transaction.RPMItem_getTransactionItem(conn, nevra)

    @staticmethod
    def searchTransactions(conn, patterns):
        return _transaction.RPMItem_searchTransactions(conn, patterns)

    @staticmethod
    def getTransactionItems(conn, transaction_id):
        return _transaction.RPMItem_getTransactionItems(conn, transaction_id)

    @staticmethod
    def resolveTransactionItemReason(conn, name, arch, maxTransactionId):
        return _transaction.RPMItem_resolveTransactionItemReason(conn, name, arch, maxTransactionId)

    def __lt__(self, other):
        return _transaction.RPMItem___lt__(self, other)

# Register RPMItem in _transaction:
_transaction.RPMItem_swigregister(RPMItem)

def RPMItem_getTransactionItem(conn, nevra):
    return _transaction.RPMItem_getTransactionItem(conn, nevra)

def RPMItem_searchTransactions(conn, patterns):
    return _transaction.RPMItem_searchTransactions(conn, patterns)

def RPMItem_getTransactionItems(conn, transaction_id):
    return _transaction.RPMItem_getTransactionItems(conn, transaction_id)

def RPMItem_resolveTransactionItemReason(conn, name, arch, maxTransactionId):
    return _transaction.RPMItem_resolveTransactionItemReason(conn, name, arch, maxTransactionId)

class Swdb(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _transaction.Swdb_swiginit(self, _transaction.new_Swdb(*args))
    __swig_destroy__ = _transaction.delete_Swdb

    def getConn(self):
        return _transaction.Swdb_getConn(self)
    defaultPath = _transaction.Swdb_defaultPath
    defaultDatabaseName = _transaction.Swdb_defaultDatabaseName

    def getPath(self):
        return _transaction.Swdb_getPath(self)

    def resetDatabase(self):
        return _transaction.Swdb_resetDatabase(self)

    def closeDatabase(self):
        return _transaction.Swdb_closeDatabase(self)

    def initTransaction(self):
        return _transaction.Swdb_initTransaction(self)

    def beginTransaction(self, *args):
        return _transaction.Swdb_beginTransaction(self, *args)

    def endTransaction(self, dtEnd, rpmdbVersionEnd, state):
        return _transaction.Swdb_endTransaction(self, dtEnd, rpmdbVersionEnd, state)

    def closeTransaction(self):
        return _transaction.Swdb_closeTransaction(self)

    def getItems(self):
        return _transaction.Swdb_getItems(self)

    def getLastTransaction(self):
        return _transaction.Swdb_getLastTransaction(self)

    def listTransactions(self):
        return _transaction.Swdb_listTransactions(self)

    def getCurrent(self):
        return _transaction.Swdb_getCurrent(self)

    def addItem(self, item, repoid, action, reason):
        return _transaction.Swdb_addItem(self, item, repoid, action, reason)

    def setItemDone(self, nevra):
        return _transaction.Swdb_setItemDone(self, nevra)

    def createRPMItem(self):
        return _transaction.Swdb_createRPMItem(self)

    def createCompsGroupItem(self):
        return _transaction.Swdb_createCompsGroupItem(self)

    def createCompsEnvironmentItem(self):
        return _transaction.Swdb_createCompsEnvironmentItem(self)

    def resolveRPMTransactionItemReason(self, name, arch, maxTransactionId):
        return _transaction.Swdb_resolveRPMTransactionItemReason(self, name, arch, maxTransactionId)

    def getRPMRepo(self, nevra):
        return _transaction.Swdb_getRPMRepo(self, nevra)

    def getRPMTransactionItem(self, nevra):
        return _transaction.Swdb_getRPMTransactionItem(self, nevra)

    def searchTransactionsByRPM(self, patterns):
        return _transaction.Swdb_searchTransactionsByRPM(self, patterns)

    def getCompsGroupItem(self, groupid):
        return _transaction.Swdb_getCompsGroupItem(self, groupid)

    def getCompsGroupItemsByPattern(self, pattern):
        return _transaction.Swdb_getCompsGroupItemsByPattern(self, pattern)

    def getPackageCompsGroups(self, packageName):
        return _transaction.Swdb_getPackageCompsGroups(self, packageName)

    def getCompsEnvironmentItem(self, envid):
        return _transaction.Swdb_getCompsEnvironmentItem(self, envid)

    def getCompsEnvironmentItemsByPattern(self, pattern):
        return _transaction.Swdb_getCompsEnvironmentItemsByPattern(self, pattern)

    def getCompsGroupEnvironments(self, groupId):
        return _transaction.Swdb_getCompsGroupEnvironments(self, groupId)

    def setReleasever(self, value):
        return _transaction.Swdb_setReleasever(self, value)

    def setPersistence(self, value):
        return _transaction.Swdb_setPersistence(self, value)

    def addConsoleOutputLine(self, fileDescriptor, line):
        return _transaction.Swdb_addConsoleOutputLine(self, fileDescriptor, line)

    def filterUserinstalled(self, installed):
        return _transaction.Swdb_filterUserinstalled(self, installed)

# Register Swdb in _transaction:
_transaction.Swdb_swigregister(Swdb)

class Transaction(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, conn, pk):
        _transaction.Transaction_swiginit(self, _transaction.new_Transaction(conn, pk))
    __swig_destroy__ = _transaction.delete_Transaction

    def __eq__(self, other):
        return _transaction.Transaction___eq__(self, other)

    def __lt__(self, other):
        return _transaction.Transaction___lt__(self, other)

    def __gt__(self, other):
        return _transaction.Transaction___gt__(self, other)

    def getId(self):
        return _transaction.Transaction_getId(self)

    def getDtBegin(self):
        return _transaction.Transaction_getDtBegin(self)

    def getDtEnd(self):
        return _transaction.Transaction_getDtEnd(self)

    def getRpmdbVersionBegin(self):
        return _transaction.Transaction_getRpmdbVersionBegin(self)

    def getRpmdbVersionEnd(self):
        return _transaction.Transaction_getRpmdbVersionEnd(self)

    def getReleasever(self):
        return _transaction.Transaction_getReleasever(self)

    def getUserId(self):
        return _transaction.Transaction_getUserId(self)

    def getCmdline(self):
        return _transaction.Transaction_getCmdline(self)

    def getPersistence(self):
        return _transaction.Transaction_getPersistence(self)

    def getState(self):
        return _transaction.Transaction_getState(self)

    def getComment(self):
        return _transaction.Transaction_getComment(self)

    def getItems(self):
        return _transaction.Transaction_getItems(self)

    def getSoftwarePerformedWith(self):
        return _transaction.Transaction_getSoftwarePerformedWith(self)

    def getConsoleOutput(self):
        return _transaction.Transaction_getConsoleOutput(self)

# Register Transaction in _transaction:
_transaction.Transaction_swigregister(Transaction)

class TransactionItemBase(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    __swig_destroy__ = _transaction.delete_TransactionItemBase

    def getItem(self):
        return _transaction.TransactionItemBase_getItem(self)

    def setItem(self, value):
        return _transaction.TransactionItemBase_setItem(self, value)

    def getCompsEnvironmentItem(self):
        return _transaction.TransactionItemBase_getCompsEnvironmentItem(self)

    def getCompsGroupItem(self):
        return _transaction.TransactionItemBase_getCompsGroupItem(self)

    def getRPMItem(self):
        return _transaction.TransactionItemBase_getRPMItem(self)

    def getRepoid(self):
        return _transaction.TransactionItemBase_getRepoid(self)

    def setRepoid(self, value):
        return _transaction.TransactionItemBase_setRepoid(self, value)

    def getAction(self):
        return _transaction.TransactionItemBase_getAction(self)

    def setAction(self, value):
        return _transaction.TransactionItemBase_setAction(self, value)

    def getReason(self):
        return _transaction.TransactionItemBase_getReason(self)

    def setReason(self, value):
        return _transaction.TransactionItemBase_setReason(self, value)

    def getActionName(self):
        return _transaction.TransactionItemBase_getActionName(self)

    def getActionShort(self):
        return _transaction.TransactionItemBase_getActionShort(self)

    def getState(self):
        return _transaction.TransactionItemBase_getState(self)

    def setState(self, value):
        return _transaction.TransactionItemBase_setState(self, value)

    def isForwardAction(self):
        return _transaction.TransactionItemBase_isForwardAction(self)

    def isBackwardAction(self):
        return _transaction.TransactionItemBase_isBackwardAction(self)

    def __init__(self):
        _transaction.TransactionItemBase_swiginit(self, _transaction.new_TransactionItemBase())

# Register TransactionItemBase in _transaction:
_transaction.TransactionItemBase_swigregister(TransactionItemBase)

class TransactionItem(TransactionItemBase):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _transaction.TransactionItem_swiginit(self, _transaction.new_TransactionItem(*args))
    __swig_destroy__ = _transaction.delete_TransactionItem

    def getId(self):
        return _transaction.TransactionItem_getId(self)

    def setId(self, value):
        return _transaction.TransactionItem_setId(self, value)

    def getInstalledBy(self):
        return _transaction.TransactionItem_getInstalledBy(self)

    def getReplacedBy(self):
        return _transaction.TransactionItem_getReplacedBy(self)

    def addReplacedBy(self, value):
        return _transaction.TransactionItem_addReplacedBy(self, value)

    def save(self):
        return _transaction.TransactionItem_save(self)

    def saveReplacedBy(self):
        return _transaction.TransactionItem_saveReplacedBy(self)

    def saveState(self):
        return _transaction.TransactionItem_saveState(self)

    def __hash__(self):
        return _transaction.TransactionItem___hash__(self)

    def __eq__(self, *args):
        return _transaction.TransactionItem___eq__(self, *args)

    def __lt__(self, *args):
        return _transaction.TransactionItem___lt__(self, *args)

# Register TransactionItem in _transaction:
_transaction.TransactionItem_swigregister(TransactionItem)

class MergedTransaction(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, trans):
        _transaction.MergedTransaction_swiginit(self, _transaction.new_MergedTransaction(trans))

    def merge(self, trans):
        return _transaction.MergedTransaction_merge(self, trans)

    def listIds(self):
        return _transaction.MergedTransaction_listIds(self)

    def listUserIds(self):
        return _transaction.MergedTransaction_listUserIds(self)

    def listCmdlines(self):
        return _transaction.MergedTransaction_listCmdlines(self)

    def listPersistences(self):
        return _transaction.MergedTransaction_listPersistences(self)

    def listStates(self):
        return _transaction.MergedTransaction_listStates(self)

    def listReleasevers(self):
        return _transaction.MergedTransaction_listReleasevers(self)

    def listComments(self):
        return _transaction.MergedTransaction_listComments(self)

    def getDtBegin(self):
        return _transaction.MergedTransaction_getDtBegin(self)

    def getDtEnd(self):
        return _transaction.MergedTransaction_getDtEnd(self)

    def getRpmdbVersionBegin(self):
        return _transaction.MergedTransaction_getRpmdbVersionBegin(self)

    def getRpmdbVersionEnd(self):
        return _transaction.MergedTransaction_getRpmdbVersionEnd(self)

    def getSoftwarePerformedWith(self):
        return _transaction.MergedTransaction_getSoftwarePerformedWith(self)

    def getConsoleOutput(self):
        return _transaction.MergedTransaction_getConsoleOutput(self)

    def getItems(self):
        return _transaction.MergedTransaction_getItems(self)
    __swig_destroy__ = _transaction.delete_MergedTransaction

# Register MergedTransaction in _transaction:
_transaction.MergedTransaction_swigregister(MergedTransaction)

class Transformer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, inputDir, outputFile):
        _transaction.Transformer_swiginit(self, _transaction.new_Transformer(inputDir, outputFile))

    def transform(self):
        return _transaction.Transformer_transform(self)

    @staticmethod
    def createDatabase(conn):
        return _transaction.Transformer_createDatabase(conn)

    @staticmethod
    def migrateSchema(conn):
        return _transaction.Transformer_migrateSchema(conn)

    @staticmethod
    def getReason(reason):
        return _transaction.Transformer_getReason(reason)

    @staticmethod
    def getVersion():
        return _transaction.Transformer_getVersion()
    __swig_destroy__ = _transaction.delete_Transformer

# Register Transformer in _transaction:
_transaction.Transformer_swigregister(Transformer)

def Transformer_createDatabase(conn):
    return _transaction.Transformer_createDatabase(conn)

def Transformer_migrateSchema(conn):
    return _transaction.Transformer_migrateSchema(conn)

def Transformer_getReason(reason):
    return _transaction.Transformer_getReason(reason)

def Transformer_getVersion():
    return _transaction.Transformer_getVersion()



