startServer method

Future<void> startServer({
  1. required String serviceUuid,
  2. required List<BleCharacteristic> characteristics,
  3. String? name,
  4. bool requireAdvertisedName = false,
  5. bool allowAndroidAdapterNameChange = false,
})

Compatibility entry point for a single service configured at startup. Prefer a constructor profile followed by start for new code.

Implementation

Future<void> startServer({
  required String serviceUuid,
  required List<BleCharacteristic> characteristics,
  String? name,
  bool requireAdvertisedName = false,
  bool allowAndroidAdapterNameChange = false,
}) => _enqueue(
  () => _start(
    BleProfile(
      name: name,
      requireAdvertisedName: requireAdvertisedName,
      allowAndroidAdapterNameChange: allowAndroidAdapterNameChange,
      services: [
        BleService(
          uuid: serviceUuid,
          fields: characteristics
              .map(
                (c) => BleField<List<int>>(
                  uuid: c.uuid,
                  codec: BleCodecs.bytes,
                  initialValue: c.initialValue,
                  access: c.properties.toSet(),
                ),
              )
              .toList(),
        ),
      ],
    ),
  ),
);