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

"""
Message module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_message.html
"""

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 _Message
else:
    import _Message

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _Message.SWIG_PyInstanceMethod_New
_swig_new_static_method = _Message.SWIG_PyStaticMethod_New

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__ = _Message.delete_SwigPyIterator
    value = _swig_new_instance_method(_Message.SwigPyIterator_value)
    incr = _swig_new_instance_method(_Message.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_Message.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_Message.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_Message.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_Message.SwigPyIterator_copy)
    next = _swig_new_instance_method(_Message.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_Message.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_Message.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_Message.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_Message.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_Message.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_Message.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_Message.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_Message.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_Message.SwigPyIterator___sub__)
    def __iter__(self):
        return self

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


def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


from six import with_metaclass
import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

import OCC.Core.Standard
import OCC.Core.NCollection
Message_None = _Message.Message_None
Message_Done1 = _Message.Message_Done1
Message_Done2 = _Message.Message_Done2
Message_Done3 = _Message.Message_Done3
Message_Done4 = _Message.Message_Done4
Message_Done5 = _Message.Message_Done5
Message_Done6 = _Message.Message_Done6
Message_Done7 = _Message.Message_Done7
Message_Done8 = _Message.Message_Done8
Message_Done9 = _Message.Message_Done9
Message_Done10 = _Message.Message_Done10
Message_Done11 = _Message.Message_Done11
Message_Done12 = _Message.Message_Done12
Message_Done13 = _Message.Message_Done13
Message_Done14 = _Message.Message_Done14
Message_Done15 = _Message.Message_Done15
Message_Done16 = _Message.Message_Done16
Message_Done17 = _Message.Message_Done17
Message_Done18 = _Message.Message_Done18
Message_Done19 = _Message.Message_Done19
Message_Done20 = _Message.Message_Done20
Message_Done21 = _Message.Message_Done21
Message_Done22 = _Message.Message_Done22
Message_Done23 = _Message.Message_Done23
Message_Done24 = _Message.Message_Done24
Message_Done25 = _Message.Message_Done25
Message_Done26 = _Message.Message_Done26
Message_Done27 = _Message.Message_Done27
Message_Done28 = _Message.Message_Done28
Message_Done29 = _Message.Message_Done29
Message_Done30 = _Message.Message_Done30
Message_Done31 = _Message.Message_Done31
Message_Done32 = _Message.Message_Done32
Message_Warn1 = _Message.Message_Warn1
Message_Warn2 = _Message.Message_Warn2
Message_Warn3 = _Message.Message_Warn3
Message_Warn4 = _Message.Message_Warn4
Message_Warn5 = _Message.Message_Warn5
Message_Warn6 = _Message.Message_Warn6
Message_Warn7 = _Message.Message_Warn7
Message_Warn8 = _Message.Message_Warn8
Message_Warn9 = _Message.Message_Warn9
Message_Warn10 = _Message.Message_Warn10
Message_Warn11 = _Message.Message_Warn11
Message_Warn12 = _Message.Message_Warn12
Message_Warn13 = _Message.Message_Warn13
Message_Warn14 = _Message.Message_Warn14
Message_Warn15 = _Message.Message_Warn15
Message_Warn16 = _Message.Message_Warn16
Message_Warn17 = _Message.Message_Warn17
Message_Warn18 = _Message.Message_Warn18
Message_Warn19 = _Message.Message_Warn19
Message_Warn20 = _Message.Message_Warn20
Message_Warn21 = _Message.Message_Warn21
Message_Warn22 = _Message.Message_Warn22
Message_Warn23 = _Message.Message_Warn23
Message_Warn24 = _Message.Message_Warn24
Message_Warn25 = _Message.Message_Warn25
Message_Warn26 = _Message.Message_Warn26
Message_Warn27 = _Message.Message_Warn27
Message_Warn28 = _Message.Message_Warn28
Message_Warn29 = _Message.Message_Warn29
Message_Warn30 = _Message.Message_Warn30
Message_Warn31 = _Message.Message_Warn31
Message_Warn32 = _Message.Message_Warn32
Message_Alarm1 = _Message.Message_Alarm1
Message_Alarm2 = _Message.Message_Alarm2
Message_Alarm3 = _Message.Message_Alarm3
Message_Alarm4 = _Message.Message_Alarm4
Message_Alarm5 = _Message.Message_Alarm5
Message_Alarm6 = _Message.Message_Alarm6
Message_Alarm7 = _Message.Message_Alarm7
Message_Alarm8 = _Message.Message_Alarm8
Message_Alarm9 = _Message.Message_Alarm9
Message_Alarm10 = _Message.Message_Alarm10
Message_Alarm11 = _Message.Message_Alarm11
Message_Alarm12 = _Message.Message_Alarm12
Message_Alarm13 = _Message.Message_Alarm13
Message_Alarm14 = _Message.Message_Alarm14
Message_Alarm15 = _Message.Message_Alarm15
Message_Alarm16 = _Message.Message_Alarm16
Message_Alarm17 = _Message.Message_Alarm17
Message_Alarm18 = _Message.Message_Alarm18
Message_Alarm19 = _Message.Message_Alarm19
Message_Alarm20 = _Message.Message_Alarm20
Message_Alarm21 = _Message.Message_Alarm21
Message_Alarm22 = _Message.Message_Alarm22
Message_Alarm23 = _Message.Message_Alarm23
Message_Alarm24 = _Message.Message_Alarm24
Message_Alarm25 = _Message.Message_Alarm25
Message_Alarm26 = _Message.Message_Alarm26
Message_Alarm27 = _Message.Message_Alarm27
Message_Alarm28 = _Message.Message_Alarm28
Message_Alarm29 = _Message.Message_Alarm29
Message_Alarm30 = _Message.Message_Alarm30
Message_Alarm31 = _Message.Message_Alarm31
Message_Alarm32 = _Message.Message_Alarm32
Message_Fail1 = _Message.Message_Fail1
Message_Fail2 = _Message.Message_Fail2
Message_Fail3 = _Message.Message_Fail3
Message_Fail4 = _Message.Message_Fail4
Message_Fail5 = _Message.Message_Fail5
Message_Fail6 = _Message.Message_Fail6
Message_Fail7 = _Message.Message_Fail7
Message_Fail8 = _Message.Message_Fail8
Message_Fail9 = _Message.Message_Fail9
Message_Fail10 = _Message.Message_Fail10
Message_Fail11 = _Message.Message_Fail11
Message_Fail12 = _Message.Message_Fail12
Message_Fail13 = _Message.Message_Fail13
Message_Fail14 = _Message.Message_Fail14
Message_Fail15 = _Message.Message_Fail15
Message_Fail16 = _Message.Message_Fail16
Message_Fail17 = _Message.Message_Fail17
Message_Fail18 = _Message.Message_Fail18
Message_Fail19 = _Message.Message_Fail19
Message_Fail20 = _Message.Message_Fail20
Message_Fail21 = _Message.Message_Fail21
Message_Fail22 = _Message.Message_Fail22
Message_Fail23 = _Message.Message_Fail23
Message_Fail24 = _Message.Message_Fail24
Message_Fail25 = _Message.Message_Fail25
Message_Fail26 = _Message.Message_Fail26
Message_Fail27 = _Message.Message_Fail27
Message_Fail28 = _Message.Message_Fail28
Message_Fail29 = _Message.Message_Fail29
Message_Fail30 = _Message.Message_Fail30
Message_Fail31 = _Message.Message_Fail31
Message_Fail32 = _Message.Message_Fail32
Message_Trace = _Message.Message_Trace
Message_Info = _Message.Message_Info
Message_Warning = _Message.Message_Warning
Message_Alarm = _Message.Message_Alarm
Message_Fail = _Message.Message_Fail
Message_DONE = _Message.Message_DONE
Message_WARN = _Message.Message_WARN
Message_ALARM = _Message.Message_ALARM
Message_FAIL = _Message.Message_FAIL
class Message_ListOfMsg(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_Message.Message_ListOfMsg_begin)
    end = _swig_new_instance_method(_Message.Message_ListOfMsg_end)
    cbegin = _swig_new_instance_method(_Message.Message_ListOfMsg_cbegin)
    cend = _swig_new_instance_method(_Message.Message_ListOfMsg_cend)

    def __init__(self, *args):
        _Message.Message_ListOfMsg_swiginit(self, _Message.new_Message_ListOfMsg(*args))
    Size = _swig_new_instance_method(_Message.Message_ListOfMsg_Size)
    Assign = _swig_new_instance_method(_Message.Message_ListOfMsg_Assign)
    Set = _swig_new_instance_method(_Message.Message_ListOfMsg_Set)
    Clear = _swig_new_instance_method(_Message.Message_ListOfMsg_Clear)
    First = _swig_new_instance_method(_Message.Message_ListOfMsg_First)
    Last = _swig_new_instance_method(_Message.Message_ListOfMsg_Last)
    Append = _swig_new_instance_method(_Message.Message_ListOfMsg_Append)
    Prepend = _swig_new_instance_method(_Message.Message_ListOfMsg_Prepend)
    RemoveFirst = _swig_new_instance_method(_Message.Message_ListOfMsg_RemoveFirst)
    Remove = _swig_new_instance_method(_Message.Message_ListOfMsg_Remove)
    InsertBefore = _swig_new_instance_method(_Message.Message_ListOfMsg_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Message.Message_ListOfMsg_InsertAfter)
    Reverse = _swig_new_instance_method(_Message.Message_ListOfMsg_Reverse)
    __swig_destroy__ = _Message.delete_Message_ListOfMsg

# Register Message_ListOfMsg in _Message:
_Message.Message_ListOfMsg_swigregister(Message_ListOfMsg)

class Message_ListIteratorOfListOfMsg(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):
        _Message.Message_ListIteratorOfListOfMsg_swiginit(self, _Message.new_Message_ListIteratorOfListOfMsg(*args))
    More = _swig_new_instance_method(_Message.Message_ListIteratorOfListOfMsg_More)
    Next = _swig_new_instance_method(_Message.Message_ListIteratorOfListOfMsg_Next)
    Value = _swig_new_instance_method(_Message.Message_ListIteratorOfListOfMsg_Value)
    ChangeValue = _swig_new_instance_method(_Message.Message_ListIteratorOfListOfMsg_ChangeValue)
    __swig_destroy__ = _Message.delete_Message_ListIteratorOfListOfMsg

# Register Message_ListIteratorOfListOfMsg in _Message:
_Message.Message_ListIteratorOfListOfMsg_swigregister(Message_ListIteratorOfListOfMsg)

class Message_SequenceOfPrinters(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_begin)
    end = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_end)
    cbegin = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_cbegin)
    cend = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_cend)

    def __init__(self, *args):
        _Message.Message_SequenceOfPrinters_swiginit(self, _Message.new_Message_SequenceOfPrinters(*args))
    Size = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Size)
    Length = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Length)
    Lower = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Lower)
    Upper = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Upper)
    IsEmpty = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_IsEmpty)
    Reverse = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Reverse)
    Exchange = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Exchange)
    delNode = _swig_new_static_method(_Message.Message_SequenceOfPrinters_delNode)
    Clear = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Clear)
    Assign = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Assign)
    Set = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Set)
    Remove = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Remove)
    Append = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Append)
    Prepend = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Prepend)
    InsertBefore = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_InsertAfter)
    Split = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Split)
    First = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_First)
    ChangeFirst = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_ChangeFirst)
    Last = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Last)
    ChangeLast = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_ChangeLast)
    Value = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_Value)
    ChangeValue = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_ChangeValue)
    __call__ = _swig_new_instance_method(_Message.Message_SequenceOfPrinters___call__)
    SetValue = _swig_new_instance_method(_Message.Message_SequenceOfPrinters_SetValue)
    __swig_destroy__ = _Message.delete_Message_SequenceOfPrinters

# Register Message_SequenceOfPrinters in _Message:
_Message.Message_SequenceOfPrinters_swigregister(Message_SequenceOfPrinters)
Message_SequenceOfPrinters_delNode = _Message.Message_SequenceOfPrinters_delNode

class Message_SequenceOfProgressScale(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_begin)
    end = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_end)
    cbegin = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_cbegin)
    cend = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_cend)

    def __init__(self, *args):
        _Message.Message_SequenceOfProgressScale_swiginit(self, _Message.new_Message_SequenceOfProgressScale(*args))
    Size = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Size)
    Length = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Length)
    Lower = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Lower)
    Upper = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Upper)
    IsEmpty = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_IsEmpty)
    Reverse = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Reverse)
    Exchange = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Exchange)
    delNode = _swig_new_static_method(_Message.Message_SequenceOfProgressScale_delNode)
    Clear = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Clear)
    Assign = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Assign)
    Set = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Set)
    Remove = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Remove)
    Append = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Append)
    Prepend = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Prepend)
    InsertBefore = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_InsertAfter)
    Split = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Split)
    First = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_First)
    ChangeFirst = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_ChangeFirst)
    Last = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Last)
    ChangeLast = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_ChangeLast)
    Value = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_Value)
    ChangeValue = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_ChangeValue)
    __call__ = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale___call__)
    SetValue = _swig_new_instance_method(_Message.Message_SequenceOfProgressScale_SetValue)
    __swig_destroy__ = _Message.delete_Message_SequenceOfProgressScale

# Register Message_SequenceOfProgressScale in _Message:
_Message.Message_SequenceOfProgressScale_swigregister(Message_SequenceOfProgressScale)
Message_SequenceOfProgressScale_delNode = _Message.Message_SequenceOfProgressScale_delNode

class Message_ListOfAlert(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_Message.Message_ListOfAlert_begin)
    end = _swig_new_instance_method(_Message.Message_ListOfAlert_end)
    cbegin = _swig_new_instance_method(_Message.Message_ListOfAlert_cbegin)
    cend = _swig_new_instance_method(_Message.Message_ListOfAlert_cend)

    def __init__(self, *args):
        _Message.Message_ListOfAlert_swiginit(self, _Message.new_Message_ListOfAlert(*args))
    Size = _swig_new_instance_method(_Message.Message_ListOfAlert_Size)
    Assign = _swig_new_instance_method(_Message.Message_ListOfAlert_Assign)
    Set = _swig_new_instance_method(_Message.Message_ListOfAlert_Set)
    Clear = _swig_new_instance_method(_Message.Message_ListOfAlert_Clear)
    First = _swig_new_instance_method(_Message.Message_ListOfAlert_First)
    Last = _swig_new_instance_method(_Message.Message_ListOfAlert_Last)
    Append = _swig_new_instance_method(_Message.Message_ListOfAlert_Append)
    Prepend = _swig_new_instance_method(_Message.Message_ListOfAlert_Prepend)
    RemoveFirst = _swig_new_instance_method(_Message.Message_ListOfAlert_RemoveFirst)
    Remove = _swig_new_instance_method(_Message.Message_ListOfAlert_Remove)
    InsertBefore = _swig_new_instance_method(_Message.Message_ListOfAlert_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Message.Message_ListOfAlert_InsertAfter)
    Reverse = _swig_new_instance_method(_Message.Message_ListOfAlert_Reverse)
    __swig_destroy__ = _Message.delete_Message_ListOfAlert

# Register Message_ListOfAlert in _Message:
_Message.Message_ListOfAlert_swigregister(Message_ListOfAlert)



