@@ -53,8 +53,8 @@ static const unsigned char ca_certificate[] = {
53
53
54
54
#include "mender-client.h"
55
55
#include "mender-configure.h"
56
- #include "mender-inventory.h"
57
56
#include "mender-flash.h"
57
+ #include "mender-inventory.h"
58
58
#include "mender-shell.h"
59
59
#include "mender-troubleshoot.h"
60
60
@@ -126,22 +126,8 @@ authentication_success_cb(void) {
126
126
127
127
LOG_INF ("Mender client authenticated" );
128
128
129
- /* Activate mender add-ons */
130
- /* The application can activate each add-on depending of the current status of the device */
131
- /* In this example, add-ons are activated has soon as authentication succeeds */
132
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE
133
- if (MENDER_OK != (ret = mender_configure_activate ())) {
134
- LOG_ERR ("Unable to activate configure add-on" );
135
- return ret ;
136
- }
137
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE */
138
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY
139
- if (MENDER_OK != (ret = mender_inventory_activate ())) {
140
- LOG_ERR ("Unable to activate inventory add-on" );
141
- return ret ;
142
- }
143
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY */
144
129
#ifdef CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT
130
+ /* Activate troubleshoot add-on (deactivated by default) */
145
131
if (MENDER_OK != (ret = mender_troubleshoot_activate ())) {
146
132
LOG_ERR ("Unable to activate troubleshoot add-on" );
147
133
return ret ;
@@ -150,6 +136,7 @@ authentication_success_cb(void) {
150
136
151
137
/* Validate the image if it is still pending */
152
138
/* Note it is possible to do multiple diagnosic tests before validating the image */
139
+ /* In this example, authentication success with the mender-server is enough */
153
140
if (MENDER_OK != (ret = mender_flash_confirm_image ())) {
154
141
LOG_ERR ("Unable to validate the image" );
155
142
return ret ;
@@ -169,7 +156,7 @@ authentication_failure_cb(void) {
169
156
170
157
/* Check if confirmation of the image is still pending */
171
158
if (true == mender_flash_is_image_confirmed ()) {
172
- LOG_ERR ("Mender client authentication failed" );
159
+ LOG_INF ("Mender client authentication failed" );
173
160
return MENDER_OK ;
174
161
}
175
162
@@ -311,20 +298,24 @@ main(void) {
311
298
.config_updated = config_updated_cb ,
312
299
#endif /* CONFIG_MENDER_CLIENT_CONFIGURE_STORAGE */
313
300
};
314
- assert (MENDER_OK == mender_configure_init (& mender_configure_config , & mender_configure_callbacks ));
315
- LOG_INF ("Mender configure initialized" );
301
+ assert (MENDER_OK
302
+ == mender_client_register_addon (
303
+ (mender_addon_instance_t * )& mender_configure_addon_instance , (void * )& mender_configure_config , (void * )& mender_configure_callbacks ));
304
+ LOG_INF ("Mender configure add-on registered" );
316
305
#endif /* CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE */
317
306
#ifdef CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY
318
307
mender_inventory_config_t mender_inventory_config = { .refresh_interval = 0 };
319
- assert (MENDER_OK == mender_inventory_init ( & mender_inventory_config ));
320
- LOG_INF ("Mender inventory initialized " );
308
+ assert (MENDER_OK == mender_client_register_addon (( mender_addon_instance_t * ) & mender_inventory_addon_instance , ( void * ) & mender_inventory_config , NULL ));
309
+ LOG_INF ("Mender inventory add-on registered " );
321
310
#endif /* CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY */
322
311
#ifdef CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT
323
312
mender_troubleshoot_config_t mender_troubleshoot_config = { .healthcheck_interval = 0 };
324
313
mender_troubleshoot_callbacks_t mender_troubleshoot_callbacks
325
- = { .shell_begin = mender_shell_begin , .shell_resize = mender_shell_resize , .shell_write = mender_shell_write , .shell_end = mender_shell_end };
326
- assert (MENDER_OK == mender_troubleshoot_init (& mender_troubleshoot_config , & mender_troubleshoot_callbacks ));
327
- LOG_INF ("Mender troubleshoot initialized" );
314
+ = { .shell_begin = shell_begin_cb , .shell_resize = shell_resize_cb , .shell_write = shell_write_cb , .shell_end = shell_end_cb };
315
+ assert (MENDER_OK
316
+ == mender_client_register_addon (
317
+ (mender_addon_instance_t * )& mender_troubleshoot_addon_instance , (void * )& mender_troubleshoot_config , (void * )& mender_troubleshoot_callbacks ));
318
+ LOG_INF ("Mender troubleshoot add-on registered" );
328
319
#endif /* CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT */
329
320
330
321
#ifdef CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE
@@ -355,26 +346,19 @@ main(void) {
355
346
}
356
347
#endif /* CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY */
357
348
349
+ /* Finally activate mender client */
350
+ if (MENDER_OK != mender_client_activate ()) {
351
+ LOG_ERR ("Unable to activate mender-client" );
352
+ goto RELEASE ;
353
+ }
354
+
358
355
/* Wait for mender-mcu-client events */
359
356
k_event_wait_all (& mender_client_events , MENDER_CLIENT_EVENT_RESTART , false, K_FOREVER );
360
357
361
- /* Deactivate mender add-ons */
362
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT
363
- mender_troubleshoot_deactivate ();
364
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT */
365
-
366
- /* Release mender add-ons */
367
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT
368
- mender_troubleshoot_exit ();
369
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT */
370
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY
371
- mender_inventory_exit ();
372
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_INVENTORY */
373
- #ifdef CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE
374
- mender_configure_exit ();
375
- #endif /* CONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE */
358
+ RELEASE :
376
359
377
- /* Release mender-client */
360
+ /* Deactivate and release mender-client */
361
+ mender_client_deactivate ();
378
362
mender_client_exit ();
379
363
380
364
/* Restart */
0 commit comments