Simple interface for Mbed Cloud Client

Dependents:  

Committer:
MACRUM
Date:
Mon Jul 02 08:06:37 2018 +0000
Revision:
2:bf2124b482f9
Parent:
0:276e7a263c35
Update library

Who changed what in which revision?

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