Mbed Cloud example program for workshop in W27 2018.

Dependencies:   MMA7660 LM75B

Committer:
MACRUM
Date:
Sat Jun 30 01:40:30 2018 +0000
Revision:
0:119624335925
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:119624335925 1 #ifndef MBED_CLOUD_CLIENT_RESOURCE_H
MACRUM 0:119624335925 2 #define MBED_CLOUD_CLIENT_RESOURCE_H
MACRUM 0:119624335925 3
MACRUM 0:119624335925 4 #include "mbed.h"
MACRUM 0:119624335925 5 #include "simple-mbed-cloud-client.h"
MACRUM 0:119624335925 6 #include "mbed-client/m2mstring.h"
MACRUM 0:119624335925 7
MACRUM 0:119624335925 8 namespace M2MMethod {
MACRUM 0:119624335925 9
MACRUM 0:119624335925 10 enum M2MMethod {
MACRUM 0:119624335925 11 GET = 0x01,
MACRUM 0:119624335925 12 PUT = 0x02,
MACRUM 0:119624335925 13 POST = 0x04,
MACRUM 0:119624335925 14 DELETE = 0x08
MACRUM 0:119624335925 15 };
MACRUM 0:119624335925 16
MACRUM 0:119624335925 17 };
MACRUM 0:119624335925 18
MACRUM 0:119624335925 19 struct mcc_resource_def {
MACRUM 0:119624335925 20 unsigned int object_id;
MACRUM 0:119624335925 21 unsigned int instance_id;
MACRUM 0:119624335925 22 unsigned int resource_id;
MACRUM 0:119624335925 23 String name;
MACRUM 0:119624335925 24 unsigned int method_mask;
MACRUM 0:119624335925 25 String value;
MACRUM 0:119624335925 26 bool observable;
MACRUM 0:119624335925 27 Callback<void(const char*)> *put_callback;
MACRUM 0:119624335925 28 Callback<void(void*)> *post_callback;
MACRUM 0:119624335925 29 Callback<void(const M2MBase&, const NoticationDeliveryStatus)> *notification_callback;
MACRUM 0:119624335925 30 };
MACRUM 0:119624335925 31
MACRUM 0:119624335925 32 class SimpleMbedCloudClient;
MACRUM 0:119624335925 33
MACRUM 0:119624335925 34 class MbedCloudClientResource {
MACRUM 0:119624335925 35 public:
MACRUM 0:119624335925 36 MbedCloudClientResource(SimpleMbedCloudClient *client, const char *path, const char *name);
MACRUM 0:119624335925 37
MACRUM 0:119624335925 38 void observable(bool observable);
MACRUM 0:119624335925 39 void methods(unsigned int methodMask);
MACRUM 0:119624335925 40 void attach_put_callback(Callback<void(const char*)> callback);
MACRUM 0:119624335925 41 void attach_post_callback(Callback<void(void*)> callback);
MACRUM 0:119624335925 42 void attach_notification_callback(Callback<void(const M2MBase&, const NoticationDeliveryStatus)> callback);
MACRUM 0:119624335925 43 void detach_put_callback();
MACRUM 0:119624335925 44 void detach_post_callback();
MACRUM 0:119624335925 45 void detach_notification_callback();
MACRUM 0:119624335925 46 void set_value(int value);
MACRUM 0:119624335925 47 void set_value(char *value);
MACRUM 0:119624335925 48 String get_value();
MACRUM 0:119624335925 49
MACRUM 0:119624335925 50 void get_data(mcc_resource_def *resourceDef);
MACRUM 0:119624335925 51 void set_resource(M2MResource *res);
MACRUM 0:119624335925 52
MACRUM 0:119624335925 53 private:
MACRUM 0:119624335925 54 SimpleMbedCloudClient *client;
MACRUM 0:119624335925 55 M2MResource *resource;
MACRUM 0:119624335925 56 String path;
MACRUM 0:119624335925 57 String name;
MACRUM 0:119624335925 58 String value;
MACRUM 0:119624335925 59 bool isObservable;
MACRUM 0:119624335925 60 unsigned int methodMask;
MACRUM 0:119624335925 61
MACRUM 0:119624335925 62 Callback<void(const char*)> putCallback;
MACRUM 0:119624335925 63 Callback<void(void*)> postCallback;
MACRUM 0:119624335925 64 Callback<void(const M2MBase&, const NoticationDeliveryStatus)> notificationCallback;
MACRUM 0:119624335925 65 };
MACRUM 0:119624335925 66
MACRUM 0:119624335925 67 #endif // MBED_CLOUD_CLIENT_RESOURCE_H