1.3.2 • Published 8 years ago
pebble-packet v1.3.2
pebble-packet
Simple wrapper for AppMessage integer and string types with built in error
reporting. Never directly use DictionaryIterator
or Tuple
again!
Available on NPM.
How to use
Install the Pebble package:
$ pebble package install pebble-packet
Add the pebble-package include at the top of your source.
#include <pebble-package/pebble-package.h>
Ensure
AppMessage
is open:const int inbox = 128; const int outbox = 128; events_app_message_request_inbox_size(inbox); events_app_message_request_outbox_size(outbox); events_app_message_open();
Begin, build, and send a packet:
if(packet_begin()) { packet_put_integer(AppKeyInteger, 42); packet_put_string(AppKeyString, "Don't talk to me about life."); packet_send(); }
Get data from a received dictionary:
// in your setup after the app_message_open call app_message_register_inbox_received(in_recv_handler); static void in_recv_handler(DictionaryIterator *iter, void *context) { if(packet_contains_key(iter, MESSAGE_KEY_Integer)) { APP_LOG(APP_LOG_LEVEL_INFO, "Got int: %d", packet_get_integer(iter, MESSAGE_KEY_Integer)); } if(packet_contains_key(iter, MESSAGE_KEY_String)) { APP_LOG(APP_LOG_LEVEL_INFO, "Got string: %s", packet_get_string(iter, MESSAGE_KEY_String)); } if(packet_contains_key(iter, MESSAGE_KEY_Boolean)) { APP_LOG(APP_LOG_LEVEL_INFO, "Got int: %s", packet_get_boolean(iter, MESSAGE_KEY_Boolean) ? "true" : "false"); } APP_LOG(APP_LOG_LEVEL_INFO, "Size: %d", packet_get_size(iter)); }
Documentation
See include/pebble-packet.h
for function documentation.
Changelog
1.0
- Initial version
1.1
- Add
packet_get_size()
,packet_contains_key()
,packet_put_boolean()
,packet_get_boolean()
,packet_get_integer()
, andpacket_get_string()
.
1.2
- Build for Diorite platform on SDK 4.0
1.3
- Add failed handler so client apps can retry their packets.
1.3.1
- Add
NULL
check for retry callbacks.