@@ -118,10 +118,6 @@ CHIP_ERROR CastingApp::Start()
118
118
});
119
119
}
120
120
121
- // Set a handler for Commissioner's CommissionerDeclaration messages.
122
- chip::Server::GetInstance ().GetUserDirectedCommissioningClient ()->SetCommissionerDeclarationHandler (
123
- CommissionerDeclarationHandler::GetInstance ());
124
-
125
121
return CHIP_NO_ERROR;
126
122
}
127
123
@@ -144,6 +140,10 @@ CHIP_ERROR CastingApp::PostStartRegistrations()
144
140
// Register DeviceEvent Handler
145
141
ReturnErrorOnFailure (chip::DeviceLayer::PlatformMgrImpl ().AddEventHandler (ChipDeviceEventHandler::Handle , 0 ));
146
142
143
+ // Set a handler for Commissioner's CommissionerDeclaration messages.
144
+ chip::Server::GetInstance ().GetUserDirectedCommissioningClient ()->SetCommissionerDeclarationHandler (
145
+ CommissionerDeclarationHandler::GetInstance ());
146
+
147
147
mState = CASTING_APP_RUNNING; // CastingApp started successfully, set state to RUNNING
148
148
return CHIP_NO_ERROR;
149
149
}
@@ -153,13 +153,14 @@ CHIP_ERROR CastingApp::Stop()
153
153
ChipLogProgress (Discovery, " CastingApp::Stop() called" );
154
154
VerifyOrReturnError (mState == CASTING_APP_RUNNING, CHIP_ERROR_INCORRECT_STATE);
155
155
156
+ // Remove the handler previously set for Commissioner's CommissionerDeclaration messages.
157
+ chip::Server::GetInstance ().GetUserDirectedCommissioningClient ()->SetCommissionerDeclarationHandler (nullptr );
158
+
156
159
// Shutdown the Matter server
157
160
chip::Server::GetInstance ().Shutdown ();
158
161
159
162
mState = CASTING_APP_NOT_RUNNING; // CastingApp stopped successfully, set state to NOT_RUNNING
160
163
161
- chip::Server::GetInstance ().GetUserDirectedCommissioningClient ()->RemoveCommissionerDeclarationHandler ();
162
-
163
164
return CHIP_NO_ERROR;
164
165
}
165
166
0 commit comments