All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
swi_airvantage.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (C) Sierra Wireless Inc. Use of this work is subject to license.
3  *******************************************************************************/
4 
25 #ifndef SWI_AIRVANTAGE_INCLUDE_GUARD
26 #define SWI_AIRVANTAGE_INCLUDE_GUARD
27 
28 #include <stdlib.h>
29 #include "returncodes.h"
30 #include "swi_dset.h"
31 
43 #define SWI_AV_ERROR 1
44 #define SWI_AV_INFO 1
45 
53 rc_ReturnCode_t swi_av_Init();
54 
60 rc_ReturnCode_t swi_av_Destroy();
61 
62 
63 #define SWI_AV_CX_SYNC UINT_MAX
64 
65 
80 rc_ReturnCode_t swi_av_ConnectToServer
81 (
82  unsigned int latency
83 );
85 
86 
87 
105 rc_ReturnCode_t swi_av_TriggerPolicy
106 (
107  const char* policyPtr
108 );
110 
111 
117 typedef struct swi_av_Asset swi_av_Asset_t;
118 
119 
134 rc_ReturnCode_t swi_av_asset_Create
135 (
136  swi_av_Asset_t** asset,
137  const char* assetIdPtr
140 );
143 
144 
145 
146 
147 
148 
156 rc_ReturnCode_t swi_av_asset_Start
157 (
158  swi_av_Asset_t* asset
159 );
160 
161 
170 rc_ReturnCode_t swi_av_asset_Destroy
171 (
172  swi_av_Asset_t* asset
173 );
174 
175 
176 // end General
178 
191 typedef enum swi_av_timestamp{
195 
210 rc_ReturnCode_t swi_av_asset_PushString
211 (
212  swi_av_Asset_t* asset,
213  const char *pathPtr,
214  const char* policyPtr,
217  uint32_t timestamp,
219  const char* valuePtr
221 );
222 
237 rc_ReturnCode_t swi_av_asset_PushInteger
238 (
239  swi_av_Asset_t* asset,
240  const char *pathPtr,
241  const char* policyPtr,
243  uint32_t timestamp,
245  int64_t value
247 );
248 
263 rc_ReturnCode_t swi_av_asset_PushFloat
264 (
265  swi_av_Asset_t* asset,
266  const char *pathPtr,
267  const char* policyPtr,
269  uint32_t timestamp,
271  double value
273 );
274 
275 // end Data Sending Simple API
277 
288 typedef struct swi_av_Table swi_av_Table_t;
289 
293 typedef enum
294 {
298 
309 rc_ReturnCode_t swi_av_table_Create
310 (
311  swi_av_Asset_t* asset,
312  swi_av_Table_t** table,
313  const char* pathPtr,
316  size_t numColumns,
317  const char** columnNamesPtr,
318  const char* policyPtr,
319  swi_av_Table_Storage_t persisted,
320  int purge
322 );
325 
326 
335 rc_ReturnCode_t swi_av_table_Destroy
336 (
337  swi_av_Table_t* table
338 );
339 
340 
350 rc_ReturnCode_t swi_av_table_PushFloat
351 (
352  swi_av_Table_t* table,
353  double value
354 );
355 
356 
357 
367 rc_ReturnCode_t swi_av_table_PushInteger
368 (
369  swi_av_Table_t* table,
370  int value
371 );
372 
382 rc_ReturnCode_t swi_av_table_PushString
383 (
384  swi_av_Table_t* table,
385  const char* value
386 );
387 
388 
399 rc_ReturnCode_t swi_av_table_PushRow
400 (
401  swi_av_Table_t* table
402 );
403 
404 
405 
406 // end Data Sending Advanced API
408 
431 typedef void (*swi_av_DataWriteCB)
432 (
433  swi_av_Asset_t *asset,
434  const char *pathPtr,
435  swi_dset_Iterator_t* data,
436  int ack_id,
438  void *userDataPtr
440 );
441 
442 
443 
481 rc_ReturnCode_t swi_av_RegisterDataWrite
482 (
483  swi_av_Asset_t *asset,
484  swi_av_DataWriteCB cb,
485  void * userDataPtr
486 );
487 
488 
497 rc_ReturnCode_t swi_av_Acknowledge
498 (
499  int ackId,
500  int status,
501  const char* errMsgPtr,
502  const char* policyPtr,
503  int persisted
504 );
506 
507 
508 
509 
510 // end Data Reception
512 
550 typedef rc_ReturnCode_t (*swi_av_updateNotificationCB)
551 (
552  swi_av_Asset_t *asset,
553  const char* componentNamePtr,
554  const char* versionPtr,
556  const char *updateFilePathPtr,
558  swi_dset_Iterator_t* customParams,
561  void *userDataPtr
563 );
564 
565 
591 rc_ReturnCode_t swi_av_RegisterUpdateNotification
592 (
593  swi_av_Asset_t* asset,
595  void *userDataPtr
597 );
598 
599 
606 rc_ReturnCode_t swi_av_SendUpdateResult
607 (
608  swi_av_Asset_t* asset,
609  const char* componentNamePtr,
610  int updateResult
613 );
616 
617 
618 // end Asset Update
620 
621 #endif /* SWI_AIRVANTAGE_INCLUDE_GUARD */
rc_ReturnCode_t swi_av_Destroy()
rc_ReturnCode_t swi_av_table_PushInteger(swi_av_Table_t *table, int value)
rc_ReturnCode_t swi_av_asset_PushString(swi_av_Asset_t *asset, const char *pathPtr, const char *policyPtr, uint32_t timestamp, const char *valuePtr)
rc_ReturnCode_t swi_av_Init()
rc_ReturnCode_t swi_av_table_Destroy(swi_av_Table_t *table)
rc_ReturnCode_t swi_av_ConnectToServer(unsigned int latency)
rc_ReturnCode_t swi_av_asset_PushInteger(swi_av_Asset_t *asset, const char *pathPtr, const char *policyPtr, uint32_t timestamp, int64_t value)
rc_ReturnCode_t swi_av_RegisterUpdateNotification(swi_av_Asset_t *asset, swi_av_updateNotificationCB cb, void *userDataPtr)
swi_av_Table_Storage_t
Definition: swi_airvantage.h:293
rc_ReturnCode_t swi_av_asset_Destroy(swi_av_Asset_t *asset)
rc_ReturnCode_t swi_av_asset_Create(swi_av_Asset_t **asset, const char *assetIdPtr)
rc_ReturnCode_t swi_av_table_PushFloat(swi_av_Table_t *table, double value)
rc_ReturnCode_t swi_av_asset_PushFloat(swi_av_Asset_t *asset, const char *pathPtr, const char *policyPtr, uint32_t timestamp, double value)
rc_ReturnCode_t swi_av_table_PushRow(swi_av_Table_t *table)
struct swi_av_Asset swi_av_Asset_t
Definition: swi_airvantage.h:117
rc_ReturnCode_t swi_av_table_PushString(swi_av_Table_t *table, const char *value)
rc_ReturnCode_t swi_av_SendUpdateResult(swi_av_Asset_t *asset, const char *componentNamePtr, int updateResult)
struct swi_av_Table swi_av_Table_t
Definition: swi_airvantage.h:288
rc_ReturnCode_t swi_av_Acknowledge(int ackId, int status, const char *errMsgPtr, const char *policyPtr, int persisted)
rc_ReturnCode_t swi_av_RegisterDataWrite(swi_av_Asset_t *asset, swi_av_DataWriteCB cb, void *userDataPtr)
rc_ReturnCode_t swi_av_asset_Start(swi_av_Asset_t *asset)
rc_ReturnCode_t swi_av_table_Create(swi_av_Asset_t *asset, swi_av_Table_t **table, const char *pathPtr, size_t numColumns, const char **columnNamesPtr, const char *policyPtr, swi_av_Table_Storage_t persisted, int purge)
Persistent, everything is saved to the FLASH memory.
Definition: swi_airvantage.h:296
rc_ReturnCode_t(* swi_av_updateNotificationCB)(swi_av_Asset_t *asset, const char *componentNamePtr, const char *versionPtr, const char *updateFilePathPtr, swi_dset_Iterator_t *customParams, void *userDataPtr)
Definition: swi_airvantage.h:551
Explicitly request no timestamp to send alongside the data.
Definition: swi_airvantage.h:192
rc_ReturnCode_t swi_av_TriggerPolicy(const char *policyPtr)
void(* swi_av_DataWriteCB)(swi_av_Asset_t *asset, const char *pathPtr, swi_dset_Iterator_t *data, int ack_id, void *userDataPtr)
Definition: swi_airvantage.h:432
Non persistent, everything is saved only in RAM.
Definition: swi_airvantage.h:295
Timestamp will be automatically generated when the data is added.
Definition: swi_airvantage.h:193
swi_av_timestamp_t
Definition: swi_airvantage.h:191