CHIP_ERROR err;
mServiceMode = ConnectivityManager::kCHIPoBLEServiceMode_Enabled;
- mFlags = CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART ? kFlag_AdvertisingEnabled : 0;
- mNumGAPCons = 0;
+ mFlags.ClearAll().Set(Flags::kAdvertisingEnabled, CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART);
+ mNumGAPCons = 0;
for (int i = 0; i < kMaxConnections; i++)
{
mSubscribedConIds[i] = BLE_CONNECTION_UNINITIALIZED;
VerifyOrExit(mServiceMode != ConnectivityManager::kCHIPoBLEServiceMode_NotSupported, err = CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE);
- if (GetFlag(mFlags, kFlag_AdvertisingEnabled) != val)
+ if (mFlags.Has(Flags::kAdvertisingEnabled) != val)
{
- SetFlag(mFlags, kFlag_AdvertisingEnabled, val);
+ mFlags.Set(Flags::kAdvertisingEnabled, val);
PlatformMgr().ScheduleWork(DriveBLEState, 0);
}
VerifyOrExit(mServiceMode == ConnectivityManager::kCHIPoBLEServiceMode_NotSupported, err = CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE);
- if (GetFlag(mFlags, kFlag_FastAdvertisingEnabled) != val)
+ if (mFlags.Has(Flags::kFastAdvertisingEnabled) != val)
{
- SetFlag(mFlags, kFlag_FastAdvertisingEnabled, val);
+ mFlags.Set(Flags::kFastAdvertisingEnabled, val);
PlatformMgr().ScheduleWork(DriveBLEState, 0);
}
#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
if (ConfigurationMgr().IsFullyProvisioned())
{
- ClearFlag(mFlags, kFlag_AdvertisingEnabled);
+ mFlags.Clear(Flags::kAdvertisingEnabled);
ChipLogProgress(DeviceLayer, "CHIPoBLE advertising disabled because device is fully provisioned");
}
#endif // CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
// Force the advertising state to be refreshed to reflect new provisioning state.
- SetFlag(mFlags, kFlag_AdvertisingRefreshNeeded);
+ mFlags.Set(Flags::kAdvertisingRefreshNeeded);
DriveBLEState();
CHIP_ERROR err = CHIP_NO_ERROR;
// Perform any initialization actions that must occur after the CHIP task is running.
- if (!GetFlag(mFlags, kFlag_AsyncInitCompleted))
+ if (!mFlags.Has(Flags::kAsyncInitCompleted))
{
- SetFlag(mFlags, kFlag_AsyncInitCompleted);
+ mFlags.Set(Flags::kAsyncInitCompleted);
// If CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED is enabled,
// disable CHIPoBLE advertising if the device is fully provisioned.
#if CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
if (ConfigurationMgr().IsFullyProvisioned())
{
- ClearFlag(mFlags, kFlag_AdvertisingEnabled);
+ mFlags.Clear(Flags::kAdvertisingEnabled);
ChipLogProgress(DeviceLayer, "CHIPoBLE advertising disabled because device is fully provisioned");
}
#endif // CHIP_DEVICE_CONFIG_CHIPOBLE_DISABLE_ADVERTISING_WHEN_PROVISIONED
// If the application has enabled CHIPoBLE and BLE advertising...
if (mServiceMode == ConnectivityManager::kCHIPoBLEServiceMode_Enabled &&
- GetFlag(mFlags, kFlag_AdvertisingEnabled)
+ mFlags.Has(Flags::kAdvertisingEnabled)
#if CHIP_DEVICE_CONFIG_CHIPOBLE_SINGLE_CONNECTION
// and no connections are active...
&& (mNumGAPCons == 0)
{
// Start/re-start BLE advertising if not already advertising, or if the
// advertising state of the underlying stack needs to be refreshed.
- if (!GetFlag(mFlags, kFlag_Advertising) || GetFlag(mFlags, kFlag_AdvertisingRefreshNeeded))
+ if (!mFlags.Has(Flags::kAdvertising) || mFlags.Has(Flags::kAdvertisingRefreshNeeded))
{
err = StartAdvertising();
SuccessOrExit(err);
err = ConfigurationMgr().GetBLEDeviceIdentificationInfo(mDeviceIdInfo);
SuccessOrExit(err);
- if (!GetFlag(mFlags, kFlag_DeviceNameSet))
+ if (!mFlags.Has(Flags::kDeviceNameSet))
{
snprintf(mDeviceName, sizeof(mDeviceName), "%s%04" PRIX32, CHIP_DEVICE_CONFIG_BLE_DEVICE_NAME_PREFIX, (uint32_t) 0);
err = ConfigureAdvertisingData();
SuccessOrExit(err);
- SetFlag(mFlags, kFlag_Advertising, true);
+ mFlags.Set(Flags::kAdvertising);
- interval = ((mNumGAPCons == 0 && !ConfigurationMgr().IsPairedToAccount()) || GetFlag(mFlags, kFlag_FastAdvertisingEnabled))
+ interval = ((mNumGAPCons == 0 && !ConfigurationMgr().IsPairedToAccount()) || mFlags.Has(Flags::kFastAdvertisingEnabled))
? CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_INTERVAL
: CHIP_DEVICE_CONFIG_BLE_SLOW_ADVERTISING_INTERVAL;
SuccessOrExit(err);
// Transition to the not Advertising state...
- if (GetFlag(mFlags, kFlag_Advertising))
+ if (mFlags.Has(Flags::kAdvertising))
{
- ClearFlag(mFlags, kFlag_Advertising);
+ mFlags.Clear(Flags::kAdvertising);
ChipLogProgress(DeviceLayer, "CHIPoBLE advertising stopped");
ExitNow();
}
- ClearFlag(sInstance.mFlags, kFlag_AdvertisingRefreshNeeded);
+ sInstance.mFlags.Clear(Flags::kAdvertisingRefreshNeeded);
// Transition to the Advertising state...
- if (!GetFlag(sInstance.mFlags, kFlag_Advertising))
+ if (!sInstance.mFlags.Has(Flags::kAdvertising))
{
ChipLogProgress(DeviceLayer, "CHIPoBLE advertising started");
- SetFlag(sInstance.mFlags, kFlag_Advertising, true);
+ sInstance.mFlags.Set(Flags::kAdvertising);
// Post a CHIPoBLEAdvertisingChange(Started) event.
{
ExitNow();
}
- ClearFlag(sInstance.mFlags, kFlag_AdvertisingRefreshNeeded);
+ sInstance.mFlags.Clear(Flags::kAdvertisingRefreshNeeded);
// Transition to the not Advertising state...
- if (GetFlag(sInstance.mFlags, kFlag_Advertising))
+ if (sInstance.mFlags.Has(Flags::kAdvertising))
{
- ClearFlag(sInstance.mFlags, kFlag_Advertising);
+ sInstance.mFlags.Clear(Flags::kAdvertising);
ChipLogProgress(DeviceLayer, "CHIPoBLE advertising stopped");
// Receiving a connection stops the advertising processes. So force a refresh of the advertising
// state.
- SetFlag(mFlags, kFlag_AdvertisingRefreshNeeded);
+ mFlags.Set(Flags::kAdvertisingRefreshNeeded);
PlatformMgr().ScheduleWork(DriveBLEState, 0);
break;
}
PlatformMgr().PostEvent(&event);
}
- SetFlag(mFlags, kFlag_AdvertisingRefreshNeeded);
+ mFlags.Set(Flags::kAdvertisingRefreshNeeded);
PlatformMgr().ScheduleWork(DriveBLEState, 0);
break;
}