ARM mbed M2X API Client: The ARM mbed client library is used to send/receive data to/from AT&T's M2X service from mbed LPC1768 microcontrollers.

Dependents:   m2x-demo-all M2X_MTS_ACCEL_DEMO M2X_MTS_Accel M2X_K64F_ACCEL ... more

Revision:
22:4d895e732765
Parent:
21:6878944d2ce2
--- a/LocationParseFunctions.h	Sat Jan 02 02:29:43 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-#ifndef LocationParseFunctions_h
-#define LocationParseFunctions_h
-
-// Data structures and functions used to parse locations
-
-#define LOCATION_BUF_LEN 20
-
-typedef struct {
-  uint16_t state;
-  char name_str[LOCATION_BUF_LEN + 1];
-  double latitude;
-  double longitude;
-  double elevation;
-  char timestamp_str[LOCATION_BUF_LEN + 1];
-  int index;
-
-  location_read_callback callback;
-  void* context;
-} location_parsing_context_state;
-
-#define WAITING_NAME 0x1
-#define WAITING_LATITUDE 0x2
-#define WAITING_LONGITUDE 0x4
-#define WAITING_ELEVATION 0x8
-#define WAITING_TIMESTAMP 0x10
-
-#define GOT_NAME 0x20
-#define GOT_LATITUDE 0x40
-#define GOT_LONGITUDE 0x80
-#define GOT_ELEVATION 0x100
-#define GOT_TIMESTAMP 0x200
-
-#define GOT_LOCATION (GOT_NAME | GOT_LATITUDE | GOT_LONGITUDE | GOT_ELEVATION | GOT_TIMESTAMP)
-#define TEST_GOT_LOCATION(state_) (((state_) & GOT_LOCATION) == GOT_LOCATION)
-
-#define TEST_IS_NAME(state_) (((state_) & (WAITING_NAME | GOT_NAME)) == WAITING_NAME)
-#define TEST_IS_LATITUDE(state_) (((state_) & (WAITING_LATITUDE | GOT_LATITUDE)) \
-                                  == WAITING_LATITUDE)
-#define TEST_IS_LONGITUDE(state_) (((state_) & (WAITING_LONGITUDE | GOT_LONGITUDE)) \
-                                   == WAITING_LONGITUDE)
-#define TEST_IS_ELEVATION(state_) (((state_) & (WAITING_ELEVATION | GOT_ELEVATION)) \
-                                   == WAITING_ELEVATION)
-#define TEST_IS_TIMESTAMP(state_) (((state_) & (WAITING_TIMESTAMP | GOT_TIMESTAMP)) \
-                                   == WAITING_TIMESTAMP)
-
-static void on_location_key_found(jsonlite_callback_context* context,
-                                  jsonlite_token* token) {
-  location_parsing_context_state* state =
-      (location_parsing_context_state*) context->client_state;
-  if (strncmp((const char*) token->start, "waypoints", 9) == 0) {
-    // only parses those locations in waypoints, skip the outer one
-    state->state = 0;
-  } else if (strncmp((const char*) token->start, "name", 4) == 0) {
-    state->state |= WAITING_NAME;
-  } else if (strncmp((const char*) token->start, "latitude", 8) == 0) {
-    state->state |= WAITING_LATITUDE;
-  } else if (strncmp((const char*) token->start, "longitude", 9) == 0) {
-    state->state |= WAITING_LONGITUDE;
-  } else if (strncmp((const char*) token->start, "elevation", 9) == 0) {
-    state->state |= WAITING_ELEVATION;
-  } else if (strncmp((const char*) token->start, "timestamp", 9) == 0) {
-    state->state |= WAITING_TIMESTAMP;
-  }
-}
-
-static void on_location_string_found(jsonlite_callback_context* context,
-                                     jsonlite_token* token) {
-  location_parsing_context_state* state =
-      (location_parsing_context_state*) context->client_state;
-
-  if (TEST_IS_NAME(state->state)) {
-    strncpy(state->name_str, (const char*) token->start,
-            MIN(token->end - token->start, LOCATION_BUF_LEN));
-    state->name_str[MIN(token->end - token->start, LOCATION_BUF_LEN)] = '\0';
-    state->state |= GOT_NAME;
-  } else if (TEST_IS_LATITUDE(state->state)) {
-    state->latitude = atof((const char*) token->start);
-    state->state |= GOT_LATITUDE;
-  } else if (TEST_IS_LONGITUDE(state->state)) {
-    state->longitude = atof((const char*) token->start);
-    state->state |= GOT_LONGITUDE;
-  } else if (TEST_IS_ELEVATION(state->state)) {
-    state->elevation = atof((const char*) token->start);
-    state->state |= GOT_ELEVATION;
-  } else if (TEST_IS_TIMESTAMP(state->state)) {
-    strncpy(state->timestamp_str, (const char*) token->start,
-            MIN(token->end - token->start, LOCATION_BUF_LEN));
-    state->timestamp_str[MIN(token->end - token->start, LOCATION_BUF_LEN)] = '\0';
-    state->state |= GOT_TIMESTAMP;
-  }
-
-  if (TEST_GOT_LOCATION(state->state)) {
-    state->callback(state->name_str, state->latitude, state->longitude,
-                    state->elevation, state->timestamp_str, state->index++,
-                    state->context);
-    state->state = 0;
-  }
-}
-
-#endif  /* LocationParseFunctions_h */