@@ -181,11 +181,12 @@ class AdvertiserMinMdns : public ServiceAdvertiser,
181
181
182
182
// Service advertiser
183
183
CHIP_ERROR Init (chip::Inet::EndPointManager<chip::Inet::UDPEndPoint> * udpEndPointManager) override ;
184
+ bool IsInitialized () override { return mIsInitialized ; }
184
185
void Shutdown () override ;
185
186
CHIP_ERROR RemoveServices () override ;
186
187
CHIP_ERROR Advertise (const OperationalAdvertisingParameters & params) override ;
187
188
CHIP_ERROR Advertise (const CommissionAdvertisingParameters & params) override ;
188
- CHIP_ERROR FinalizeServiceUpdate () override { return CHIP_NO_ERROR; }
189
+ CHIP_ERROR FinalizeServiceUpdate () override ;
189
190
CHIP_ERROR GetCommissionableInstanceName (char * instanceName, size_t maxLength) const override ;
190
191
CHIP_ERROR UpdateCommissionableInstanceName () override ;
191
192
@@ -363,6 +364,8 @@ CHIP_ERROR AdvertiserMinMdns::Init(chip::Inet::EndPointManager<chip::Inet::UDPEn
363
364
364
365
void AdvertiserMinMdns::Shutdown ()
365
366
{
367
+ VerifyOrReturn (mIsInitialized );
368
+
366
369
AdvertiseRecords (BroadcastAdvertiseType::kRemovingAll );
367
370
368
371
GlobalMinimalMdnsServer::Server ().Shutdown ();
@@ -371,6 +374,8 @@ void AdvertiserMinMdns::Shutdown()
371
374
372
375
CHIP_ERROR AdvertiserMinMdns::RemoveServices ()
373
376
{
377
+ VerifyOrReturnError (mIsInitialized , CHIP_ERROR_INCORRECT_STATE);
378
+
374
379
// Send a "goodbye" packet for each RR being removed, as defined in RFC 6762.
375
380
// This allows mDNS clients to remove stale cached records which may not be re-added with
376
381
// subsequent Advertise() calls. In the case the same records are re-added, this extra
@@ -446,6 +451,8 @@ OperationalQueryAllocator::Allocator * AdvertiserMinMdns::FindEmptyOperationalAl
446
451
447
452
CHIP_ERROR AdvertiserMinMdns::Advertise (const OperationalAdvertisingParameters & params)
448
453
{
454
+ VerifyOrReturnError (mIsInitialized , CHIP_ERROR_INCORRECT_STATE);
455
+
449
456
char nameBuffer[Operational::kInstanceNameMaxLength + 1 ] = " " ;
450
457
451
458
// need to set server name
@@ -547,6 +554,12 @@ CHIP_ERROR AdvertiserMinMdns::Advertise(const OperationalAdvertisingParameters &
547
554
return CHIP_NO_ERROR;
548
555
}
549
556
557
+ CHIP_ERROR AdvertiserMinMdns::FinalizeServiceUpdate ()
558
+ {
559
+ VerifyOrReturnError (mIsInitialized , CHIP_ERROR_INCORRECT_STATE);
560
+ return CHIP_NO_ERROR;
561
+ }
562
+
550
563
CHIP_ERROR AdvertiserMinMdns::GetCommissionableInstanceName (char * instanceName, size_t maxLength) const
551
564
{
552
565
if (maxLength < (Commission::kInstanceNameMaxLength + 1 ))
@@ -568,6 +581,8 @@ CHIP_ERROR AdvertiserMinMdns::UpdateCommissionableInstanceName()
568
581
569
582
CHIP_ERROR AdvertiserMinMdns::Advertise (const CommissionAdvertisingParameters & params)
570
583
{
584
+ VerifyOrReturnError (mIsInitialized , CHIP_ERROR_INCORRECT_STATE);
585
+
571
586
if (params.GetCommissionAdvertiseMode () == CommssionAdvertiseMode::kCommissionableNode )
572
587
{
573
588
mQueryResponderAllocatorCommissionable .Clear ();
0 commit comments