# 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.

"""
Resource module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_resource.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 _Resource
else:
    import _Resource

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__ = _Resource.delete_SwigPyIterator

    def value(self) -> "PyObject *":
        return _Resource.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _Resource.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _Resource.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _Resource.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _Resource.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _Resource.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _Resource.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _Resource.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _Resource.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _Resource.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _Resource.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _Resource.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _Resource.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _Resource.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _Resource.SwigPyIterator___add__(self, n)

    def __sub__(self, *args) -> "ptrdiff_t":
        return _Resource.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _Resource:
_Resource.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


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _Resource.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection

from enum import IntEnum
from OCC.Core.Exception import *

Resource_FormatType_SJIS = _Resource.Resource_FormatType_SJIS
Resource_FormatType_EUC = _Resource.Resource_FormatType_EUC
Resource_FormatType_NoConversion = _Resource.Resource_FormatType_NoConversion
Resource_FormatType_GB = _Resource.Resource_FormatType_GB
Resource_FormatType_UTF8 = _Resource.Resource_FormatType_UTF8
Resource_FormatType_SystemLocale = _Resource.Resource_FormatType_SystemLocale
Resource_FormatType_CP1250 = _Resource.Resource_FormatType_CP1250
Resource_FormatType_CP1251 = _Resource.Resource_FormatType_CP1251
Resource_FormatType_CP1252 = _Resource.Resource_FormatType_CP1252
Resource_FormatType_CP1253 = _Resource.Resource_FormatType_CP1253
Resource_FormatType_CP1254 = _Resource.Resource_FormatType_CP1254
Resource_FormatType_CP1255 = _Resource.Resource_FormatType_CP1255
Resource_FormatType_CP1256 = _Resource.Resource_FormatType_CP1256
Resource_FormatType_CP1257 = _Resource.Resource_FormatType_CP1257
Resource_FormatType_CP1258 = _Resource.Resource_FormatType_CP1258
Resource_FormatType_iso8859_1 = _Resource.Resource_FormatType_iso8859_1
Resource_FormatType_iso8859_2 = _Resource.Resource_FormatType_iso8859_2
Resource_FormatType_iso8859_3 = _Resource.Resource_FormatType_iso8859_3
Resource_FormatType_iso8859_4 = _Resource.Resource_FormatType_iso8859_4
Resource_FormatType_iso8859_5 = _Resource.Resource_FormatType_iso8859_5
Resource_FormatType_iso8859_6 = _Resource.Resource_FormatType_iso8859_6
Resource_FormatType_iso8859_7 = _Resource.Resource_FormatType_iso8859_7
Resource_FormatType_iso8859_8 = _Resource.Resource_FormatType_iso8859_8
Resource_FormatType_iso8859_9 = _Resource.Resource_FormatType_iso8859_9
Resource_FormatType_GBK = _Resource.Resource_FormatType_GBK
Resource_FormatType_Big5 = _Resource.Resource_FormatType_Big5
Resource_FormatType_ANSI = _Resource.Resource_FormatType_ANSI
Resource_SJIS = _Resource.Resource_SJIS
Resource_EUC = _Resource.Resource_EUC
Resource_ANSI = _Resource.Resource_ANSI
Resource_GB = _Resource.Resource_GB


class Resource_FormatType(IntEnum):
	Resource_FormatType_SJIS = 0
	Resource_FormatType_EUC = 1
	Resource_FormatType_NoConversion = 2
	Resource_FormatType_GB = 3
	Resource_FormatType_UTF8 = 4
	Resource_FormatType_SystemLocale = 5
	Resource_FormatType_CP1250 = 6
	Resource_FormatType_CP1251 = 7
	Resource_FormatType_CP1252 = 8
	Resource_FormatType_CP1253 = 9
	Resource_FormatType_CP1254 = 10
	Resource_FormatType_CP1255 = 11
	Resource_FormatType_CP1256 = 12
	Resource_FormatType_CP1257 = 13
	Resource_FormatType_CP1258 = 14
	Resource_FormatType_iso8859_1 = 15
	Resource_FormatType_iso8859_2 = 16
	Resource_FormatType_iso8859_3 = 17
	Resource_FormatType_iso8859_4 = 18
	Resource_FormatType_iso8859_5 = 19
	Resource_FormatType_iso8859_6 = 20
	Resource_FormatType_iso8859_7 = 21
	Resource_FormatType_iso8859_8 = 22
	Resource_FormatType_iso8859_9 = 23
	Resource_FormatType_GBK = 24
	Resource_FormatType_Big5 = 25
	Resource_FormatType_ANSI = Resource_FormatType_NoConversion
	Resource_SJIS = Resource_FormatType_SJIS
	Resource_EUC = Resource_FormatType_EUC
	Resource_ANSI = Resource_FormatType_ANSI
	Resource_GB = Resource_FormatType_GB
Resource_FormatType_SJIS = Resource_FormatType.Resource_FormatType_SJIS
Resource_FormatType_EUC = Resource_FormatType.Resource_FormatType_EUC
Resource_FormatType_NoConversion = Resource_FormatType.Resource_FormatType_NoConversion
Resource_FormatType_GB = Resource_FormatType.Resource_FormatType_GB
Resource_FormatType_UTF8 = Resource_FormatType.Resource_FormatType_UTF8
Resource_FormatType_SystemLocale = Resource_FormatType.Resource_FormatType_SystemLocale
Resource_FormatType_CP1250 = Resource_FormatType.Resource_FormatType_CP1250
Resource_FormatType_CP1251 = Resource_FormatType.Resource_FormatType_CP1251
Resource_FormatType_CP1252 = Resource_FormatType.Resource_FormatType_CP1252
Resource_FormatType_CP1253 = Resource_FormatType.Resource_FormatType_CP1253
Resource_FormatType_CP1254 = Resource_FormatType.Resource_FormatType_CP1254
Resource_FormatType_CP1255 = Resource_FormatType.Resource_FormatType_CP1255
Resource_FormatType_CP1256 = Resource_FormatType.Resource_FormatType_CP1256
Resource_FormatType_CP1257 = Resource_FormatType.Resource_FormatType_CP1257
Resource_FormatType_CP1258 = Resource_FormatType.Resource_FormatType_CP1258
Resource_FormatType_iso8859_1 = Resource_FormatType.Resource_FormatType_iso8859_1
Resource_FormatType_iso8859_2 = Resource_FormatType.Resource_FormatType_iso8859_2
Resource_FormatType_iso8859_3 = Resource_FormatType.Resource_FormatType_iso8859_3
Resource_FormatType_iso8859_4 = Resource_FormatType.Resource_FormatType_iso8859_4
Resource_FormatType_iso8859_5 = Resource_FormatType.Resource_FormatType_iso8859_5
Resource_FormatType_iso8859_6 = Resource_FormatType.Resource_FormatType_iso8859_6
Resource_FormatType_iso8859_7 = Resource_FormatType.Resource_FormatType_iso8859_7
Resource_FormatType_iso8859_8 = Resource_FormatType.Resource_FormatType_iso8859_8
Resource_FormatType_iso8859_9 = Resource_FormatType.Resource_FormatType_iso8859_9
Resource_FormatType_GBK = Resource_FormatType.Resource_FormatType_GBK
Resource_FormatType_Big5 = Resource_FormatType.Resource_FormatType_Big5
Resource_FormatType_ANSI = Resource_FormatType.Resource_FormatType_ANSI
Resource_SJIS = Resource_FormatType.Resource_SJIS
Resource_EUC = Resource_FormatType.Resource_EUC
Resource_ANSI = Resource_FormatType.Resource_ANSI
Resource_GB = Resource_FormatType.Resource_GB


def Handle_Resource_Manager_Create() -> "opencascade::handle< Resource_Manager >":
    return _Resource.Handle_Resource_Manager_Create()

def Handle_Resource_Manager_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Resource_Manager >":
    return _Resource.Handle_Resource_Manager_DownCast(t)

def Handle_Resource_Manager_IsNull(t: "opencascade::handle< Resource_Manager > const &") -> "bool":
    return _Resource.Handle_Resource_Manager_IsNull(t)
class Resource_DataMapOfAsciiStringAsciiString(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString >::iterator":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_begin(self)

    def end(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString >::iterator":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_end(self)

    def cbegin(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString >::const_iterator":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString >::const_iterator":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_cend(self)

    def __init__(self, *args):
        _Resource.Resource_DataMapOfAsciiStringAsciiString_swiginit(self, _Resource.new_Resource_DataMapOfAsciiStringAsciiString(*args))

    def Exchange(self, theOther: "Resource_DataMapOfAsciiStringAsciiString") -> "void":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Exchange(self, theOther)

    def Assign(self, theOther: "Resource_DataMapOfAsciiStringAsciiString") -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString > &":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Assign(self, theOther)

    def Set(self, theOther: "Resource_DataMapOfAsciiStringAsciiString") -> "NCollection_DataMap< TCollection_AsciiString,TCollection_AsciiString,TCollection_AsciiString > &":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_ReSize(self, N)

    def Bind(self, theKey: "TCollection_AsciiString", theItem: "TCollection_AsciiString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TCollection_AsciiString", theItem: "TCollection_AsciiString") -> "TCollection_AsciiString *":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_IsBound(self, theKey)

    def UnBind(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_UnBind(self, theKey)

    def Seek(self, theKey: "TCollection_AsciiString") -> "TCollection_AsciiString const *":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Find(self, *args)

    def ChangeSeek(self, theKey: "TCollection_AsciiString") -> "TCollection_AsciiString *":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TCollection_AsciiString") -> "TCollection_AsciiString &":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TCollection_AsciiString &":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Clear(self, *args)
    __swig_destroy__ = _Resource.delete_Resource_DataMapOfAsciiStringAsciiString

    def Size(self) -> "Standard_Integer":
        return _Resource.Resource_DataMapOfAsciiStringAsciiString_Size(self)

# Register Resource_DataMapOfAsciiStringAsciiString in _Resource:
_Resource.Resource_DataMapOfAsciiStringAsciiString_swigregister(Resource_DataMapOfAsciiStringAsciiString)

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

    def begin(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString >::iterator":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_begin(self)

    def end(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString >::iterator":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_end(self)

    def cbegin(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString >::const_iterator":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString >::const_iterator":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_cend(self)

    def __init__(self, *args):
        _Resource.Resource_DataMapOfAsciiStringExtendedString_swiginit(self, _Resource.new_Resource_DataMapOfAsciiStringExtendedString(*args))

    def Exchange(self, theOther: "Resource_DataMapOfAsciiStringExtendedString") -> "void":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Exchange(self, theOther)

    def Assign(self, theOther: "Resource_DataMapOfAsciiStringExtendedString") -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString > &":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Assign(self, theOther)

    def Set(self, theOther: "Resource_DataMapOfAsciiStringExtendedString") -> "NCollection_DataMap< TCollection_AsciiString,TCollection_ExtendedString,TCollection_AsciiString > &":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_ReSize(self, N)

    def Bind(self, theKey: "TCollection_AsciiString", theItem: "TCollection_ExtendedString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TCollection_AsciiString", theItem: "TCollection_ExtendedString") -> "TCollection_ExtendedString *":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_IsBound(self, theKey)

    def UnBind(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_UnBind(self, theKey)

    def Seek(self, theKey: "TCollection_AsciiString") -> "TCollection_ExtendedString const *":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Find(self, *args)

    def ChangeSeek(self, theKey: "TCollection_AsciiString") -> "TCollection_ExtendedString *":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TCollection_AsciiString") -> "TCollection_ExtendedString &":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TCollection_ExtendedString &":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Clear(self, *args)
    __swig_destroy__ = _Resource.delete_Resource_DataMapOfAsciiStringExtendedString

    def Size(self) -> "Standard_Integer":
        return _Resource.Resource_DataMapOfAsciiStringExtendedString_Size(self)

# Register Resource_DataMapOfAsciiStringExtendedString in _Resource:
_Resource.Resource_DataMapOfAsciiStringExtendedString_swigregister(Resource_DataMapOfAsciiStringExtendedString)

class Resource_LexicalCompare(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):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _Resource.Resource_LexicalCompare_swiginit(self, _Resource.new_Resource_LexicalCompare(*args))

    def IsLower(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <left> is lower than <right>.

        Parameters
        ----------
        Left: TCollection_AsciiString
        Right: TCollection_AsciiString

        Returns
        -------
        bool

        """
        return _Resource.Resource_LexicalCompare_IsLower(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Resource.delete_Resource_LexicalCompare

# Register Resource_LexicalCompare in _Resource:
_Resource.Resource_LexicalCompare_swigregister(Resource_LexicalCompare)

class Resource_Manager(OCC.Core.Standard.Standard_Transient):
    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):
        r"""
        Create a resource manager. attempts to find the two following files: $csf_`aname`defaults/aname $csf_`aname`userdefaults/aname and load them respectively into a reference and a user resource structure. //! if csf_resourceverbose defined, seeked files will be printed. //! file syntax the syntax of a resource file is a sequence of resource lines terminated by newline characters or end of file. the syntax of an individual resource line is:.

        Parameters
        ----------
        aName: char *
        Verbose: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Create a resource manager. @param thename [in] description file name @param thedefaultsdirectory [in] default folder for looking description file @param theuserdefaultsdirectory [in] user folder for looking description file @param theisverbose [in] print verbose messages.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theDefaultsDirectory: TCollection_AsciiString
        theUserDefaultsDirectory: TCollection_AsciiString
        theIsVerbose: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Resource.Resource_Manager_swiginit(self, _Resource.new_Resource_Manager(*args))

    def ExtValue(self, *args) -> "Standard_ExtString":
        r"""
        Gets the value of an extstring resource according to its instance and its type.

        Parameters
        ----------
        aResourceName: char *

        Returns
        -------
        Standard_ExtString

        """
        return _Resource.Resource_Manager_ExtValue(self, *args)

    def Find(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the resource does exist.

        Parameters
        ----------
        aResource: char *

        Returns
        -------
        bool
        Returns true if the resource does exist.

        Parameters
        ----------
        theResource: TCollection_AsciiString
        theValue: TCollection_AsciiString

        Returns
        -------
        bool

        """
        return _Resource.Resource_Manager_Find(self, *args)

    @staticmethod
    def GetResourcePath(*args) -> "void":
        r"""
        Gets the resource file full path by its name. if corresponding environment variable is not set or file doesn't exist returns empty string.

        Parameters
        ----------
        aPath: TCollection_AsciiString
        aName: char *
        isUserDefaults: bool

        Returns
        -------
        None

        """
        return _Resource.Resource_Manager_GetResourcePath(*args)

    def Integer(self, *args) -> "Standard_Integer":
        r"""
        Gets the value of an integer resource according to its instance and its type.

        Parameters
        ----------
        aResourceName: char *

        Returns
        -------
        int

        """
        return _Resource.Resource_Manager_Integer(self, *args)

    def Real(self, *args) -> "Standard_Real":
        r"""
        Gets the value of a real resource according to its instance and its type.

        Parameters
        ----------
        aResourceName: char *

        Returns
        -------
        float

        """
        return _Resource.Resource_Manager_Real(self, *args)

    def Save(self, *args) -> "Standard_Boolean":
        r"""
        Save the user resource structure in the specified file. creates the file if it does not exist.

        Returns
        -------
        bool

        """
        return _Resource.Resource_Manager_Save(self, *args)

    def SetResource(self, *args) -> "void":
        r"""
        Sets the new value of an integer resource. if the resource does not exist, it is created.

        Parameters
        ----------
        aResourceName: char *
        aValue: int

        Returns
        -------
        None
        Sets the new value of a real resource. if the resource does not exist, it is created.

        Parameters
        ----------
        aResourceName: char *
        aValue: float

        Returns
        -------
        None
        Sets the new value of an cstring resource. if the resource does not exist, it is created.

        Parameters
        ----------
        aResourceName: char *
        aValue: char *

        Returns
        -------
        None
        Sets the new value of an extstring resource. if the resource does not exist, it is created.

        Parameters
        ----------
        aResourceName: char *
        aValue: Standard_ExtString

        Returns
        -------
        None

        """
        return _Resource.Resource_Manager_SetResource(self, *args)

    def Value(self, *args) -> "char const *":
        r"""
        Gets the value of a cstring resource according to its instance and its type.

        Parameters
        ----------
        aResourceName: char *

        Returns
        -------
        char *

        """
        return _Resource.Resource_Manager_Value(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_Resource_Manager_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _Resource.delete_Resource_Manager

# Register Resource_Manager in _Resource:
_Resource.Resource_Manager_swigregister(Resource_Manager)

def Resource_Manager_GetResourcePath(*args) -> "void":
    r"""
    Gets the resource file full path by its name. if corresponding environment variable is not set or file doesn't exist returns empty string.

    Parameters
    ----------
    aPath: TCollection_AsciiString
    aName: char *
    isUserDefaults: bool

    Returns
    -------
    None

    """
    return _Resource.Resource_Manager_GetResourcePath(*args)

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

    @staticmethod
    def ConvertBig5ToUnicode(*args) -> "Standard_Boolean":
        r"""
        Converts non-ascii cstring <fromstr> in big5 format to unicode extendedstring <tostr>.

        Parameters
        ----------
        fromstr: char *
        tostr: TCollection_ExtendedString

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertBig5ToUnicode(*args)

    @staticmethod
    def ConvertEUCToUnicode(*args) -> "void":
        r"""
        Converts non-ascii cstring <fromstr> in euc format to unicode extendedstring <tostr>.

        Parameters
        ----------
        fromstr: char *
        tostr: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_ConvertEUCToUnicode(*args)

    @staticmethod
    def ConvertFormatToUnicode(*args) -> "void":
        r"""
        Converts the non-ascii c string (as specified by getformat()) to the unicode string of extended characters.

        Parameters
        ----------
        theFromStr: char *
        theToStr: TCollection_ExtendedString

        Returns
        -------
        None
        Converts the non-ascii c string in specified format to the unicode string of extended characters. @param theformat [in] source encoding @param thefromstr [in] text to convert @param thetostr [out] destination string.

        Parameters
        ----------
        theFormat: Resource_FormatType
        theFromStr: char *
        theToStr: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_ConvertFormatToUnicode(*args)

    @staticmethod
    def ConvertGBKToUnicode(*args) -> "Standard_Boolean":
        r"""
        Converts non-ascii cstring <fromstr> in gbk format to unicode extendedstring <tostr>.

        Parameters
        ----------
        fromstr: char *
        tostr: TCollection_ExtendedString

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertGBKToUnicode(*args)

    @staticmethod
    def ConvertGBToUnicode(*args) -> "void":
        r"""
        Converts non-ascii cstring <fromstr> in gb format to unicode extendedstring <tostr>.

        Parameters
        ----------
        fromstr: char *
        tostr: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_ConvertGBToUnicode(*args)

    @staticmethod
    def ConvertSJISToUnicode(*args) -> "void":
        r"""
        Converts non-ascii cstring <fromstr> in sjis format to unicode extendedstring <tostr>.

        Parameters
        ----------
        fromstr: char *
        tostr: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_ConvertSJISToUnicode(*args)

    @staticmethod
    def ConvertUnicodeToANSI(*args) -> "Standard_Boolean":
        r"""
        Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in ansi format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

        Parameters
        ----------
        fromstr: TCollection_ExtendedString
        tostr: Standard_PCharacter
        maxsize: int

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertUnicodeToANSI(*args)

    @staticmethod
    def ConvertUnicodeToEUC(*args) -> "Standard_Boolean":
        r"""
        Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in euc format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

        Parameters
        ----------
        fromstr: TCollection_ExtendedString
        tostr: Standard_PCharacter
        maxsize: int

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertUnicodeToEUC(*args)

    @staticmethod
    def ConvertUnicodeToFormat(*args) -> "Standard_Boolean":
        r"""
        Converts the unicode string of extended characters to the non-ascii string according to specified format. you need more than twice the length of the source string to complete the conversion. the function returns true if conversion is complete, i.e. the maximum number of characters is not reached before the end of conversion. @param theformat [in] destination encoding @param thefromstr [in] text to convert @param thetostr [out] destination buffer @param themaxsize [in] destination buffer length.

        Parameters
        ----------
        theFormat: Resource_FormatType
        theFromStr: TCollection_ExtendedString
        theToStr: Standard_PCharacter
        theMaxSize: int

        Returns
        -------
        bool
        Converts the unicode string of extended characters to the non-ascii string according to the format returned by the function getformat. @param thefromstr [in] text to convert @param thetostr [out] destination buffer @param themaxsize [in] destination buffer length.

        Parameters
        ----------
        theFromStr: TCollection_ExtendedString
        theToStr: Standard_PCharacter
        theMaxSize: int

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertUnicodeToFormat(*args)

    @staticmethod
    def ConvertUnicodeToGB(*args) -> "Standard_Boolean":
        r"""
        Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in gb format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

        Parameters
        ----------
        fromstr: TCollection_ExtendedString
        tostr: Standard_PCharacter
        maxsize: int

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertUnicodeToGB(*args)

    @staticmethod
    def ConvertUnicodeToSJIS(*args) -> "Standard_Boolean":
        r"""
        Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in sjis format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

        Parameters
        ----------
        fromstr: TCollection_ExtendedString
        tostr: Standard_PCharacter
        maxsize: int

        Returns
        -------
        bool

        """
        return _Resource.Resource_Unicode_ConvertUnicodeToSJIS(*args)

    @staticmethod
    def GetFormat(*args) -> "Resource_FormatType":
        r"""
        Returns the current conversion format (either ansi, euc, gb or sjis). the current converting format must be defined in advance with the setformat function.

        Returns
        -------
        Resource_FormatType

        """
        return _Resource.Resource_Unicode_GetFormat(*args)

    @staticmethod
    def ReadFormat(*args) -> "void":
        r"""
        Reads converting format from resource 'formattype' in resource manager 'charset'.

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_ReadFormat(*args)

    @staticmethod
    def SetFormat(*args) -> "void":
        r"""
        Defines the current conversion format as typecode. this conversion format will then be used by the functions convertformattounicode and convertunicodetoformat to convert the strings.

        Parameters
        ----------
        typecode: Resource_FormatType

        Returns
        -------
        None

        """
        return _Resource.Resource_Unicode_SetFormat(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Resource.Resource_Unicode_swiginit(self, _Resource.new_Resource_Unicode())
    __swig_destroy__ = _Resource.delete_Resource_Unicode

# Register Resource_Unicode in _Resource:
_Resource.Resource_Unicode_swigregister(Resource_Unicode)

def Resource_Unicode_ConvertBig5ToUnicode(*args) -> "Standard_Boolean":
    r"""
    Converts non-ascii cstring <fromstr> in big5 format to unicode extendedstring <tostr>.

    Parameters
    ----------
    fromstr: char *
    tostr: TCollection_ExtendedString

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertBig5ToUnicode(*args)

def Resource_Unicode_ConvertEUCToUnicode(*args) -> "void":
    r"""
    Converts non-ascii cstring <fromstr> in euc format to unicode extendedstring <tostr>.

    Parameters
    ----------
    fromstr: char *
    tostr: TCollection_ExtendedString

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_ConvertEUCToUnicode(*args)

def Resource_Unicode_ConvertFormatToUnicode(*args) -> "void":
    r"""
    Converts the non-ascii c string (as specified by getformat()) to the unicode string of extended characters.

    Parameters
    ----------
    theFromStr: char *
    theToStr: TCollection_ExtendedString

    Returns
    -------
    None
    Converts the non-ascii c string in specified format to the unicode string of extended characters. @param theformat [in] source encoding @param thefromstr [in] text to convert @param thetostr [out] destination string.

    Parameters
    ----------
    theFormat: Resource_FormatType
    theFromStr: char *
    theToStr: TCollection_ExtendedString

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_ConvertFormatToUnicode(*args)

def Resource_Unicode_ConvertGBKToUnicode(*args) -> "Standard_Boolean":
    r"""
    Converts non-ascii cstring <fromstr> in gbk format to unicode extendedstring <tostr>.

    Parameters
    ----------
    fromstr: char *
    tostr: TCollection_ExtendedString

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertGBKToUnicode(*args)

def Resource_Unicode_ConvertGBToUnicode(*args) -> "void":
    r"""
    Converts non-ascii cstring <fromstr> in gb format to unicode extendedstring <tostr>.

    Parameters
    ----------
    fromstr: char *
    tostr: TCollection_ExtendedString

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_ConvertGBToUnicode(*args)

def Resource_Unicode_ConvertSJISToUnicode(*args) -> "void":
    r"""
    Converts non-ascii cstring <fromstr> in sjis format to unicode extendedstring <tostr>.

    Parameters
    ----------
    fromstr: char *
    tostr: TCollection_ExtendedString

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_ConvertSJISToUnicode(*args)

def Resource_Unicode_ConvertUnicodeToANSI(*args) -> "Standard_Boolean":
    r"""
    Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in ansi format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

    Parameters
    ----------
    fromstr: TCollection_ExtendedString
    tostr: Standard_PCharacter
    maxsize: int

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertUnicodeToANSI(*args)

def Resource_Unicode_ConvertUnicodeToEUC(*args) -> "Standard_Boolean":
    r"""
    Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in euc format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

    Parameters
    ----------
    fromstr: TCollection_ExtendedString
    tostr: Standard_PCharacter
    maxsize: int

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertUnicodeToEUC(*args)

def Resource_Unicode_ConvertUnicodeToFormat(*args) -> "Standard_Boolean":
    r"""
    Converts the unicode string of extended characters to the non-ascii string according to specified format. you need more than twice the length of the source string to complete the conversion. the function returns true if conversion is complete, i.e. the maximum number of characters is not reached before the end of conversion. @param theformat [in] destination encoding @param thefromstr [in] text to convert @param thetostr [out] destination buffer @param themaxsize [in] destination buffer length.

    Parameters
    ----------
    theFormat: Resource_FormatType
    theFromStr: TCollection_ExtendedString
    theToStr: Standard_PCharacter
    theMaxSize: int

    Returns
    -------
    bool
    Converts the unicode string of extended characters to the non-ascii string according to the format returned by the function getformat. @param thefromstr [in] text to convert @param thetostr [out] destination buffer @param themaxsize [in] destination buffer length.

    Parameters
    ----------
    theFromStr: TCollection_ExtendedString
    theToStr: Standard_PCharacter
    theMaxSize: int

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertUnicodeToFormat(*args)

def Resource_Unicode_ConvertUnicodeToGB(*args) -> "Standard_Boolean":
    r"""
    Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in gb format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

    Parameters
    ----------
    fromstr: TCollection_ExtendedString
    tostr: Standard_PCharacter
    maxsize: int

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertUnicodeToGB(*args)

def Resource_Unicode_ConvertUnicodeToSJIS(*args) -> "Standard_Boolean":
    r"""
    Converts unicode extendedstring <fromstr> to non-ascii cstring <tostr> in sjis format, limited to <maxsize> characters. to translate the whole <fromstr>, use more than twice the length of <fromstr>. returns true if <maxsize> has not been reached before end of conversion.

    Parameters
    ----------
    fromstr: TCollection_ExtendedString
    tostr: Standard_PCharacter
    maxsize: int

    Returns
    -------
    bool

    """
    return _Resource.Resource_Unicode_ConvertUnicodeToSJIS(*args)

def Resource_Unicode_GetFormat(*args) -> "Resource_FormatType":
    r"""
    Returns the current conversion format (either ansi, euc, gb or sjis). the current converting format must be defined in advance with the setformat function.

    Returns
    -------
    Resource_FormatType

    """
    return _Resource.Resource_Unicode_GetFormat(*args)

def Resource_Unicode_ReadFormat(*args) -> "void":
    r"""
    Reads converting format from resource 'formattype' in resource manager 'charset'.

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_ReadFormat(*args)

def Resource_Unicode_SetFormat(*args) -> "void":
    r"""
    Defines the current conversion format as typecode. this conversion format will then be used by the functions convertformattounicode and convertunicodetoformat to convert the strings.

    Parameters
    ----------
    typecode: Resource_FormatType

    Returns
    -------
    None

    """
    return _Resource.Resource_Unicode_SetFormat(*args)





