X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=service%2Feasy-setup%2Finc%2Fescommon.h;h=e46664ba60610a2d98f65f35629b4683872439d8;hb=3c093548382bb2542c87a67e6e5fa32552c29cb3;hp=c35010989de0af9625f1364ff4a091ab84671026;hpb=edcfc3d2329da7b914771c0dcff5f42c9b74fd93;p=platform%2Fupstream%2Fiotivity.git diff --git a/service/easy-setup/inc/escommon.h b/service/easy-setup/inc/escommon.h index c350109..e46664b 100755 --- a/service/easy-setup/inc/escommon.h +++ b/service/easy-setup/inc/escommon.h @@ -36,9 +36,10 @@ extern "C" -#define OIC_STRING_MAX_VALUE 64 +#define OIC_STRING_MAX_VALUE 256 #define MAX_WEBLINKLEN 3 -#define NUM_WIFIMODE 5 +#define NUM_WIFIMODE 10 +#define NUM_CONNECT_TYPE 3 /** * Attributes used to form a proper easysetup conforming JSON message. @@ -53,27 +54,26 @@ extern "C" #define OC_RSRVD_ES_AUTHTYPE "wat" #define OC_RSRVD_ES_ENCTYPE "wet" #define OC_RSRVD_ES_AUTHCODE "ac" +#define OC_RSRVD_ES_ACCESSTOKEN "at" +#define OC_RSRVD_ES_ACCESSTOKEN_TYPE "att" #define OC_RSRVD_ES_AUTHPROVIDER "apn" #define OC_RSRVD_ES_CISERVER "cis" #define OC_RSRVD_ES_SERVERID "sid" #define OC_RSRVD_ES_DEVNAME "dn" -#define OC_RSRVD_ES_LANGUAGE "lang" -#define OC_RSRVD_ES_COUNTRY "ctry" -#define OC_RSRVD_ES_MODELNUMBER "mnmo" -#define OC_RSRVD_ES_LOCATION "loc" #define OC_RSRVD_ES_HREF "href" +#define OC_RSRVD_ES_CONNECT "cn" /** * Easysetup defined resoruce types and uris. */ -#define OC_RSRVD_ES_RES_TYPE_PROV "oic.wk.prov" -#define OC_RSRVD_ES_URI_PROV "/ProvisioningResURI" -#define OC_RSRVD_ES_RES_TYPE_WIFI "oic.wk.wifi" -#define OC_RSRVD_ES_URI_WIFI "/WiFiProvisioningResURI" -#define OC_RSRVD_ES_RES_TYPE_CLOUDSERVER "oic.wk.cloudserver" -#define OC_RSRVD_ES_URI_CLOUDSERVER "/CloudServerProvisioningResURI" -#define OC_RSRVD_ES_RES_TYPE_DEVCONF "oic.wk.devconf" -#define OC_RSRVD_ES_URI_DEVCONF "/DevConfProvisioningResURI" +#define OC_RSRVD_ES_RES_TYPE_EASYSETUP "oic.r.easysetup" +#define OC_RSRVD_ES_URI_EASYSETUP "/EasySetupResURI" +#define OC_RSRVD_ES_RES_TYPE_WIFICONF "oic.r.wificonf" +#define OC_RSRVD_ES_URI_WIFICONF "/WiFiConfResURI" +#define OC_RSRVD_ES_RES_TYPE_COAPCLOUDCONF "oic.r.coapcloudconf" +#define OC_RSRVD_ES_URI_COAPCLOUDCONF "/CoapCloudConfResURI" +#define OC_RSRVD_ES_RES_TYPE_DEVCONF "oic.r.devconf" +#define OC_RSRVD_ES_URI_DEVCONF "/DevConfResURI" /** @@ -126,6 +126,26 @@ typedef enum } WIFI_ENCTYPE; /** + * @brief OAuth Access Token Types. "bearer" and "mac" types are supported. + */ +typedef enum +{ + NONE_OAUTH_TOKENTYPE = 0, + OAUTH_TOKENTYPE_BEARER, + OAUTH_TOKENTYPE_MAC +} OAUTH_TOKENTYPE; + +/** + * @brief A target configuration type to be connected (or executed) + */ +typedef enum +{ + ES_CONNECT_NONE = 0, /**< Init value **/ + ES_CONNECT_WIFI = 1, /**< WiFi Conf resource **/ + ES_CONNECT_COAPCLOUD = 2 /**< Coap Cloud Conf resource **/ +} ES_CONNECT_TYPE; + +/** * @brief A result of Easy Setup */ typedef enum @@ -136,6 +156,11 @@ typedef enum ES_OK = 0, /** + * Secure resource is discovered. + */ + ES_SECURE_RESOURCE_IS_DISCOVERED = 1, + + /** * Enrollee discovery fails in cloud provisioning */ ES_ENROLLEE_DISCOVERY_FAILURE = 11, @@ -149,7 +174,7 @@ typedef enum /** * Security opertion is not supported because Mediator is built as unsecured mode. */ - ES_SEC_OPERATION_IS_NOT_SUPPORTED = 20, + ES_SEC_OPERATION_IS_NOT_SUPPORTED, /** * Security resource discovery fails due to loss of discovery packet or absence of the resource in a network @@ -157,16 +182,81 @@ typedef enum ES_SECURE_RESOURCE_DISCOVERY_FAILURE, /** - * Ownership transfer fails because DTLS handshake failure happens + * Ownership transfer fails due to one of unexpected reasons. + * E.g. A packet loss even with retransmission happens during ownership transfer. + * E.g. Mediator's owned status is 'unowned' + * E.g. A user confirmation for random pin-based or certificate-based OT fails + */ + ES_OWNERSHIP_TRANSFER_FAILURE = 20, + + /** + * Ownership transfer which is cert-based method fails due to user confirmation is denied. */ - ES_OWNERSHIP_TRANSFER_FAILURE, + ES_USER_DENIED_CONFIRMATION_REQ, + + /** + * Ownership transfer which is cert-based method fails due to wrong certificate. + */ + ES_AUTHENTICATION_FAILURE_WITH_WRONG_CERT, + + /** + * Ownership transfer which is random-pin method fails due to wrong pin. + */ + ES_AUTHENTICATION_FAILURE_WITH_WRONG_PIN, + + /** + * Ownership information is not synchronized between Mediator and Enrollee. + * e.g. A mediator's PDM DB has an ownership information to the found enrollee + * but it is actually owned by other mediator. + * That can happen where the found enrollee is reset and performed in easy setup without any inform to the first mediator. + * e.g. A list of owned devices managed in mediator's PMD db has no element for the found enrollee. + * That can happen where only mediator is reset without any inform to the enrollee. + * To proceed an ownership transfer to the enrollee, it needs to reset the enrollee's SVR DB for its owner, i.e. the mediator + */ + ES_OWNERSHIP_IS_NOT_SYNCHRONIZED, + + /** + * MOT is not supported at the target Enrollee device. + * + * @note This ESResult values will be returned ONLY IF a mediator is a first owner to an Enrollee. + * @note If the mediator gets this values, it means OT has been successfully done + * (or already took an ownership, before), but failed MOT configuration. + */ + ES_MOT_NOT_SUPPORTED = 30, + + /** + * MOT enabling is failed. + * + * @note This ESResult values will be returned ONLY IF a mediator is a first owner to an Enrollee. + * @note If the mediator gets this values, it means OT has been successfully done + * (or already took an ownership, before), but failed MOT configuration. + */ + ES_MOT_ENABLING_FAILURE, + + /** + * MOT method selection is failed + * + * @note This ESResult values will be returned ONLY IF a mediator is a first owner to an Enrollee. + * @note If the mediator gets this values, it means OT has been successfully done + * (or already took an ownership, before), but failed MOT configuration. + */ + ES_MOT_METHOD_SELECTION_FAILURE, + + /** + * A provisioning of Pre-configured pin number for MOT is failed + * + * @note This ESResult values will be returned ONLY IF a mediator is a first owner to an Enrollee. + * @note If the mediator gets this values, it means OT has been successfully done + * (or already took an ownership, before), but failed MOT configuration. + */ + ES_PRE_CONFIG_PIN_PROVISIONING_FAILURE, /** * ACL provisioning fails in cloud provisioning. * It could be that UUID format of cloud server is wrong. * Or any response for the provisioning request is not arrived at Mediator */ - ES_ACL_PROVISIONING_FAILURE, + ES_ACL_PROVISIONING_FAILURE = 40, /** * Cert. provisioning fails in cloud provisioning. @@ -178,6 +268,7 @@ typedef enum /** * Provisioning fails for some reason. */ + ES_ERROR = 255 } ESResult; @@ -186,14 +277,14 @@ typedef enum */ typedef enum { - ES_WIFI_RESOURCE = 0x01, - ES_CLOUD_RESOURCE = 0x02, + ES_WIFICONF_RESOURCE = 0x01, + ES_COAPCLOUDCONF_RESOURCE = 0x02, ES_DEVCONF_RESOURCE = 0x04 } ESResourceMask; /** * @brief Indicate enrollee and provisioning status. Provisioning status is shown in "provisioning - * status" property in provisioning resource. + * status" property in easysetup resource. */ typedef enum { @@ -324,6 +415,12 @@ typedef enum ES_ERRCODE_FAILED_TO_FIND_REGISTERED_USER_IN_CLOUD, /** + * Error Code that an enrollee can not connect to a target WiFi AP because the AP resides in + * an unsupported WiFi frequency. + */ + ES_ERRCODE_UNSUPPORTED_WIFI_FREQUENCY, + + /** * Error Code that Unknown error occured */ ES_ERRCODE_UNKNOWN = 255