Example #1
0
        public static BluetoothHost Initialize(BluetoothHostConfiguration configuration, params GattService[] services)
        {
            if (!isDeviceInitialized)
            {
                NativeInitializeDevice(
                    configuration.DeviceName,
                    configuration.Mode,
                    configuration.MaxTransferUnit);

                isDeviceInitialized = true;
            }
            else
            {
                // Bluetooth reinitialization is not supported yet
            }

            return(new BluetoothHost(configuration, services));
        }
Example #2
0
        private BluetoothHost(BluetoothHostConfiguration configuration, GattService[] services)
        {
            this.configuration = configuration;

            Services = services;

            // Create Indices
            int serviceIndex = 0;

            foreach (GattService service in Services)
            {
                service.Index = serviceIndex++;

                int characteristicIndex = 0;

                foreach (GattCharacteristic characteristic in service.Characteristics)
                {
                    characteristic.ServiceIndex = service.Index;
                    characteristic.Index        = characteristicIndex++;
                }
            }

            EventSink.AddEventListener(OS.BluetoothEventCategory, this);
        }