The Pubnub C-core library. It's home is on https://github.com/pubnub/c_core, this is a copy
Dependents: Pubnub_c_core_mbed2_pal Pubnub_c_core_mbed2_pal Pubnub_c_core_mbed2_pal2
pubnub_helper.cpp@2:d85e42c1125d, 2016-11-22 (annotated)
- Committer:
- sveljko
- Date:
- Tue Nov 22 22:21:39 2016 +0000
- Revision:
- 2:d85e42c1125d
Added `pubnub_helper` module
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sveljko | 2:d85e42c1125d | 1 | /* -*- c-file-style:"stroustrup"; indent-tabs-mode: nil -*- */ |
sveljko | 2:d85e42c1125d | 2 | #include "pubnub_helper.h" |
sveljko | 2:d85e42c1125d | 3 | |
sveljko | 2:d85e42c1125d | 4 | #include "pubnub_assert.h" |
sveljko | 2:d85e42c1125d | 5 | |
sveljko | 2:d85e42c1125d | 6 | #include <string.h> |
sveljko | 2:d85e42c1125d | 7 | |
sveljko | 2:d85e42c1125d | 8 | |
sveljko | 2:d85e42c1125d | 9 | enum pubnub_publish_res pubnub_parse_publish_result(char const *result) |
sveljko | 2:d85e42c1125d | 10 | { |
sveljko | 2:d85e42c1125d | 11 | PUBNUB_ASSERT_OPT(result != NULL); |
sveljko | 2:d85e42c1125d | 12 | |
sveljko | 2:d85e42c1125d | 13 | if (strcmp(result, "\"Sent\"") == 0) { |
sveljko | 2:d85e42c1125d | 14 | return PNPUB_SENT; |
sveljko | 2:d85e42c1125d | 15 | } |
sveljko | 2:d85e42c1125d | 16 | if (strcmp(result, "\"Invalid JSON\"") == 0) { |
sveljko | 2:d85e42c1125d | 17 | return PNPUB_INVALID_JSON; |
sveljko | 2:d85e42c1125d | 18 | } |
sveljko | 2:d85e42c1125d | 19 | if (strncmp(result, "\"Invalid Character in Channel Name", 34) == 0) { |
sveljko | 2:d85e42c1125d | 20 | return PNPUB_INVALID_CHAR_IN_CHAN_NAME; |
sveljko | 2:d85e42c1125d | 21 | } |
sveljko | 2:d85e42c1125d | 22 | if (strncmp(result, "\"Account quota exceeded", 23) == 0) { |
sveljko | 2:d85e42c1125d | 23 | return PNPUB_ACCOUNT_QUOTA_EXCEEDED; |
sveljko | 2:d85e42c1125d | 24 | } |
sveljko | 2:d85e42c1125d | 25 | if (strcmp(result, "\"Message Too Large\"") == 0) { |
sveljko | 2:d85e42c1125d | 26 | return PNPUB_MESSAGE_TOO_LARGE; |
sveljko | 2:d85e42c1125d | 27 | } |
sveljko | 2:d85e42c1125d | 28 | return PNPUB_UNKNOWN_ERROR; |
sveljko | 2:d85e42c1125d | 29 | } |
sveljko | 2:d85e42c1125d | 30 | |
sveljko | 2:d85e42c1125d | 31 | |
sveljko | 2:d85e42c1125d | 32 | char const* pubnub_res_2_string(enum pubnub_res e) |
sveljko | 2:d85e42c1125d | 33 | { |
sveljko | 2:d85e42c1125d | 34 | switch (e) { |
sveljko | 2:d85e42c1125d | 35 | case PNR_OK: return "OK"; |
sveljko | 2:d85e42c1125d | 36 | case PNR_ADDR_RESOLUTION_FAILED: return "Pubnub host name resolution failed"; |
sveljko | 2:d85e42c1125d | 37 | case PNR_CONNECT_FAILED: return "Connecting to Pubnub server failed"; |
sveljko | 2:d85e42c1125d | 38 | case PNR_CONNECTION_TIMEOUT: return "A time-out happened in the network"; |
sveljko | 2:d85e42c1125d | 39 | case PNR_TIMEOUT: return "Timeout"; |
sveljko | 2:d85e42c1125d | 40 | case PNR_ABORTED: return "Aborted"; |
sveljko | 2:d85e42c1125d | 41 | case PNR_IO_ERROR: return "I/O (communication) error"; |
sveljko | 2:d85e42c1125d | 42 | case PNR_HTTP_ERROR: return "HTTP error received from server"; |
sveljko | 2:d85e42c1125d | 43 | case PNR_FORMAT_ERROR: return "Response format error"; |
sveljko | 2:d85e42c1125d | 44 | case PNR_CANCELLED: return "Pubnub API transaction cancelled"; |
sveljko | 2:d85e42c1125d | 45 | case PNR_STARTED: return "Pubnub API transaction started"; |
sveljko | 2:d85e42c1125d | 46 | case PNR_IN_PROGRESS: return "Pubnub API transaction already in progress"; |
sveljko | 2:d85e42c1125d | 47 | case PNR_RX_BUFF_NOT_EMPTY: return "Rx buffer not empty"; |
sveljko | 2:d85e42c1125d | 48 | case PNR_TX_BUFF_TOO_SMALL: return "Tx buffer too small for sending/publishing the message"; |
sveljko | 2:d85e42c1125d | 49 | case PNR_INVALID_CHANNEL: return "Invalid channel"; |
sveljko | 2:d85e42c1125d | 50 | case PNR_PUBLISH_FAILED: return "Publish failed"; |
sveljko | 2:d85e42c1125d | 51 | case PNR_CHANNEL_REGISTRY_ERROR: return "A transaction related to channel registry failed"; |
sveljko | 2:d85e42c1125d | 52 | case PNR_REPLY_TOO_BIG: return "Reply from Pubnub too big to fit in buffer"; |
sveljko | 2:d85e42c1125d | 53 | case PNR_INTERNAL_ERROR: return "Internal error in processing"; |
sveljko | 2:d85e42c1125d | 54 | default: return "!?!?!"; |
sveljko | 2:d85e42c1125d | 55 | } |
sveljko | 2:d85e42c1125d | 56 | } |