a
    {bH                     @   s   d Z G dd dZdS )a  
Wifi Facade.
=============

The :class:`Wifi` is to provide access to the wifi of your mobile/ desktop
devices.

It currently supports `connecting`, `disconnecting`, `scanning`, `getting
available wifi network list` and `getting network information`.

Simple examples
---------------

To enable/ turn on wifi scanning::

    >>> from plyer import wifi
    >>> wifi.start_scanning()

Once the wifi is enabled/ turned on, then this command starts to scan
all the nearby available wifi networks.

To get network info::

    >>> from plyer import wifi
    >>> wifi.start_scanning()
    >>> return wifi.get_network_info(name)

Returns network details of the network who's name/ssid is provided in the
`name` parameter.

To connect to a network::

    >>> from plyer import wifi
    >>> wifi.start_scanning()
    >>> wifi.connect(network, parameters)

This connects to the network who's name/ssid is provided under `network`
parameter and along with other necessary methods for connection
which depends upon platform to platform.

please visit following files for more details about requirements of
`paramaters` argument in `connect` method:

    plyer/platforms/win/wifi.py
    plyer/platforms/macosx/wifi.py
    plyer/platforms/win/wifi.py

To disconnect from wifi::

    >>> from plyer import wifi
    >>> wifi.disconnect()

This disconnects your device from any wifi network.

To get available wifi networks::

    >>> from plyer import wifi
    >>> wifi.start_scanning()
    >>> return wifi.get_available_wifi()

This returns all the available wifi networks near the device.

Supported Platforms
-------------------
Windows, OS X, Linux

Ex: 6
----------

from plyer import wifi
wifi.enable()

This enables wifi device.

Ex: 7
----------

from plyer import wifi
wifi.disable()

This disable wifi device
c                   @   s   e Zd ZdZdd Zd)ddZedd Zd*d	d
Zdd Z	dd Z
d+ddZd,ddZdd Zdd Zdd Zd-ddZd.ddZdd Zdd  Zd!d" Zd/d#d$Zd%d& Zd'd( ZdS )0Wifiz
    Wifi Facade.
    c                 C   s   |   S )z9
        Return enabled status of WiFi hardware.
        )_is_enabledself r   b/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/plyer/facades/wifi.py
is_enabledZ   s    zWifi.is_enabledNc                 C   s   | j |dS )z]
        Return connection state of WiFi interface.

        .. versionadded:: 1.4.0
        	interface)_is_connectedr   r	   r   r   r   is_connected`   s    zWifi.is_connectedc                 C   s
   t  dS )zV
        List all available WiFi interfaces.

        .. versionadded:: 1.4.0
        NNotImplementedErrorr   r   r   r   
interfacesh   s    zWifi.interfacesc                 C   s   | j |dS )z#
        Turn on scanning.
        r   )_start_scanningr   r   r   r   start_scanningr   s    zWifi.start_scanningc                 C   s   | j |dS )z:
        Return a dictionary of secified network.
        )name)_get_network_info)r   r   r   r   r   get_network_infox   s    zWifi.get_network_infoc                 C   s   |   S )z;
        Returns a list of all the available wifi.
        )_get_available_wifir   r   r   r   get_available_wifi~   s    zWifi.get_available_wific                 C   s   | j |||d dS )z4
        Method to connect to some network.
        )network
parametersr	   N)_connect)r   r   r   r	   r   r   r   connect   s
    zWifi.connectc                 C   s   | j |d dS )z2
        To disconnect from some network.
        r   N)_disconnectr   r   r   r   
disconnect   s    zWifi.disconnectc                 C   s   |    dS )z<
        Wifi interface power state is set to "ON".
        N)_enabler   r   r   r   enable   s    zWifi.enablec                 C   s   |    dS )z=
        Wifi interface power state is set to "OFF".
        N)_disabler   r   r   r   disable   s    zWifi.disablec                 C   s
   t  d S Nr   r   r   r   r   r      s    zWifi._is_enabledc                 C   s
   t  d S r!   r   r   r   r   r   r
      s    zWifi._is_connectedc                 C   s
   t  d S r!   r   r   r   r   r   r      s    zWifi._start_scanningc                 K   s
   t  d S r!   r   r   kwargsr   r   r   r      s    zWifi._get_network_infoc                 C   s
   t  d S r!   r   r   r   r   r   r      s    zWifi._get_available_wific                 K   s
   t  d S r!   r   r"   r   r   r   r      s    zWifi._connectc                 C   s
   t  d S r!   r   r   r   r   r   r      s    zWifi._disconnectc                 C   s
   t  d S r!   r   r   r   r   r   r      s    zWifi._enablec                 C   s
   t  d S r!   r   r   r   r   r   r      s    zWifi._disable)N)N)N)N)N)N)N)__name__
__module____qualname____doc__r   r   propertyr   r   r   r   r   r   r   r    r   r
   r   r   r   r   r   r   r   r   r   r   r   r   U   s*   

	






r   N)r'   r   r   r   r   r   <module>   s   T