示例#1
0
        internal void ActivatePushButton()
        {
            int ret = Interop.WiFiDirect.ActivatePushButton();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to set the Wps config PBC, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#2
0
        internal void SetAutoGroupRemove(bool enable)
        {
            int ret = Interop.WiFiDirect.SetAutoGroupRemoval(enable);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to set automatic group removal feature when all peers are disconnected, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#3
0
        internal void DestroyGroup()
        {
            int ret = Interop.WiFiDirect.DestroyGroup();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to destroy the WiFi-Direct group, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#4
0
        internal void Deactivate()
        {
            int ret = Interop.WiFiDirect.Deactivate();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to deactivate Wi-Fi direct service, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#5
0
        internal void StartDiscovery(bool listenOnly, int duration, WiFiDirectDiscoveryChannel channel = WiFiDirectDiscoveryChannel.FullScan)
        {
            int ret = Interop.WiFiDirect.StartDiscoveryInChannel(listenOnly, duration, channel);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to start discovery, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#6
0
        internal void DeregisterService(uint serviceId)
        {
            int ret = Interop.WiFiDirect.DeregisterService(serviceId);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to deregister service, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#7
0
        internal void SetDisplay(WiFiDirectDisplayType type, int port, int hdcp)
        {
            int ret = Interop.WiFiDirect.SetDisplay(type, port, hdcp);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to set the Wi-Fi Display parameters, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#8
0
        internal void DisconnectAll()
        {
            int ret = Interop.WiFiDirect.DisconnectAll();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to disconnect all connected links, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#9
0
        internal void SetDisplayAvailability(bool availability)
        {
            int ret = Interop.WiFiDirect.SetDisplayAvailability(availability);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to set the Wi-Fi Display session availability, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#10
0
        internal void InitMiracast(bool enable)
        {
            int ret = Interop.WiFiDirect.InitMiracast(enable);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to set the WiFi-Direct Display(MIRACAST) service, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#11
0
        internal void RemovePersistentGroup(WiFiDirectPersistentGroup group)
        {
            int ret = Interop.WiFiDirect.RemovePersistentGroup(group.MacAddress, group.Ssid);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to remove a persistent group, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#12
0
        internal void CancelDiscovery()
        {
            int ret = Interop.WiFiDirect.StopDiscovery();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to cancel discovery, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }
        }
示例#13
0
        internal uint RegisterService(WiFiDirectServiceType type, string info, string serviceInfo)
        {
            uint serviceId;
            int  ret = Interop.WiFiDirect.RegisterService(type, info, serviceInfo, out serviceId);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to register for service, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            return(serviceId);
        }
示例#14
0
        private void Deinitialize()
        {
            int ret = Interop.WiFiDirect.Deinitialize();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to deinitialize Wi-Fi direct, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            else
            {
                Globals.s_isInitialize = false;
            }
        }
示例#15
0
        internal void DeinitDisplay()
        {
            int ret = Interop.WiFiDirect.DeinitDisplay();

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to disable Wi-Fi Display functionality, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            else
            {
                Globals.s_isDisplay = false;
            }
        }
示例#16
0
        /// <summary>
        /// Stops the Wi-Fi Direct service discovery.
        /// </summary>
        /// <remarks>
        /// Wi-Fi Direct must be activated.
        /// </remarks>
        /// <exception cref="NotSupportedException">
        /// Thrown during one of the following cases:
        /// 1. When the Wi-Fi Direct is not supported.
        /// 2. When the Wi-Fi Direct service discovery is not supported.
        /// </exception>
        /// <param name="type">The type of the service.</param>
        /// <since_tizen> 3 </since_tizen>
        public void CancelServiceDiscovery(WiFiDirectServiceType type)
        {
            if (Globals.IsActivated)
            {
                int ret = Interop.WiFiDirect.StopServiceDiscovery(_peerMacAddress, type);
                if (ret != (int)WiFiDirectError.None)
                {
                    Log.Error(Globals.LogTag, "Failed to stop Wi-Fi Direct service discovery, Error - " + (WiFiDirectError)ret);
                    WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
                }
            }

            else
            {
                Log.Error(Globals.LogTag, "Wifi-direct is not activated");
                WiFiDirectErrorFactory.ThrowWiFiDirectException((int)WiFiDirectError.NotPermitted);
            }
        }
示例#17
0
        /// <summary>
        /// Allows a device to connect automatically.
        /// </summary>
        /// <remarks>
        /// Wi-Fi Direct must be activated.
        /// </remarks>
        /// <exception cref="NotSupportedException">Thrown when the Wi-Fi Direct is not supported.</exception>
        /// <since_tizen> 3 </since_tizen>
        public void SetAutoConnect()
        {
            if (Globals.IsActivated)
            {
                int ret = Interop.WiFiDirect.SetAutoConnectionPeer(_peerMacAddress);
                if (ret != (int)WiFiDirectError.None)
                {
                    Log.Error(Globals.LogTag, "Failed to set auto connection, Error - " + (WiFiDirectError)ret);
                    WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
                }
            }

            else
            {
                Log.Error(Globals.LogTag, "Wifi-direct is not activated");
                WiFiDirectErrorFactory.ThrowWiFiDirectException((int)WiFiDirectError.NotPermitted);
            }
        }
示例#18
0
        internal IEnumerable <WiFiDirectPersistentGroup> GetPersistentGroups()
        {
            List <WiFiDirectPersistentGroup> persistentGroupList = new List <WiFiDirectPersistentGroup>();

            Interop.WiFiDirect.PersistentGroupCallback callback = (string address, string ssid, IntPtr userData) =>
            {
                if (address != null && ssid != null)
                {
                    persistentGroupList.Add(new WiFiDirectPersistentGroup(address, ssid));
                }

                return(true);
            };
            int ret = Interop.WiFiDirect.GetPersistentGroups(callback, IntPtr.Zero);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get the persistent groups, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            return(persistentGroupList);
        }
示例#19
0
        internal IEnumerable <WiFiDirectWpsType> GetSupportedWpsTypes()
        {
            List <WiFiDirectWpsType> wpsList = new List <WiFiDirectWpsType>();

            Interop.WiFiDirect.WpsTypeCallback callback = (WiFiDirectWpsType type, IntPtr userData) =>
            {
                if (!type.Equals(null))
                {
                    wpsList.Add(type);
                }

                return(true);
            };
            int ret = Interop.WiFiDirect.GetWpsTypes(callback, IntPtr.Zero);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get the supported WPS types, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            return(wpsList);
        }
示例#20
0
        internal IEnumerable <WiFiDirectPeer> GetConnectedPeers()
        {
            List <WiFiDirectPeer> connectedPeerList = new List <WiFiDirectPeer>();

            Interop.WiFiDirect.ConnectedPeerCallback callback = (ref ConnectedPeerStruct peer, IntPtr userData) =>
            {
                if (!peer.Equals(null))
                {
                    connectedPeerList.Add(WiFiDirectUtils.ConvertStructToConnectedPeer(peer));
                }

                return(true);
            };
            int ret = Interop.WiFiDirect.GetConnectedPeers(callback, IntPtr.Zero);

            if (ret != (int)WiFiDirectError.None)
            {
                Log.Error(Globals.LogTag, "Failed to get information of connected peers, Error - " + (WiFiDirectError)ret);
                WiFiDirectErrorFactory.ThrowWiFiDirectException(ret);
            }

            return(connectedPeerList);
        }