...
Include device-service-client.h
Create a BDeviceServiceInitializeParamsContainer with b_device_service_initialize_params_container_new and set the main storge directory with b_device_service_initialize_params_container_set_storage_dir
If Matter support is included, additional related configuration should be provided by calls to
b_device_service_initialize_params_container_set_matter_storage_dirb_device_service_initialize_params_container_set_matter_attestation_trust_store_dirb_device_service_initialize_params_container_set_network_credentials_providerCreate the BDeviceServiceClient instance with b_device_service_client_new
Start the client with b_device_service_client_start
Wire up any desired events using g_signal_connect. Some typical top-level signals of interest include:
B_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DISCOVERY_STARTEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DISCOVERY_STOPPEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DEVICE_DISCOVEREDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DEVICE_REJECTEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DEVICE_ADDEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_ENDPOINT_ADDEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DEVICE_DISCOVERY_COMPLETEDB_DEVICE_SERVICE_CLIENT_SIGNAL_NAME_DEVICE_DISCOVERY_FAILEDOnce devices are added, additional signals can be connected to get events from those as well.
Perform some action with the client such as commissioning a new Matter device with b_device_service_client_commission_devicedevice or changing a resource on a device to perform some action with b_device_service_client_write_resource
...