# 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, '_oboe')).lstrip('.')
        try:
            return importlib.import_module(mname)
        except ImportError:
            return importlib.import_module('_oboe')
    _oboe = 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('_oboe', [dirname(__file__)])
        except ImportError:
            import _oboe
            return _oboe
        try:
            _mod = imp.load_module('_oboe', fp, pathname, description)
        finally:
            if fp is not None:
                fp.close()
        return _mod
    _oboe = swig_import_helper()
    del swig_import_helper
else:
    import _oboe
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

OBOE_DEBUG_DISABLED = _oboe.OBOE_DEBUG_DISABLED
OBOE_DEBUG_FATAL = _oboe.OBOE_DEBUG_FATAL
OBOE_DEBUG_ERROR = _oboe.OBOE_DEBUG_ERROR
OBOE_DEBUG_WARNING = _oboe.OBOE_DEBUG_WARNING
OBOE_DEBUG_INFO = _oboe.OBOE_DEBUG_INFO
OBOE_DEBUG_LOW = _oboe.OBOE_DEBUG_LOW
OBOE_DEBUG_MEDIUM = _oboe.OBOE_DEBUG_MEDIUM
OBOE_DEBUG_HIGH = _oboe.OBOE_DEBUG_HIGH
OBOE_MODULE_ALL = _oboe.OBOE_MODULE_ALL
OBOE_MODULE_UNDEF = _oboe.OBOE_MODULE_UNDEF
OBOE_MODULE_LIBOBOE = _oboe.OBOE_MODULE_LIBOBOE
OBOE_MODULE_SETTINGS = _oboe.OBOE_MODULE_SETTINGS
OBOE_MODULE_REPORTER_FILE = _oboe.OBOE_MODULE_REPORTER_FILE
OBOE_MODULE_REPORTER_UDP = _oboe.OBOE_MODULE_REPORTER_UDP
OBOE_MODULE_REPORTER_SSL = _oboe.OBOE_MODULE_REPORTER_SSL
OBOE_MODULE_APACHE = _oboe.OBOE_MODULE_APACHE
OBOE_MODULE_NGINX = _oboe.OBOE_MODULE_NGINX
OBOE_MODULE_PHP = _oboe.OBOE_MODULE_PHP
OBOE_MODULE_DOTNET = _oboe.OBOE_MODULE_DOTNET
class Metadata(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Metadata, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Metadata, name)
    __repr__ = _swig_repr

    def __init__(self, md):
        this = _oboe.new_Metadata(md)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_Metadata
    __del__ = lambda self: None
    if _newclass:
        fromString = staticmethod(_oboe.Metadata_fromString)
    else:
        fromString = _oboe.Metadata_fromString

    def createEvent(self):
        return _oboe.Metadata_createEvent(self)
    if _newclass:
        makeRandom = staticmethod(_oboe.Metadata_makeRandom)
    else:
        makeRandom = _oboe.Metadata_makeRandom

    def copy(self):
        return _oboe.Metadata_copy(self)

    def isValid(self):
        return _oboe.Metadata_isValid(self)

    def isSampled(self):
        return _oboe.Metadata_isSampled(self)

    def toString(self):
        return _oboe.Metadata_toString(self)
Metadata_swigregister = _oboe.Metadata_swigregister
Metadata_swigregister(Metadata)

def Metadata_fromString(s):
    return _oboe.Metadata_fromString(s)
Metadata_fromString = _oboe.Metadata_fromString

def Metadata_makeRandom(sampled=True):
    return _oboe.Metadata_makeRandom(sampled)
Metadata_makeRandom = _oboe.Metadata_makeRandom

class Context(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Context, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Context, name)
    __repr__ = _swig_repr
    if _newclass:
        setTracingMode = staticmethod(_oboe.Context_setTracingMode)
    else:
        setTracingMode = _oboe.Context_setTracingMode
    if _newclass:
        setDefaultSampleRate = staticmethod(_oboe.Context_setDefaultSampleRate)
    else:
        setDefaultSampleRate = _oboe.Context_setDefaultSampleRate
    if _newclass:
        sampleRequest = staticmethod(_oboe.Context_sampleRequest)
    else:
        sampleRequest = _oboe.Context_sampleRequest
    if _newclass:
        get = staticmethod(_oboe.Context_get)
    else:
        get = _oboe.Context_get
    if _newclass:
        toString = staticmethod(_oboe.Context_toString)
    else:
        toString = _oboe.Context_toString
    if _newclass:
        set = staticmethod(_oboe.Context_set)
    else:
        set = _oboe.Context_set
    if _newclass:
        fromString = staticmethod(_oboe.Context_fromString)
    else:
        fromString = _oboe.Context_fromString
    if _newclass:
        copy = staticmethod(_oboe.Context_copy)
    else:
        copy = _oboe.Context_copy
    if _newclass:
        setSampledFlag = staticmethod(_oboe.Context_setSampledFlag)
    else:
        setSampledFlag = _oboe.Context_setSampledFlag
    if _newclass:
        clear = staticmethod(_oboe.Context_clear)
    else:
        clear = _oboe.Context_clear
    if _newclass:
        isValid = staticmethod(_oboe.Context_isValid)
    else:
        isValid = _oboe.Context_isValid
    if _newclass:
        isSampled = staticmethod(_oboe.Context_isSampled)
    else:
        isSampled = _oboe.Context_isSampled
    if _newclass:
        init = staticmethod(_oboe.Context_init)
    else:
        init = _oboe.Context_init
    if _newclass:
        validateTransformServiceName = staticmethod(_oboe.Context_validateTransformServiceName)
    else:
        validateTransformServiceName = _oboe.Context_validateTransformServiceName
    if _newclass:
        shutdown = staticmethod(_oboe.Context_shutdown)
    else:
        shutdown = _oboe.Context_shutdown
    if _newclass:
        isReady = staticmethod(_oboe.Context_isReady)
    else:
        isReady = _oboe.Context_isReady
    if _newclass:
        createEvent = staticmethod(_oboe.Context_createEvent)
    else:
        createEvent = _oboe.Context_createEvent
    if _newclass:
        startTrace = staticmethod(_oboe.Context_startTrace)
    else:
        startTrace = _oboe.Context_startTrace

    def __init__(self):
        this = _oboe.new_Context()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_Context
    __del__ = lambda self: None
Context_swigregister = _oboe.Context_swigregister
Context_swigregister(Context)

def Context_setTracingMode(newMode):
    return _oboe.Context_setTracingMode(newMode)
Context_setTracingMode = _oboe.Context_setTracingMode

def Context_setDefaultSampleRate(newRate):
    return _oboe.Context_setDefaultSampleRate(newRate)
Context_setDefaultSampleRate = _oboe.Context_setDefaultSampleRate

def Context_sampleRequest(service_name, in_xtrace):
    return _oboe.Context_sampleRequest(service_name, in_xtrace)
Context_sampleRequest = _oboe.Context_sampleRequest

def Context_get():
    return _oboe.Context_get()
Context_get = _oboe.Context_get

def Context_toString():
    return _oboe.Context_toString()
Context_toString = _oboe.Context_toString

def Context_set(md):
    return _oboe.Context_set(md)
Context_set = _oboe.Context_set

def Context_fromString(s):
    return _oboe.Context_fromString(s)
Context_fromString = _oboe.Context_fromString

def Context_copy():
    return _oboe.Context_copy()
Context_copy = _oboe.Context_copy

def Context_setSampledFlag():
    return _oboe.Context_setSampledFlag()
Context_setSampledFlag = _oboe.Context_setSampledFlag

def Context_clear():
    return _oboe.Context_clear()
Context_clear = _oboe.Context_clear

def Context_isValid():
    return _oboe.Context_isValid()
Context_isValid = _oboe.Context_isValid

def Context_isSampled():
    return _oboe.Context_isSampled()
Context_isSampled = _oboe.Context_isSampled

def Context_init(*args):
    return _oboe.Context_init(*args)
Context_init = _oboe.Context_init

def Context_validateTransformServiceName(service_name):
    return _oboe.Context_validateTransformServiceName(service_name)
Context_validateTransformServiceName = _oboe.Context_validateTransformServiceName

def Context_shutdown():
    return _oboe.Context_shutdown()
Context_shutdown = _oboe.Context_shutdown

def Context_isReady(timeout):
    return _oboe.Context_isReady(timeout)
Context_isReady = _oboe.Context_isReady

def Context_createEvent():
    return _oboe.Context_createEvent()
Context_createEvent = _oboe.Context_createEvent

def Context_startTrace():
    return _oboe.Context_startTrace()
Context_startTrace = _oboe.Context_startTrace

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    __swig_destroy__ = _oboe.delete_Event
    __del__ = lambda self: None

    def addInfo(self, *args):
        return _oboe.Event_addInfo(self, *args)

    def addEdge(self, md):
        return _oboe.Event_addEdge(self, md)

    def addEdgeStr(self, val):
        return _oboe.Event_addEdgeStr(self, val)

    def getMetadata(self):
        return _oboe.Event_getMetadata(self)

    def metadataString(self):
        return _oboe.Event_metadataString(self)

    def send(self):
        return _oboe.Event_send(self)
    if _newclass:
        startTrace = staticmethod(_oboe.Event_startTrace)
    else:
        startTrace = _oboe.Event_startTrace
Event_swigregister = _oboe.Event_swigregister
Event_swigregister(Event)

def Event_startTrace(md):
    return _oboe.Event_startTrace(md)
Event_startTrace = _oboe.Event_startTrace

class Span(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Span, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Span, name)
    __repr__ = _swig_repr
    if _newclass:
        createSpan = staticmethod(_oboe.Span_createSpan)
    else:
        createSpan = _oboe.Span_createSpan
    if _newclass:
        createHttpSpan = staticmethod(_oboe.Span_createHttpSpan)
    else:
        createHttpSpan = _oboe.Span_createHttpSpan

    def __init__(self):
        this = _oboe.new_Span()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_Span
    __del__ = lambda self: None
Span_swigregister = _oboe.Span_swigregister
Span_swigregister(Span)

def Span_createSpan(transaction, domain, duration, service_name=None):
    return _oboe.Span_createSpan(transaction, domain, duration, service_name)
Span_createSpan = _oboe.Span_createSpan

def Span_createHttpSpan(transaction, url, domain, duration, status, method, has_error, service_name=None):
    return _oboe.Span_createHttpSpan(transaction, url, domain, duration, status, method, has_error, service_name)
Span_createHttpSpan = _oboe.Span_createHttpSpan

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

    def __init__(self, count):
        this = _oboe.new_MetricTags(count)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_MetricTags
    __del__ = lambda self: None

    def add(self, index, k, v):
        return _oboe.MetricTags_add(self, index, k, v)
MetricTags_swigregister = _oboe.MetricTags_swigregister
MetricTags_swigregister(MetricTags)

class CustomMetrics(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CustomMetrics, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CustomMetrics, name)
    __repr__ = _swig_repr
    if _newclass:
        summary = staticmethod(_oboe.CustomMetrics_summary)
    else:
        summary = _oboe.CustomMetrics_summary
    if _newclass:
        increment = staticmethod(_oboe.CustomMetrics_increment)
    else:
        increment = _oboe.CustomMetrics_increment

    def __init__(self):
        this = _oboe.new_CustomMetrics()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_CustomMetrics
    __del__ = lambda self: None
CustomMetrics_swigregister = _oboe.CustomMetrics_swigregister
CustomMetrics_swigregister(CustomMetrics)

def CustomMetrics_summary(name, value, count, host_tag, service_name, tags, tags_count):
    return _oboe.CustomMetrics_summary(name, value, count, host_tag, service_name, tags, tags_count)
CustomMetrics_summary = _oboe.CustomMetrics_summary

def CustomMetrics_increment(name, count, host_tag, service_name, tags, tags_count):
    return _oboe.CustomMetrics_increment(name, count, host_tag, service_name, tags, tags_count)
CustomMetrics_increment = _oboe.CustomMetrics_increment

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

    def __init__(self, *args):
        this = _oboe.new_Reporter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_Reporter
    __del__ = lambda self: None

    def sendReport(self, *args):
        return _oboe.Reporter_sendReport(self, *args)

    def sendStatus(self, *args):
        return _oboe.Reporter_sendStatus(self, *args)
Reporter_swigregister = _oboe.Reporter_swigregister
Reporter_swigregister(Reporter)

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

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

    def log(self, module, level, source_name, source_lineno, msg):
        return _oboe.DebugLogger_log(self, module, level, source_name, source_lineno, msg)
DebugLogger_swigregister = _oboe.DebugLogger_swigregister
DebugLogger_swigregister(DebugLogger)


def oboe_debug_log_handler(context, module, level, source_name, source_lineno, msg):
    return _oboe.oboe_debug_log_handler(context, module, level, source_name, source_lineno, msg)
oboe_debug_log_handler = _oboe.oboe_debug_log_handler
class DebugLog(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, DebugLog, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, DebugLog, name)
    __repr__ = _swig_repr
    if _newclass:
        getLevelName = staticmethod(_oboe.DebugLog_getLevelName)
    else:
        getLevelName = _oboe.DebugLog_getLevelName
    if _newclass:
        getModuleName = staticmethod(_oboe.DebugLog_getModuleName)
    else:
        getModuleName = _oboe.DebugLog_getModuleName
    if _newclass:
        getLevel = staticmethod(_oboe.DebugLog_getLevel)
    else:
        getLevel = _oboe.DebugLog_getLevel
    if _newclass:
        setLevel = staticmethod(_oboe.DebugLog_setLevel)
    else:
        setLevel = _oboe.DebugLog_setLevel
    if _newclass:
        setOutputStream = staticmethod(_oboe.DebugLog_setOutputStream)
    else:
        setOutputStream = _oboe.DebugLog_setOutputStream
    if _newclass:
        setOutputFile = staticmethod(_oboe.DebugLog_setOutputFile)
    else:
        setOutputFile = _oboe.DebugLog_setOutputFile
    if _newclass:
        addDebugLogger = staticmethod(_oboe.DebugLog_addDebugLogger)
    else:
        addDebugLogger = _oboe.DebugLog_addDebugLogger
    if _newclass:
        removeDebugLogger = staticmethod(_oboe.DebugLog_removeDebugLogger)
    else:
        removeDebugLogger = _oboe.DebugLog_removeDebugLogger
    if _newclass:
        logMessage = staticmethod(_oboe.DebugLog_logMessage)
    else:
        logMessage = _oboe.DebugLog_logMessage

    def __init__(self):
        this = _oboe.new_DebugLog()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oboe.delete_DebugLog
    __del__ = lambda self: None
DebugLog_swigregister = _oboe.DebugLog_swigregister
DebugLog_swigregister(DebugLog)

def DebugLog_getLevelName(level):
    return _oboe.DebugLog_getLevelName(level)
DebugLog_getLevelName = _oboe.DebugLog_getLevelName

def DebugLog_getModuleName(module):
    return _oboe.DebugLog_getModuleName(module)
DebugLog_getModuleName = _oboe.DebugLog_getModuleName

def DebugLog_getLevel(module):
    return _oboe.DebugLog_getLevel(module)
DebugLog_getLevel = _oboe.DebugLog_getLevel

def DebugLog_setLevel(module, newLevel):
    return _oboe.DebugLog_setLevel(module, newLevel)
DebugLog_setLevel = _oboe.DebugLog_setLevel

def DebugLog_setOutputStream(newStream):
    return _oboe.DebugLog_setOutputStream(newStream)
DebugLog_setOutputStream = _oboe.DebugLog_setOutputStream

def DebugLog_setOutputFile(pathname):
    return _oboe.DebugLog_setOutputFile(pathname)
DebugLog_setOutputFile = _oboe.DebugLog_setOutputFile

def DebugLog_addDebugLogger(newLogger, logLevel):
    return _oboe.DebugLog_addDebugLogger(newLogger, logLevel)
DebugLog_addDebugLogger = _oboe.DebugLog_addDebugLogger

def DebugLog_removeDebugLogger(oldLogger):
    return _oboe.DebugLog_removeDebugLogger(oldLogger)
DebugLog_removeDebugLogger = _oboe.DebugLog_removeDebugLogger

def DebugLog_logMessage(module, level, source_name, source_lineno, msg):
    return _oboe.DebugLog_logMessage(module, level, source_name, source_lineno, msg)
DebugLog_logMessage = _oboe.DebugLog_logMessage

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
    if _newclass:
        checkVersion = staticmethod(_oboe.Config_checkVersion)
    else:
        checkVersion = _oboe.Config_checkVersion
    if _newclass:
        getVersion = staticmethod(_oboe.Config_getVersion)
    else:
        getVersion = _oboe.Config_getVersion
    if _newclass:
        getRevision = staticmethod(_oboe.Config_getRevision)
    else:
        getRevision = _oboe.Config_getRevision

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

def Config_checkVersion(version, revision):
    return _oboe.Config_checkVersion(version, revision)
Config_checkVersion = _oboe.Config_checkVersion

def Config_getVersion():
    return _oboe.Config_getVersion()
Config_getVersion = _oboe.Config_getVersion

def Config_getRevision():
    return _oboe.Config_getRevision()
Config_getRevision = _oboe.Config_getRevision

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


