X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=service%2Feasy-setup%2Fenrollee%2Fsrc%2Fresourcehandler.h;h=851f047a67bf4aee1b93b3c1ea18501b64e95b46;hb=7f00f942c39b7bc27c7eeecf213a239c3fe4173c;hp=47150302e47786133da1d9826c858bd20f9fa87f;hpb=cd34db38c82a503df15de84238fe7a7330241e99;p=platform%2Fupstream%2Fiotivity.git diff --git a/service/easy-setup/enrollee/src/resourcehandler.h b/service/easy-setup/enrollee/src/resourcehandler.h index 4715030..851f047 100755 --- a/service/easy-setup/enrollee/src/resourcehandler.h +++ b/service/easy-setup/enrollee/src/resourcehandler.h @@ -34,21 +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); +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 { @@ -56,38 +58,48 @@ 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]; // SSID - 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]; -} 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(); 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);