# 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 >= (3, 0, 0):
    new_instancemethod = lambda func, inst, cls: _qdb.SWIG_PyInstanceMethod_New(func)
else:
    from new import instancemethod as new_instancemethod
if _swig_python_version_info >= (2, 7, 0):
    def swig_import_helper():
        import importlib
        pkg = __name__.rpartition('.')[0]
        mname = '.'.join((pkg, '_qdb')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_qdb')
    _qdb = 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('_qdb', [dirname(__file__)])
        except ImportError:
            import _qdb
            return _qdb
        try:
            _mod = imp.load_module('_qdb', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _qdb = swig_import_helper()
    del swig_import_helper
else:
    import _qdb
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):
        object.__setattr__(self, 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,)


def _swig_setattr_nondynamic_method(set):
    def set_attr(self, name, value):
        if (name == "thisown"):
            return self.this.own(value)
        if hasattr(self, name) or (name == "this"):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


class qdbSwigPyIterator(object):
    thisown = _swig_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__ = _qdb.delete_qdbSwigPyIterator
    def __iter__(self):
        return self
qdbSwigPyIterator.value = new_instancemethod(_qdb.qdbSwigPyIterator_value, None, qdbSwigPyIterator)
qdbSwigPyIterator.incr = new_instancemethod(_qdb.qdbSwigPyIterator_incr, None, qdbSwigPyIterator)
qdbSwigPyIterator.decr = new_instancemethod(_qdb.qdbSwigPyIterator_decr, None, qdbSwigPyIterator)
qdbSwigPyIterator.distance = new_instancemethod(_qdb.qdbSwigPyIterator_distance, None, qdbSwigPyIterator)
qdbSwigPyIterator.equal = new_instancemethod(_qdb.qdbSwigPyIterator_equal, None, qdbSwigPyIterator)
qdbSwigPyIterator.copy = new_instancemethod(_qdb.qdbSwigPyIterator_copy, None, qdbSwigPyIterator)
qdbSwigPyIterator.next = new_instancemethod(_qdb.qdbSwigPyIterator_next, None, qdbSwigPyIterator)
qdbSwigPyIterator.__next__ = new_instancemethod(_qdb.qdbSwigPyIterator___next__, None, qdbSwigPyIterator)
qdbSwigPyIterator.previous = new_instancemethod(_qdb.qdbSwigPyIterator_previous, None, qdbSwigPyIterator)
qdbSwigPyIterator.advance = new_instancemethod(_qdb.qdbSwigPyIterator_advance, None, qdbSwigPyIterator)
qdbSwigPyIterator.__eq__ = new_instancemethod(_qdb.qdbSwigPyIterator___eq__, None, qdbSwigPyIterator)
qdbSwigPyIterator.__ne__ = new_instancemethod(_qdb.qdbSwigPyIterator___ne__, None, qdbSwigPyIterator)
qdbSwigPyIterator.__iadd__ = new_instancemethod(_qdb.qdbSwigPyIterator___iadd__, None, qdbSwigPyIterator)
qdbSwigPyIterator.__isub__ = new_instancemethod(_qdb.qdbSwigPyIterator___isub__, None, qdbSwigPyIterator)
qdbSwigPyIterator.__add__ = new_instancemethod(_qdb.qdbSwigPyIterator___add__, None, qdbSwigPyIterator)
qdbSwigPyIterator.__sub__ = new_instancemethod(_qdb.qdbSwigPyIterator___sub__, None, qdbSwigPyIterator)
qdbSwigPyIterator_swigregister = _qdb.qdbSwigPyIterator_swigregister
qdbSwigPyIterator_swigregister(qdbSwigPyIterator)

SHARED_PTR_DISOWN = _qdb.SHARED_PTR_DISOWN
class StringVec(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _qdb.StringVec_swiginit(self, _qdb.new_StringVec(*args))
    __swig_destroy__ = _qdb.delete_StringVec
StringVec.iterator = new_instancemethod(_qdb.StringVec_iterator, None, StringVec)
StringVec.__nonzero__ = new_instancemethod(_qdb.StringVec___nonzero__, None, StringVec)
StringVec.__bool__ = new_instancemethod(_qdb.StringVec___bool__, None, StringVec)
StringVec.__len__ = new_instancemethod(_qdb.StringVec___len__, None, StringVec)
StringVec.__getslice__ = new_instancemethod(_qdb.StringVec___getslice__, None, StringVec)
StringVec.__setslice__ = new_instancemethod(_qdb.StringVec___setslice__, None, StringVec)
StringVec.__delslice__ = new_instancemethod(_qdb.StringVec___delslice__, None, StringVec)
StringVec.__delitem__ = new_instancemethod(_qdb.StringVec___delitem__, None, StringVec)
StringVec.__getitem__ = new_instancemethod(_qdb.StringVec___getitem__, None, StringVec)
StringVec.__setitem__ = new_instancemethod(_qdb.StringVec___setitem__, None, StringVec)
StringVec.pop = new_instancemethod(_qdb.StringVec_pop, None, StringVec)
StringVec.append = new_instancemethod(_qdb.StringVec_append, None, StringVec)
StringVec.empty = new_instancemethod(_qdb.StringVec_empty, None, StringVec)
StringVec.size = new_instancemethod(_qdb.StringVec_size, None, StringVec)
StringVec.swap = new_instancemethod(_qdb.StringVec_swap, None, StringVec)
StringVec.begin = new_instancemethod(_qdb.StringVec_begin, None, StringVec)
StringVec.end = new_instancemethod(_qdb.StringVec_end, None, StringVec)
StringVec.rbegin = new_instancemethod(_qdb.StringVec_rbegin, None, StringVec)
StringVec.rend = new_instancemethod(_qdb.StringVec_rend, None, StringVec)
StringVec.clear = new_instancemethod(_qdb.StringVec_clear, None, StringVec)
StringVec.get_allocator = new_instancemethod(_qdb.StringVec_get_allocator, None, StringVec)
StringVec.pop_back = new_instancemethod(_qdb.StringVec_pop_back, None, StringVec)
StringVec.erase = new_instancemethod(_qdb.StringVec_erase, None, StringVec)
StringVec.push_back = new_instancemethod(_qdb.StringVec_push_back, None, StringVec)
StringVec.front = new_instancemethod(_qdb.StringVec_front, None, StringVec)
StringVec.back = new_instancemethod(_qdb.StringVec_back, None, StringVec)
StringVec.assign = new_instancemethod(_qdb.StringVec_assign, None, StringVec)
StringVec.resize = new_instancemethod(_qdb.StringVec_resize, None, StringVec)
StringVec.insert = new_instancemethod(_qdb.StringVec_insert, None, StringVec)
StringVec.reserve = new_instancemethod(_qdb.StringVec_reserve, None, StringVec)
StringVec.capacity = new_instancemethod(_qdb.StringVec_capacity, None, StringVec)
StringVec_swigregister = _qdb.StringVec_swigregister
StringVec_swigregister(StringVec)

qdb_l_alias_max_length = _qdb.qdb_l_alias_max_length
error_origin_system_remote = _qdb.error_origin_system_remote
error_origin_system_local = _qdb.error_origin_system_local
error_origin_connection = _qdb.error_origin_connection
error_origin_input = _qdb.error_origin_input
error_origin_operation = _qdb.error_origin_operation
error_origin_protocol = _qdb.error_origin_protocol
error_severity_unrecoverable = _qdb.error_severity_unrecoverable
error_severity_error = _qdb.error_severity_error
error_severity_warning = _qdb.error_severity_warning
error_severity_info = _qdb.error_severity_info
error_ok = _qdb.error_ok
error_uninitialized = _qdb.error_uninitialized
error_alias_not_found = _qdb.error_alias_not_found
error_alias_already_exists = _qdb.error_alias_already_exists
error_out_of_bounds = _qdb.error_out_of_bounds
error_skipped = _qdb.error_skipped
error_incompatible_type = _qdb.error_incompatible_type
error_container_empty = _qdb.error_container_empty
error_container_full = _qdb.error_container_full
error_element_not_found = _qdb.error_element_not_found
error_element_already_exists = _qdb.error_element_already_exists
error_overflow = _qdb.error_overflow
error_underflow = _qdb.error_underflow
error_tag_already_set = _qdb.error_tag_already_set
error_tag_not_set = _qdb.error_tag_not_set
error_timeout = _qdb.error_timeout
error_connection_refused = _qdb.error_connection_refused
error_connection_reset = _qdb.error_connection_reset
error_unstable_cluster = _qdb.error_unstable_cluster
error_try_again = _qdb.error_try_again
error_conflict = _qdb.error_conflict
error_not_connected = _qdb.error_not_connected
error_resource_locked = _qdb.error_resource_locked
error_system_remote = _qdb.error_system_remote
error_system_local = _qdb.error_system_local
error_internal_remote = _qdb.error_internal_remote
error_internal_local = _qdb.error_internal_local
error_no_memory_remote = _qdb.error_no_memory_remote
error_no_memory_local = _qdb.error_no_memory_local
error_invalid_protocol = _qdb.error_invalid_protocol
error_host_not_found = _qdb.error_host_not_found
error_buffer_too_small = _qdb.error_buffer_too_small
error_not_implemented = _qdb.error_not_implemented
error_invalid_version = _qdb.error_invalid_version
error_invalid_argument = _qdb.error_invalid_argument
error_invalid_handle = _qdb.error_invalid_handle
error_reserved_alias = _qdb.error_reserved_alias
error_unmatched_content = _qdb.error_unmatched_content
error_invalid_iterator = _qdb.error_invalid_iterator
error_entry_too_large = _qdb.error_entry_too_large
error_transaction_partial_failure = _qdb.error_transaction_partial_failure
error_operation_disabled = _qdb.error_operation_disabled
error_operation_not_permitted = _qdb.error_operation_not_permitted
error_iterator_end = _qdb.error_iterator_end
error_invalid_reply = _qdb.error_invalid_reply
error_ok_created = _qdb.error_ok_created
error_no_space_left = _qdb.error_no_space_left
error_quota_exceeded = _qdb.error_quota_exceeded
error_alias_too_long = _qdb.error_alias_too_long
qdb_comp_none = _qdb.qdb_comp_none
qdb_comp_fast = _qdb.qdb_comp_fast
qdb_comp_best = _qdb.qdb_comp_best
protocol_tcp = _qdb.protocol_tcp
qdb_entry_uninitialized = _qdb.qdb_entry_uninitialized
qdb_entry_blob = _qdb.qdb_entry_blob
qdb_entry_integer = _qdb.qdb_entry_integer
qdb_entry_hset = _qdb.qdb_entry_hset
qdb_entry_tag = _qdb.qdb_entry_tag
qdb_entry_deque = _qdb.qdb_entry_deque
operation_uninitialized = _qdb.operation_uninitialized
operation_blob_get = _qdb.operation_blob_get
operation_blob_put = _qdb.operation_blob_put
operation_blob_update = _qdb.operation_blob_update
operation_blob_cas = _qdb.operation_blob_cas
operation_blob_get_and_update = _qdb.operation_blob_get_and_update
operation_has_tag = _qdb.operation_has_tag
operation_int_put = _qdb.operation_int_put
operation_int_update = _qdb.operation_int_update
operation_int_get = _qdb.operation_int_get
operation_int_add = _qdb.operation_int_add
qdb_log_detailed = _qdb.qdb_log_detailed
qdb_log_debug = _qdb.qdb_log_debug
qdb_log_info = _qdb.qdb_log_info
qdb_log_warning = _qdb.qdb_log_warning
qdb_log_error = _qdb.qdb_log_error
qdb_log_panic = _qdb.qdb_log_panic
class retval(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self):
        _qdb.retval_swiginit(self, _qdb.new_retval())
    buffer = _swig_property(_qdb.retval_buffer_get, _qdb.retval_buffer_set)
    buffer_size = _swig_property(_qdb.retval_buffer_size_get, _qdb.retval_buffer_size_set)
    __swig_destroy__ = _qdb.delete_retval
retval_swigregister = _qdb.retval_swigregister
retval_swigregister(retval)

class error_carrier(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self):
        _qdb.error_carrier_swiginit(self, _qdb.new_error_carrier())
    error = _swig_property(_qdb.error_carrier_error_get, _qdb.error_carrier_error_set)
    __swig_destroy__ = _qdb.delete_error_carrier
error_carrier_swigregister = _qdb.error_carrier_swigregister
error_carrier_swigregister(error_carrier)

class results_list(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self):
        _qdb.results_list_swiginit(self, _qdb.new_results_list())
    error = _swig_property(_qdb.results_list_error_get, _qdb.results_list_error_set)
    results = _swig_property(_qdb.results_list_results_get, _qdb.results_list_results_set)
    __swig_destroy__ = _qdb.delete_results_list
results_list_swigregister = _qdb.results_list_swigregister
results_list_swigregister(results_list)


def version():
    return _qdb.version()
version = _qdb.version

def build():
    return _qdb.build()
build = _qdb.build

def make_error_string(error):
    return _qdb.make_error_string(error)
make_error_string = _qdb.make_error_string
class api_buffer(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, h, data, length):
        _qdb.api_buffer_swiginit(self, _qdb.new_api_buffer(h, data, length))
    __swig_destroy__ = _qdb.delete_api_buffer
api_buffer.__eq__ = new_instancemethod(_qdb.api_buffer___eq__, None, api_buffer)
api_buffer.__ne__ = new_instancemethod(_qdb.api_buffer___ne__, None, api_buffer)
api_buffer.data = new_instancemethod(_qdb.api_buffer_data, None, api_buffer)
api_buffer.size = new_instancemethod(_qdb.api_buffer_size, None, api_buffer)
api_buffer_swigregister = _qdb.api_buffer_swigregister
api_buffer_swigregister(api_buffer)

class handle(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self):
        _qdb.handle_swiginit(self, _qdb.new_handle())
    __swig_destroy__ = _qdb.delete_handle
handle.close = new_instancemethod(_qdb.handle_close, None, handle)
handle.connected = new_instancemethod(_qdb.handle_connected, None, handle)
handle.set_timeout = new_instancemethod(_qdb.handle_set_timeout, None, handle)
handle.connect = new_instancemethod(_qdb.handle_connect, None, handle)
handle.blob_put = new_instancemethod(_qdb.handle_blob_put, None, handle)
handle.blob_update = new_instancemethod(_qdb.handle_blob_update, None, handle)
handle.blob_get = new_instancemethod(_qdb.handle_blob_get, None, handle)
handle.blob_get_and_remove = new_instancemethod(_qdb.handle_blob_get_and_remove, None, handle)
handle.blob_get_and_update = new_instancemethod(_qdb.handle_blob_get_and_update, None, handle)
handle.blob_compare_and_swap = new_instancemethod(_qdb.handle_blob_compare_and_swap, None, handle)
handle.node_status = new_instancemethod(_qdb.handle_node_status, None, handle)
handle.node_config = new_instancemethod(_qdb.handle_node_config, None, handle)
handle.node_topology = new_instancemethod(_qdb.handle_node_topology, None, handle)
handle.node_stop = new_instancemethod(_qdb.handle_node_stop, None, handle)
handle.remove = new_instancemethod(_qdb.handle_remove, None, handle)
handle.blob_remove_if = new_instancemethod(_qdb.handle_blob_remove_if, None, handle)
handle.purge_all = new_instancemethod(_qdb.handle_purge_all, None, handle)
handle.trim_all = new_instancemethod(_qdb.handle_trim_all, None, handle)
handle.expires_at = new_instancemethod(_qdb.handle_expires_at, None, handle)
handle.expires_from_now = new_instancemethod(_qdb.handle_expires_from_now, None, handle)
handle.get_expiry_time = new_instancemethod(_qdb.handle_get_expiry_time, None, handle)
handle.attach_tag = new_instancemethod(_qdb.handle_attach_tag, None, handle)
handle.has_tag = new_instancemethod(_qdb.handle_has_tag, None, handle)
handle.detach_tag = new_instancemethod(_qdb.handle_detach_tag, None, handle)
handle.get_tagged = new_instancemethod(_qdb.handle_get_tagged, None, handle)
handle.get_tags = new_instancemethod(_qdb.handle_get_tags, None, handle)
handle.int_get = new_instancemethod(_qdb.handle_int_get, None, handle)
handle.int_put = new_instancemethod(_qdb.handle_int_put, None, handle)
handle.int_update = new_instancemethod(_qdb.handle_int_update, None, handle)
handle.int_add = new_instancemethod(_qdb.handle_int_add, None, handle)
handle.deque_push_front = new_instancemethod(_qdb.handle_deque_push_front, None, handle)
handle.deque_push_back = new_instancemethod(_qdb.handle_deque_push_back, None, handle)
handle.deque_pop_front = new_instancemethod(_qdb.handle_deque_pop_front, None, handle)
handle.deque_pop_back = new_instancemethod(_qdb.handle_deque_pop_back, None, handle)
handle.deque_front = new_instancemethod(_qdb.handle_deque_front, None, handle)
handle.deque_back = new_instancemethod(_qdb.handle_deque_back, None, handle)
handle.hset_insert = new_instancemethod(_qdb.handle_hset_insert, None, handle)
handle.hset_erase = new_instancemethod(_qdb.handle_hset_erase, None, handle)
handle.hset_contains = new_instancemethod(_qdb.handle_hset_contains, None, handle)
handle.blob_scan = new_instancemethod(_qdb.handle_blob_scan, None, handle)
handle.blob_scan_regex = new_instancemethod(_qdb.handle_blob_scan_regex, None, handle)
handle_swigregister = _qdb.handle_swigregister
handle_swigregister(handle)


def make_api_buffer_ptr_from_string(h, content):
    return _qdb.make_api_buffer_ptr_from_string(h, content)
make_api_buffer_ptr_from_string = _qdb.make_api_buffer_ptr_from_string

def api_buffer_ptr_as_string(buf):
    return _qdb.api_buffer_ptr_as_string(buf)
api_buffer_ptr_as_string = _qdb.api_buffer_ptr_as_string

def blob_get(h, alias, error):
    return _qdb.blob_get(h, alias, error)
blob_get = _qdb.blob_get

def blob_get_and_remove(h, alias, error):
    return _qdb.blob_get_and_remove(h, alias, error)
blob_get_and_remove = _qdb.blob_get_and_remove

def blob_get_and_update(h, alias, update_content, expiry_time, error):
    return _qdb.blob_get_and_update(h, alias, update_content, expiry_time, error)
blob_get_and_update = _qdb.blob_get_and_update

def blob_compare_and_swap(h, alias, new_value, comparand, expiry_time, error):
    return _qdb.blob_compare_and_swap(h, alias, new_value, comparand, expiry_time, error)
blob_compare_and_swap = _qdb.blob_compare_and_swap

def node_status(h, uri, error):
    return _qdb.node_status(h, uri, error)
node_status = _qdb.node_status

def node_config(h, uri, error):
    return _qdb.node_config(h, uri, error)
node_config = _qdb.node_config

def node_topology(h, uri, error):
    return _qdb.node_topology(h, uri, error)
node_topology = _qdb.node_topology

def connect(uri, error):
    return _qdb.connect(uri, error)
connect = _qdb.connect

def get_expiry_time_wrapper(h, alias, error):
    return _qdb.get_expiry_time_wrapper(h, alias, error)
get_expiry_time_wrapper = _qdb.get_expiry_time_wrapper

def int_get(h, alias, error):
    return _qdb.int_get(h, alias, error)
int_get = _qdb.int_get

def int_add(h, alias, addend, error):
    return _qdb.int_add(h, alias, addend, error)
int_add = _qdb.int_add

def deque_pop_front(h, alias, error):
    return _qdb.deque_pop_front(h, alias, error)
deque_pop_front = _qdb.deque_pop_front

def deque_pop_back(h, alias, error):
    return _qdb.deque_pop_back(h, alias, error)
deque_pop_back = _qdb.deque_pop_back

def deque_front(h, alias, error):
    return _qdb.deque_front(h, alias, error)
deque_front = _qdb.deque_front

def deque_back(h, alias, error):
    return _qdb.deque_back(h, alias, error)
deque_back = _qdb.deque_back

def get_tags(h, alias, error):
    return _qdb.get_tags(h, alias, error)
get_tags = _qdb.get_tags

def get_tagged(h, tag, error):
    return _qdb.get_tagged(h, tag, error)
get_tagged = _qdb.get_tagged

def blob_scan(h, pattern, max_count, error):
    return _qdb.blob_scan(h, pattern, max_count, error)
blob_scan = _qdb.blob_scan

def blob_scan_regex(h, pattern, max_count, error):
    return _qdb.blob_scan_regex(h, pattern, max_count, error)
blob_scan_regex = _qdb.blob_scan_regex


