X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=service%2Feasy-setup%2Fenrollee%2Fsrc%2Fresourcehandler.h;h=851f047a67bf4aee1b93b3c1ea18501b64e95b46;hb=refs%2Ftags%2Faccepted%2Ftizen%2Funified%2F20171010.063815;hp=596327f7939cfbb7db70674a6c051cabab8ec281;hpb=e0305e50ea57f8bf5c8ccb21de28ee1819b2349f;p=platform%2Fupstream%2Fiotivity.git diff --git a/service/easy-setup/enrollee/src/resourcehandler.h b/service/easy-setup/enrollee/src/resourcehandler.h index 596327f..851f047 100755 --- a/service/easy-setup/enrollee/src/resourcehandler.h +++ b/service/easy-setup/enrollee/src/resourcehandler.h @@ -24,6 +24,7 @@ #include "logger.h" #include "ocstack.h" #include "escommon.h" +#include "ESEnrolleeCommon.h" #include "octypes.h" #ifndef ES_RESOURCE_HANDLER_H_ @@ -33,18 +34,23 @@ extern "C" { #endif -typedef void (*ESWiFiCB) (ESResult, ESWiFiProvData *); -typedef void (*ESCloudCB) (ESResult, ESCloudProvData *); -typedef void (*ESDevConfCB) (ESResult, ESDevConfProvData *); +typedef void (*ESConnectRequestCB) (ESResult, ESConnectRequest *); +typedef void (*ESWiFiConfCB) (ESResult, ESWiFiConfData *); +typedef void (*ESCoapCloudConfCB) (ESResult, ESCoapCloudConfData *); +typedef void (*ESDevConfCB) (ESResult, ESDevConfData *); + +typedef void (*ESWriteUserdataCb)(OCRepPayload* payload, char* resourceType); +typedef void (*ESReadUserdataCb)(OCRepPayload* payload, char* resourceType, void** userdata); /* Structure to represent a Light resource */ -typedef struct PROVRESOURCE +typedef struct { OCResourceHandle handle; ProvStatus status; // provisiong status ESErrorCode lastErrCode; - char ocfWebLinks[MAX_WEBLINKLEN]; -} ProvResource; + ES_CONNECT_TYPE connectRequest[NUM_CONNECT_TYPE]; + int numRequest; +} EasySetupResource; typedef struct { @@ -52,29 +58,37 @@ typedef struct WIFI_MODE supportedMode[NUM_WIFIMODE]; uint8_t numMode; // the number of device's supported wifi modes WIFI_FREQ supportedFreq; - char ssid[MAX_SSIDLEN]; // target network name, i.e. SSID for WLAN, MAC address for BT. - char cred[MAX_CREDLEN]; // credential information. + char ssid[OIC_STRING_MAX_VALUE]; // SSID + char cred[OIC_STRING_MAX_VALUE]; // credential information. WIFI_AUTHTYPE authType; WIFI_ENCTYPE encType; -} WiFiResource; +} WiFiConfResource; typedef struct { OCResourceHandle handle; char authCode[OIC_STRING_MAX_VALUE]; + char accessToken[OIC_STRING_MAX_VALUE]; + OAUTH_TOKENTYPE accessTokenType; char authProvider[OIC_STRING_MAX_VALUE]; char ciServer[OIC_STRING_MAX_VALUE]; - char serverID[OIC_STRING_MAX_VALUE]; -} CloudResource; +} CoapCloudConfResource; typedef struct { OCResourceHandle handle; - char devName[MAX_DEVICELEN]; + char devName[OIC_STRING_MAX_VALUE]; + char modelNumber[OIC_STRING_MAX_VALUE]; + char location[OIC_STRING_MAX_VALUE]; char language[OIC_STRING_MAX_VALUE]; char country[OIC_STRING_MAX_VALUE]; } DevConfResource; +/* Note: These values of structures are not thread-safety */ +extern EasySetupResource g_ESEasySetupResource; +extern WiFiConfResource g_ESWiFiConfResource; +extern CoapCloudConfResource g_ESCoapCloudConfResource; +extern DevConfResource g_ESDevConfResource; OCStackResult CreateEasySetupResources(bool isSecured, ESResourceMask resourceMask); OCStackResult DeleteEasySetupResources(); @@ -82,12 +96,13 @@ OCStackResult DeleteEasySetupResources(); OCStackResult SetDeviceProperty(ESDeviceProperty *deviceProperty); OCStackResult SetEnrolleeState(ESEnrolleeState esState); OCStackResult SetEnrolleeErrCode(ESErrorCode esErrCode); +OCEntityHandlerResult CheckEhRequestPayload(OCEntityHandlerRequest *ehRequest); -void GetTargetNetworkInfoFromProvResource(char *, char *); -void RegisterWifiRsrcEventCallBack(ESWiFiCB); -void RegisterCloudRsrcEventCallBack(ESCloudCB); +void RegisterWifiRsrcEventCallBack(ESWiFiConfCB); +void RegisterCloudRsrcEventCallBack(ESCoapCloudConfCB); void RegisterDevConfRsrcEventCallBack(ESDevConfCB); void UnRegisterResourceEventCallBack(void); +ESResult SetCallbackForUserData(ESReadUserdataCb readCb, ESWriteUserdataCb writeCb); #ifdef __cplusplus }