Example #1
0
        public void L2CapListen()
        {
            L2CapListener lsnr = null;

            try {
                lsnr = L2CapListen_();
                var cli = lsnr.AcceptClient();
                console.WriteLine("Accepted! :-)");
                //
                _peer     = cli.GetStream();
                _cliL2Cap = new WeakReferenceT <L2CapClient>(cli);
                console.WriteLine("Got connection from: {0}", cli.RemoteEndPoint);
                //PrintLocalEndpointIfAvailable(cli);
                PrintMtuEtc(cli);
                console.Pause("Un-pause to continue; and close listener");
            } finally {
                if (lsnr != null)
                {
                    lsnr.Stop();
                }
            }
        }
Example #2
0
        private L2CapListener L2CapListen_()
        {
            Guid svcClass  = SvcClassForL2CapTests;
            Guid?inputGuid = console.ReadOptionalBluetoothUuid("UUID", svcClass);

            if (inputGuid.HasValue)
            {
                svcClass = inputGuid.Value;
            }
            int?port = console.ReadOptionalInteger("PSM");

#if AUTH_ENCR_PIN
            bool             auth = console.ReadYesNo("Authenticate", false);
            bool             encpt = console.ReadYesNo("Encrypt", false);
            bool             setPin1, setPin2;
            string           passcode;
            BluetoothAddress pinAddr;
            PromptForSetPin(console, out setPin1, out setPin2, out passcode, out pinAddr);
#endif
            string svcName = console.ReadLine("Service Name (optional)");
            if (svcName != null && svcName.Length == 0)
            {
                svcName = null;
            }
            //
            BluetoothEndPoint lep;
            if (port == null)
            {
                lep = new BluetoothEndPoint(BluetoothAddress.None, svcClass);
            }
            else
            {
                lep = new BluetoothEndPoint(BluetoothAddress.None, svcClass, port.Value);
            }
            console.WriteLine("Going to listen on: {0}:{1}:{2}; auth: {3}, encrypt: {4}.",
                              lep.Address, lep.Service, lep.Port, false /*auth*/, false /*encpt*/);
            //
            var lsnr = new L2CapListener(lep);
            if (svcName != null)
            {
                lsnr.ServiceName = svcName;
            }
#if AUTH_ENCR_PIN
            // Assume false by default, so if NotImpl fails only if user says true.
            if (auth)
            {
                lsnr.Authenticate = true;
            }
            if (encpt)
            {
                lsnr.Encrypt = true;
            }
            if (setPin1)
            {
                Debug.Assert(pinAddr == null, "pinAddr == null");
                //lsnr.SetPin(passcode);
                console.WriteLine("Soooorrrrry we don't support SetPin(String) on listener!!!!");
                throw new NotSupportedException("ConsoleMenuTesting");
            }
            else if (setPin2)
            {
                Debug.Assert(pinAddr != null, "pinAddr != null");
                lsnr.SetPin(pinAddr, passcode);
            }
#endif
            console.WriteLine("Starting Listener...");
            lsnr.Start();
            BluetoothEndPoint lepLsnr = (BluetoothEndPoint)lsnr.LocalEndPoint;
            console.WriteLine("Listening on endpoint: {0}", lepLsnr);
            return(lsnr);
        }
Example #3
0
 //[Test]
 public void L2capLsnrAccept2_None()
 {
     // No usage exceptions
     var lsnr = new L2CapListener(Guid.Empty);
     var task = lsnr.AcceptClientAsync(null);
 }