le_avc_interface.h

Go to the documentation of this file.
1 /*
2  * ====================== WARNING ======================
3  *
4  * THE CONTENTS OF THIS FILE HAVE BEEN AUTO-GENERATED.
5  * DO NOT MODIFY IN ANY WAY.
6  *
7  * ====================== WARNING ======================
8  */
9 
10 /**
11  * @page c_le_avc AirVantage Connector
12  *
13  * @ref le_avc_interface.h "API Reference" <br>
14  * @ref howToAVConnect "How To Connect"
15  *
16  * <HR>
17  *
18  * The AirVantage connector service provides an API to communicate with the AirVantage server.
19  *
20  * @section c_le_avc_update Firmware/Application Update
21  *
22  * The API for firmware/application update is divided into two parts:
23  * - Allow a control app to contact the server for pending updates. If available,
24  * can select to download or install the update.
25  * <br>
26  * - Allow an app to block an update from being installed. An app may need this if it's
27  * performing a critical operation that can't be interrupted (e.g., eCall). This is necessary
28  * as installing an update will cause the app to restart (either the app itself needs to restart
29  * or a firmware change causes the modem to reset).
30  *
31  * @subsection c_le_avc_update_control Update Control
32  *
33  * A control app can start a session with an AirVantage server to determine if there
34  * is a pending update. This is done with le_avc_StartSession(). The current session can be
35  * stopped using le_avc_StopSession(). This cancels any query for pending update, or suspends a
36  * download in progress; however, it <b>won't stop</b> an install in progress.
37  *
38  * The status of a pending update is sent to the control app using a notification.
39  * The control app can use le_avc_AddStatusEventHandler() to register a handler function to
40  * receive this notification. The notification will be received after a session is started using
41  * le_avc_StartSession(). Sometimes, the modem firmware may decide to start a session with
42  * the AirVantage server. In this case, the notification could also be received, even if the
43  * control app has not explicitly called le_avc_StartSession().
44  *
45  * There can only be one pending update. To query the type of update, use le_avc_GetUpdateType().
46  * If it's an app update, then le_avc_GetAppUpdateName() can be used to get the name of
47  * the app.
48  *
49  * If a download is pending, then le_avc_AcceptDownload() can be used to allow the update to be
50  * downloaded. If this API is called while no AirVantage session is active, calling this API will
51  * initiate an AirVantage session. To defer the decision, le_avc_DeferDownload() can be used
52  * to defer the download for the specified number of minutes. After the defer time has elapsed,
53  * the pending download notification will be re-sent, to allow the control app to make a
54  * new decision, or again defer.
55  *
56  * Once an update has been downloaded, a new notification will be received to indicate that an
57  * install is pending. The control app can then use le_avc_AcceptInstall() to allow the
58  * install to proceed. Note that even if the control app calls le_avc_AcceptInstall(),
59  * the install may still be blocked by an app using the @ref c_le_avc_update_app
60  * functions. To defer the decision, the control app can use le_avc_DeferInstall() to
61  * defer the install for the specified number of minutes. After the defer time has elapsed, the
62  * pending install notification will be re-sent to allow the control app to make a new
63  * decision, or again defer.
64  *
65  * If an uninstall is pending, then le_avc_AcceptUninstall() can be used to allow the uninstall to
66  * proceed. To defer the decision, le_avc_DeferUninstall() can be used to defer the uninstall for
67  * the specified number of minutes. In case of an upgrade, the existing application will not be
68  * uninstalled after le_avc_AcceptUninstall() is called. le_avc_AcceptUninstall() is only used to
69  * signal the server to start downloading the new application. During an upgrade process the
70  * control app has to accept the uninstall of the existing version followed by accepting the
71  * download and install of the new version.
72  *
73  * Accepting an app install or uninstall will not initiate an AirVantage session if no session
74  * is active. The control app should start an AirVantage session before accepting an app
75  * install/uninstall, to ensure the process is completed, and the server is updated.
76  *
77  * If a control app doesn't register for notifications using le_avc_AddStatusEventHandler(),
78  * then any pending downloads and installs will happen automatically, subject to any restrictions
79  * imposed by app using the @ref c_le_avc_update_app functions. Also, only the control app
80  * registered for notifications will be allowed to use the other update control API functions.
81  *
82  * Only one control app is allowed to register for notifications. Any subsequent attempts by
83  * either the same app, or a different app is treated as a fatal error (i.e. non-recoverable)
84  * and will result in the client app being terminated.
85  *
86  * In case of any error incurred during app download/install, an error code will be set and the
87  * control app can retrieve it by calling le_avc_GetErrorCode().
88  *
89  * @subsection c_le_avc_update_app Application Blocking
90  *
91  * When an app is about to perform a critical operation, it can block the installation of
92  * an update with le_avc_BlockInstall(), and after it's finished with the critical operation, it
93  * can unblock the install with le_avc_UnblockInstall().
94  *
95  * What constitutes a critical operation depends on the app. An eCall app might
96  * block installs for the duration that it runs. A data collection app that wakes up
97  * once an hour might block installs while it collects and stores and/or transmits a new data
98  * sample, and then unblock installs just before it goes to sleep again.
99  *
100  * If an install can't be applied because it's blocked, another attempt to apply the install
101  * will be made at a later time.
102  *
103  * @section c_le_avc_GetPollingTimer Polling Timer
104  *
105  * The embedded module will periodically initiate a connection to the Device Services server
106  * according to the polling timer. The device initates the connection periodically, so that it can
107  * poll the server if there are any pending jobs. Writing 0 to the polling timer disables polling
108  * mode. Polling timer values range from 0 to 525600 minutes. The polling timer value is persistent.
109  * le_avc_GetPollingTimer() reads the polling timer and le_avc_SetPollingTimer() writes the polling
110  * timer.
111  *
112  * @section c_le_avc_GetRetryTimers Retry Timers
113  *
114  * If an error occurs during a connection to the Device Services server (WWAN DATA establishment
115  * failed, http error code received), the embedded module will initiate a new connection according
116  * to the values defined in the retry timers. The timers are tried in sequence until a connection is
117  * established, or all enabled retry timers are exhausted. After all the enabled timers are
118  * exhausted, a connection will be initiated only on a command from user (le_avc_startSession() )
119  * or at the expiry of the polling timer. The retry timer values are persistent. Writing 0
120  * to one of the retry timers will disable it. Retry timer values range from 0 to 20160 minutes.
121  * The api le_avc_GetRetryTimers() reads the polling timers in an array and the api
122  * le_avc_SetRetryTimers() writes the polling timers. When writing to the retry timers, values of
123  * all the 8 timers have to be defined.
124  *
125  * @section le_avcService_configdb Service Configuration Tree
126  * @copydoc le_avcService_configdbPage_Hide
127  *
128  * <HR>
129  *
130  * Copyright (C) Sierra Wireless Inc. Use of this work is subject to license.
131  */
132 /**
133  * @interface le_avcService_configdbPage_Hide
134  *
135  * The configuration database path for the modemActivityTimeout is:
136  * @verbatim
137  /
138  apps/
139  avcService/
140  modemActivityTimeout
141  @endverbatim
142  *
143  *
144  * After an AirVantage session is started, if there's no activity from the modem within the timer interval,
145  * then LE_AVC_NO_UPDATE state will be returned to the app. However, this modem activity timeout can
146  * be overridden by setting an integer value at /apps/avcService/modemActivityTimeout. The modem
147  * activity timer is initialized only when the avcService starts. If a valid entry >0 is found,
148  * then it will be used instead of the default value of 20 seconds. The following steps should be
149  * used to set the modemActivtyTimeout.
150  *
151  *
152  * @verbatim
153  config set /apps/avcService/modemActivityTimeout xx
154  app restart avcService
155  @endverbatim
156  *
157  * @note
158  * Everytime a new value is written to modemActivityTimeout, the avcService needs to be
159  * restarted to read the new value.
160  *
161  *
162  */
163 /**
164  * @file le_avc_interface.h
165  *
166  * Legato @ref c_le_avc include file.
167  *
168  * Copyright (C) Sierra Wireless Inc. Use of this work is subject to license.
169  */
170 
171 #ifndef LE_AVC_INTERFACE_H_INCLUDE_GUARD
172 #define LE_AVC_INTERFACE_H_INCLUDE_GUARD
173 
174 
175 #include "legato.h"
176 
177 // Interface specific includes
178 #include "le_limit_interface.h"
179 
180 
181 //--------------------------------------------------------------------------------------------------
182 /**
183  *
184  * Connect the current client thread to the service providing this API. Block until the service is
185  * available.
186  *
187  * For each thread that wants to use this API, either ConnectService or TryConnectService must be
188  * called before any other functions in this API. Normally, ConnectService is automatically called
189  * for the main thread, but not for any other thread. For details, see @ref apiFilesC_client.
190  *
191  * This function is created automatically.
192  */
193 //--------------------------------------------------------------------------------------------------
195 (
196  void
197 );
198 
199 //--------------------------------------------------------------------------------------------------
200 /**
201  *
202  * Try to connect the current client thread to the service providing this API. Return with an error
203  * if the service is not available.
204  *
205  * For each thread that wants to use this API, either ConnectService or TryConnectService must be
206  * called before any other functions in this API. Normally, ConnectService is automatically called
207  * for the main thread, but not for any other thread. For details, see @ref apiFilesC_client.
208  *
209  * This function is created automatically.
210  *
211  * @return
212  * - LE_OK if the client connected successfully to the service.
213  * - LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
214  * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
215  * - LE_COMM_ERROR if the Service Directory cannot be reached.
216  */
217 //--------------------------------------------------------------------------------------------------
219 (
220  void
221 );
222 
223 //--------------------------------------------------------------------------------------------------
224 /**
225  *
226  * Disconnect the current client thread from the service providing this API.
227  *
228  * Normally, this function doesn't need to be called. After this function is called, there's no
229  * longer a connection to the service, and the functions in this API can't be used. For details, see
230  * @ref apiFilesC_client.
231  *
232  * This function is created automatically.
233  */
234 //--------------------------------------------------------------------------------------------------
236 (
237  void
238 );
239 
240 
241 //--------------------------------------------------------------------------------------------------
242 /**
243  * Maximum APN name length without NULL terminator.
244  */
245 //--------------------------------------------------------------------------------------------------
246 #define LE_AVC_APN_NAME_MAX_LEN 48
247 
248 
249 //--------------------------------------------------------------------------------------------------
250 /**
251  * Maximum APN name length including NULL terminator.
252  */
253 //--------------------------------------------------------------------------------------------------
254 #define LE_AVC_APN_NAME_MAX_LEN_BYTES 49
255 
256 
257 //--------------------------------------------------------------------------------------------------
258 /**
259  * Maximum user name length without NULL terminator.
260  */
261 //--------------------------------------------------------------------------------------------------
262 #define LE_AVC_USERNAME_MAX_LEN 28
263 
264 
265 //--------------------------------------------------------------------------------------------------
266 /**
267  * Maximum user name length including NULL terminator.
268  */
269 //--------------------------------------------------------------------------------------------------
270 #define LE_AVC_USERNAME_MAX_LEN_BYTES 29
271 
272 
273 //--------------------------------------------------------------------------------------------------
274 /**
275  * Maximum password length without NULL terminator..
276  */
277 //--------------------------------------------------------------------------------------------------
278 #define LE_AVC_PASSWORD_MAX_LEN 28
279 
280 
281 //--------------------------------------------------------------------------------------------------
282 /**
283  * Maximum password length including NULL terminator.
284  */
285 //--------------------------------------------------------------------------------------------------
286 #define LE_AVC_PASSWORD_MAX_LEN_BYTES 29
287 
288 
289 //--------------------------------------------------------------------------------------------------
290 /**
291  * Maximum number of retry timers.
292  */
293 //--------------------------------------------------------------------------------------------------
294 #define LE_AVC_NUM_RETRY_TIMERS 8
295 
296 
297 //--------------------------------------------------------------------------------------------------
298 /**
299  * Default HTTP status.
300  */
301 //--------------------------------------------------------------------------------------------------
302 #define LE_AVC_HTTP_STATUS_INVALID 65535
303 
304 
305 //--------------------------------------------------------------------------------------------------
306 /**
307  * Status of session or update
308  *
309  * If an update is pending, it must first be downloaded and then installed.
310  */
311 //--------------------------------------------------------------------------------------------------
312 typedef enum
313 {
315  ///< No updates pending
316 
318  ///< Update pending download
319 
321  ///< Download in progress
322 
324  ///< Download has completed
325 
327  ///< An error occurred downloading the update
328 
330  ///< Install is pending (implies download complete)
331 
333  ///< Install in progress
334 
336  ///< Update has been successfully installed
337 
339  ///< An error occurred installing the update
340 
342  ///< Uninstall is pending
343 
345  ///< Uninstall in progress
346 
348  ///< App has been successfully uninstalled
349 
351  ///< An error occurred uninstalling the update
352 
354  ///< Session with AV server started
355 
357  ///< Session with AV server stopped
358 }
360 
361 
362 //--------------------------------------------------------------------------------------------------
363 /**
364  * The type of pending update
365  */
366 //--------------------------------------------------------------------------------------------------
367 typedef enum
368 {
369  LE_AVC_UNKNOWN_UPDATE = 0,
370  LE_AVC_FIRMWARE_UPDATE = 1,
371  LE_AVC_FRAMEWORK_UPDATE = 2,
372  LE_AVC_APPLICATION_UPDATE = 3
373 }
375 
376 
377 //--------------------------------------------------------------------------------------------------
378 /**
379  * Error code used to provide diagnostic information after a failure (includes both download and
380  * install failure).
381  *
382  * @note
383  * Additional information may also be available in the target device's system log.
384  */
385 //--------------------------------------------------------------------------------------------------
386 typedef enum
387 {
389  ///< No error.
390 
392  ///< Encountered a bad package.
393 
395  ///< Something failed while doing install/download.
396 
398  ///< Security check failure while installing the package.
399 }
401 
402 
403 //--------------------------------------------------------------------------------------------------
404 /**
405  * Session type indicates whether the device is connected to the bootstrap server or the
406  * device management server.
407  */
408 //--------------------------------------------------------------------------------------------------
409 typedef enum
410 {
412  ///< Bootstrap session.
413 
415  ///< Device Management session.
416 
418  ///< Session type invalid.
419 }
421 
422 
423 //--------------------------------------------------------------------------------------------------
424 /**
425  * Reference type used by Add/Remove functions for EVENT 'le_avc_StatusEvent'
426  */
427 //--------------------------------------------------------------------------------------------------
428 typedef struct le_avc_StatusEventHandler* le_avc_StatusEventHandlerRef_t;
429 
430 
431 //--------------------------------------------------------------------------------------------------
432 /**
433  * Reference returned by BlockInstall function and used by UnblockInstall function
434  */
435 //--------------------------------------------------------------------------------------------------
436 typedef struct le_avc_BlockRequest* le_avc_BlockRequestRef_t;
437 
438 
439 //--------------------------------------------------------------------------------------------------
440 /**
441  * Handler for update availability status
442  *
443  * @param updateStatus
444  * status of pending update, if available
445  * @param totalNumBytes
446  * Total number of bytes to be downloaded
447  * only valid when updateStatus is one of
448  * DOWNLOAD_PENDING, DOWNLOAD_IN_PROGRESS or DOWNLOAD_COMPLETE.
449  * returns -1 if value is unknown
450  * @param dloadProgress
451  * download completion in percentage
452  * only valid when updateStatus is one of
453  * DOWNLOAD_PENDING, DOWNLOAD_IN_PROGRESS or DOWNLOAD_COMPLETE.
454  * returns -1 if value is unknown
455  * @param contextPtr
456  */
457 //--------------------------------------------------------------------------------------------------
458 typedef void (*le_avc_StatusHandlerFunc_t)
459 (
460  le_avc_Status_t updateStatus,
461  int32_t totalNumBytes,
462  int32_t dloadProgress,
463  void* contextPtr
464 );
465 
466 //--------------------------------------------------------------------------------------------------
467 /**
468  * Add handler function for EVENT 'le_avc_StatusEvent'
469  *
470  * This event provides information on update availability status
471  */
472 //--------------------------------------------------------------------------------------------------
474 (
475  le_avc_StatusHandlerFunc_t handlerPtr,
476  ///< [IN]
477 
478  void* contextPtr
479  ///< [IN]
480 );
481 
482 //--------------------------------------------------------------------------------------------------
483 /**
484  * Remove handler function for EVENT 'le_avc_StatusEvent'
485  */
486 //--------------------------------------------------------------------------------------------------
488 (
489  le_avc_StatusEventHandlerRef_t addHandlerRef
490  ///< [IN]
491 );
492 
493 //--------------------------------------------------------------------------------------------------
494 /**
495  * Start a session with the AirVantage server
496  *
497  * This will cause a query to be sent to the server, for pending updates. If a download was
498  * previously suspended, then this resumes the download.
499  *
500  * @return
501  * - LE_OK on success
502  * - LE_FAULT on failure
503  */
504 //--------------------------------------------------------------------------------------------------
506 (
507  void
508 );
509 
510 //--------------------------------------------------------------------------------------------------
511 /**
512  * Stop a session with the AirVantage server
513  *
514  * If a download is in progress, then this suspends the download.
515  *
516  * @return
517  * - LE_OK on success
518  * - LE_FAULT on failure
519  */
520 //--------------------------------------------------------------------------------------------------
522 (
523  void
524 );
525 
526 //--------------------------------------------------------------------------------------------------
527 /**
528  * Accept the currently pending download
529  *
530  * @return
531  * - LE_OK on success
532  * - LE_FAULT on failure
533  */
534 //--------------------------------------------------------------------------------------------------
536 (
537  void
538 );
539 
540 //--------------------------------------------------------------------------------------------------
541 /**
542  * Defer the currently pending download, for the given number of minutes
543  *
544  * @return
545  * - LE_OK on success
546  * - LE_FAULT on failure
547  */
548 //--------------------------------------------------------------------------------------------------
550 (
551  uint32_t deferMinutes
552  ///< [IN]
553 );
554 
555 //--------------------------------------------------------------------------------------------------
556 /**
557  * Accept the currently pending install
558  *
559  * @return
560  * - LE_OK on success
561  * - LE_FAULT on failure
562  */
563 //--------------------------------------------------------------------------------------------------
565 (
566  void
567 );
568 
569 //--------------------------------------------------------------------------------------------------
570 /**
571  * Defer the currently pending install
572  *
573  * @return
574  * - LE_OK on success
575  * - LE_FAULT on failure
576  */
577 //--------------------------------------------------------------------------------------------------
579 (
580  uint32_t deferMinutes
581  ///< [IN]
582 );
583 
584 //--------------------------------------------------------------------------------------------------
585 /**
586  * Accept the currently pending uninstall
587  *
588  * @return
589  * - LE_OK on success
590  * - LE_FAULT on failure
591  */
592 //--------------------------------------------------------------------------------------------------
594 (
595  void
596 );
597 
598 //--------------------------------------------------------------------------------------------------
599 /**
600  * Defer the currently pending uninstall
601  *
602  * @return
603  * - LE_OK on success
604  * - LE_FAULT on failure
605  */
606 //--------------------------------------------------------------------------------------------------
608 (
609  uint32_t deferMinutes
610  ///< [IN]
611 );
612 
613 //--------------------------------------------------------------------------------------------------
614 /**
615  * Get the update type of the currently pending update
616  *
617  * @return
618  * - LE_OK on success
619  * - LE_FAULT if not available
620  */
621 //--------------------------------------------------------------------------------------------------
623 (
624  le_avc_UpdateType_t* updateTypePtr
625  ///< [OUT]
626 );
627 
628 //--------------------------------------------------------------------------------------------------
629 /**
630  * Get the name for the currently pending app update
631  *
632  * @return
633  * - LE_OK on success
634  * - LE_FAULT if not available, or isn't APPL_UPDATE type
635  */
636 //--------------------------------------------------------------------------------------------------
638 (
639  char* updateName,
640  ///< [OUT]
641 
642  size_t updateNameNumElements
643  ///< [IN]
644 );
645 
646 //--------------------------------------------------------------------------------------------------
647 /**
648  * Prevent any pending updates from being installed.
649  *
650  * @return
651  * - Reference for block update request (to be used later for unblocking updates)
652  * - NULL if the operation was not successful
653  */
654 //--------------------------------------------------------------------------------------------------
656 (
657  void
658 );
659 
660 //--------------------------------------------------------------------------------------------------
661 /**
662  * Allow any pending updates to be installed
663  */
664 //--------------------------------------------------------------------------------------------------
666 (
667  le_avc_BlockRequestRef_t blockRef
668  ///< [IN] block request ref returned by le_avc_BlockInstall
669 );
670 
671 //--------------------------------------------------------------------------------------------------
672 /**
673  * Function to get error code when update fails.
674  *
675  * @return
676  * - Error code of encountered error.
677  * - ERR_NONE if update is in any other state.
678  */
679 //--------------------------------------------------------------------------------------------------
681 (
682  void
683 );
684 
685 //--------------------------------------------------------------------------------------------------
686 /**
687  * Function to read the current session type, or the last session type if there is no
688  * active session.
689  *
690  * @return
691  * - SessionType
692  */
693 //--------------------------------------------------------------------------------------------------
695 (
696  void
697 );
698 
699 //--------------------------------------------------------------------------------------------------
700 /**
701  * Function to read the http status of the last download.
702  *
703  * @return
704  * - HttpStatus as defined in RFC 7231, Section 6.
705  */
706 //--------------------------------------------------------------------------------------------------
707 uint16_t le_avc_GetHttpStatus
708 (
709  void
710 );
711 
712 //--------------------------------------------------------------------------------------------------
713 /**
714  * Function to read the polling timer.
715  *
716  * @return
717  * - LE_OK on success
718  * - LE_FAULT if not available
719  */
720 //--------------------------------------------------------------------------------------------------
722 (
723  uint32_t* pollingTimerPtr
724  ///< [OUT] Polling timer (0 to 525600 minutes).
725 );
726 
727 //--------------------------------------------------------------------------------------------------
728 /**
729  * Function to read the retry timers.
730  *
731  * @return
732  * - LE_OK on success.
733  * - LE_FAULT if not able to read the timers.
734  */
735 //--------------------------------------------------------------------------------------------------
737 (
738  uint16_t* timerValuePtr,
739  ///< [OUT] Array of the retry timers.
740 
741  size_t* timerValueNumElementsPtr
742  ///< [INOUT]
743 );
744 
745 //--------------------------------------------------------------------------------------------------
746 /**
747  * Function to read APN configuration.
748  *
749  * @return
750  * - LE_OK on success.
751  * - LE_FAULT if there is any error while reading.
752  * - LE_OVERFLOW if the buffer provided is too small.
753  */
754 //--------------------------------------------------------------------------------------------------
756 (
757  char* apnName,
758  ///< [OUT]
759 
760  size_t apnNameNumElements,
761  ///< [IN]
762 
763  char* userName,
764  ///< [OUT]
765 
766  size_t userNameNumElements,
767  ///< [IN]
768 
769  char* userPwd,
770  ///< [OUT]
771 
772  size_t userPwdNumElements
773  ///< [IN]
774 );
775 
776 //--------------------------------------------------------------------------------------------------
777 /**
778  * Function to write APN configuration.
779  *
780  * @return
781  * - LE_OK on success.
782  * - LE_FAULT if not able to write the APN configuration.
783  * - LE_OVERFLOW if one of the input strings is too long.
784  */
785 //--------------------------------------------------------------------------------------------------
787 (
788  const char* apnName,
789  ///< [IN]
790 
791  const char* userName,
792  ///< [IN]
793 
794  const char* userPwd
795  ///< [IN]
796 );
797 
798 //--------------------------------------------------------------------------------------------------
799 /**
800  * Function to set the polling timer.
801  *
802  * @return
803  * - LE_OK on success.
804  * - LE_FAULT if not able to read the timers.
805  */
806 //--------------------------------------------------------------------------------------------------
808 (
809  uint32_t pollingTimer
810  ///< [IN] Polling timer (0 to 525600 minutes).
811 );
812 
813 //--------------------------------------------------------------------------------------------------
814 /**
815  * Function to set the retry timers.
816  *
817  * @return
818  * - LE_OK on success.
819  * - LE_FAULT if not able to write the timers.
820  */
821 //--------------------------------------------------------------------------------------------------
823 (
824  const uint16_t* timerValuePtr,
825  ///< [IN] Array of 8 retry timers.
826 
827  size_t timerValueNumElements
828  ///< [IN]
829 );
830 
831 
832 #endif // LE_AVC_INTERFACE_H_INCLUDE_GUARD
833 
le_result_t le_avc_GetPollingTimer(uint32_t *pollingTimerPtr)
Uninstall in progress.
Definition: le_avc_interface.h:344
le_result_t le_avc_SetApnConfig(const char *apnName, const char *userName, const char *userPwd)
le_result_t le_avc_GetRetryTimers(uint16_t *timerValuePtr, size_t *timerValueNumElementsPtr)
Uninstall is pending.
Definition: le_avc_interface.h:341
An error occurred installing the update.
Definition: le_avc_interface.h:338
le_result_t
Definition: le_basics.h:35
void le_avc_RemoveStatusEventHandler(le_avc_StatusEventHandlerRef_t addHandlerRef)
An error occurred uninstalling the update.
Definition: le_avc_interface.h:350
Install in progress.
Definition: le_avc_interface.h:332
void le_avc_UnblockInstall(le_avc_BlockRequestRef_t blockRef)
le_avc_StatusEventHandlerRef_t le_avc_AddStatusEventHandler(le_avc_StatusHandlerFunc_t handlerPtr, void *contextPtr)
An error occurred downloading the update.
Definition: le_avc_interface.h:326
le_result_t le_avc_DeferUninstall(uint32_t deferMinutes)
Install is pending (implies download complete)
Definition: le_avc_interface.h:329
le_result_t le_avc_AcceptUninstall(void)
le_result_t le_avc_GetUpdateType(le_avc_UpdateType_t *updateTypePtr)
Session with AV server stopped.
Definition: le_avc_interface.h:356
Session with AV server started.
Definition: le_avc_interface.h:353
le_avc_SessionType_t
Definition: le_avc_interface.h:409
Download in progress.
Definition: le_avc_interface.h:320
Session type invalid.
Definition: le_avc_interface.h:417
le_result_t le_avc_StartSession(void)
le_result_t le_avc_StopSession(void)
le_result_t le_avc_SetRetryTimers(const uint16_t *timerValuePtr, size_t timerValueNumElements)
Update pending download.
Definition: le_avc_interface.h:317
le_result_t le_avc_AcceptDownload(void)
le_result_t le_avc_TryConnectService(void)
le_result_t le_avc_DeferInstall(uint32_t deferMinutes)
Update has been successfully installed.
Definition: le_avc_interface.h:335
le_result_t le_avc_AcceptInstall(void)
Something failed while doing install/download.
Definition: le_avc_interface.h:394
Bootstrap session.
Definition: le_avc_interface.h:411
struct le_avc_BlockRequest * le_avc_BlockRequestRef_t
Definition: le_avc_interface.h:436
le_avc_BlockRequestRef_t le_avc_BlockInstall(void)
void le_avc_DisconnectService(void)
le_avc_SessionType_t le_avc_GetSessionType(void)
Device Management session.
Definition: le_avc_interface.h:414
No error.
Definition: le_avc_interface.h:388
le_avc_UpdateType_t
Definition: le_avc_interface.h:367
le_result_t le_avc_DeferDownload(uint32_t deferMinutes)
le_result_t le_avc_SetPollingTimer(uint32_t pollingTimer)
Security check failure while installing the package.
Definition: le_avc_interface.h:397
le_avc_ErrorCode_t
Definition: le_avc_interface.h:386
Download has completed.
Definition: le_avc_interface.h:323
No updates pending.
Definition: le_avc_interface.h:314
void(* le_avc_StatusHandlerFunc_t)(le_avc_Status_t updateStatus, int32_t totalNumBytes, int32_t dloadProgress, void *contextPtr)
Definition: le_avc_interface.h:459
uint16_t le_avc_GetHttpStatus(void)
struct le_avc_StatusEventHandler * le_avc_StatusEventHandlerRef_t
Definition: le_avc_interface.h:428
Encountered a bad package.
Definition: le_avc_interface.h:391
le_avc_Status_t
Definition: le_avc_interface.h:312
App has been successfully uninstalled.
Definition: le_avc_interface.h:347
le_result_t le_avc_GetAppUpdateName(char *updateName, size_t updateNameNumElements)
le_avc_ErrorCode_t le_avc_GetErrorCode(void)
le_result_t le_avc_GetApnConfig(char *apnName, size_t apnNameNumElements, char *userName, size_t userNameNumElements, char *userPwd, size_t userPwdNumElements)
void le_avc_ConnectService(void)