:right-sidebar: True UnixSocketAddress =================================================================== .. currentmodule:: gi.repository.Gio .. class:: UnixSocketAddress(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.Gio.SocketAddress`, :class:`~gi.repository.GObject.Object` Implemented Interfaces: :class:`~gi.repository.Gio.SocketConnectable` :Constructors: :: UnixSocketAddress(**properties) new(path:str) -> Gio.SocketAddress new_abstract(path:list) -> Gio.SocketAddress new_with_type(path:list, type:Gio.UnixSocketAddressType) -> Gio.SocketAddress Constructors ------------ .. rst-class:: interim-class .. class:: UnixSocketAddress :no-index: .. classmethod:: new(path: str) -> ~gi.repository.Gio.SocketAddress Creates a new :obj:`~gi.repository.Gio.UnixSocketAddress` for ``path``. To create abstract socket addresses, on systems that support that, use :func:`~gi.repository.Gio.UnixSocketAddress.new_abstract`. .. versionadded:: 2.22 :param path: the socket path .. classmethod:: new_abstract(path: ~typing.Sequence[int]) -> ~gi.repository.Gio.SocketAddress Creates a new :const:`~gi.repository.Gio.UnixSocketAddressType.ABSTRACT_PADDED` :obj:`~gi.repository.Gio.UnixSocketAddress` for ``path``. .. deprecated:: Unknown Use :func:`~gi.repository.Gio.UnixSocketAddress.new_with_type`. :param path: the abstract name .. classmethod:: new_with_type(path: ~typing.Sequence[int], type: ~gi.repository.Gio.UnixSocketAddressType) -> ~gi.repository.Gio.SocketAddress Creates a new :obj:`~gi.repository.Gio.UnixSocketAddress` of type ``type`` with name ``path``. If ``type`` is :const:`~gi.repository.Gio.UnixSocketAddressType.PATH`, this is equivalent to calling :func:`~gi.repository.Gio.UnixSocketAddress.new`. If ``type`` is :const:`~gi.repository.Gio.UnixSocketAddressType.ANONYMOUS`, ``path`` and ``path_len`` will be ignored. If ``path_type`` is :const:`~gi.repository.Gio.UnixSocketAddressType.ABSTRACT`, then ``path_len`` bytes of ``path`` will be copied to the socket's path, and only those bytes will be considered part of the name. (If ``path_len`` is -1, then ``path`` is assumed to be NUL-terminated.) For example, if ``path`` was "test", then calling :func:`~gi.repository.Gio.SocketAddress.get_native_size` on the returned socket would return 7 (2 bytes of overhead, 1 byte for the abstract-socket indicator byte, and 4 bytes for the name "test"). If ``path_type`` is :const:`~gi.repository.Gio.UnixSocketAddressType.ABSTRACT_PADDED`, then ``path_len`` bytes of ``path`` will be copied to the socket's path, the rest of the path will be padded with 0 bytes, and the entire zero-padded buffer will be considered the name. (As above, if ``path_len`` is -1, then ``path`` is assumed to be NUL-terminated.) In this case, :func:`~gi.repository.Gio.SocketAddress.get_native_size` will always return the full size of a `struct sockaddr_un`, although :func:`~gi.repository.Gio.UnixSocketAddress.get_path_len` will still return just the length of ``path``. :const:`~gi.repository.Gio.UnixSocketAddressType.ABSTRACT` is preferred over :const:`~gi.repository.Gio.UnixSocketAddressType.ABSTRACT_PADDED` for new programs. Of course, when connecting to a server created by another process, you must use the appropriate type corresponding to how that process created its listening socket. .. versionadded:: 2.26 :param path: the name :param type: a :obj:`~gi.repository.Gio.UnixSocketAddressType` Methods ------- .. rst-class:: interim-class .. class:: UnixSocketAddress :no-index: .. method:: abstract_names_supported() -> bool Checks if abstract UNIX domain socket names are supported. .. versionadded:: 2.22 .. method:: get_address_type() -> ~gi.repository.Gio.UnixSocketAddressType Gets ``address``'s type. .. versionadded:: 2.26 .. method:: get_is_abstract() -> bool Tests if ``address`` is abstract. .. versionadded:: 2.22 .. deprecated:: Unknown Use :func:`~gi.repository.Gio.UnixSocketAddress.get_address_type` .. method:: get_path() -> str Gets ``address``'s path, or for abstract sockets the "name". Guaranteed to be zero-terminated, but an abstract socket may contain embedded zeros, and thus you should use :func:`~gi.repository.Gio.UnixSocketAddress.get_path_len` to get the true length of this string. .. versionadded:: 2.22 .. method:: get_path_len() -> int Gets the length of ``address``'s path. For details, see :func:`~gi.repository.Gio.UnixSocketAddress.get_path`. .. versionadded:: 2.22 Properties ---------- .. rst-class:: interim-class .. class:: UnixSocketAddress :no-index: .. attribute:: props.abstract :type: bool Whether or not this is an abstract address .. deprecated:: Unknown Use :obj:`~gi.repository.Gio.UnixSocketAddress`:address-type, which distinguishes between zero-padded and non-zero-padded abstract addresses. .. attribute:: props.address_type :type: ~gi.repository.Gio.UnixSocketAddressType The type of Unix socket address. .. versionadded:: 2.22 .. attribute:: props.path :type: str Unix socket path. .. versionadded:: 2.22 .. attribute:: props.path_as_array :type: ~typing.Sequence[int] Unix socket path, as a byte array. .. versionadded:: 2.22 Fields ------ .. rst-class:: interim-class .. class:: UnixSocketAddress :no-index: .. attribute:: parent_instance .. attribute:: priv