Simple interface for Mbed Cloud Client
mbed_cloud_client_resource.h@2:bf2124b482f9, 2018-07-02 (annotated)
- 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?
User | Revision | Line number | New 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 |