Commit 5859e4ce authored by Jihun Ha's avatar Jihun Ha Committed by Madan Lanka

Merge duplicated variables used by both of Mediator and Enrollee

Duplicated string definition and enum variable are merged into escommon.h.
And Enrollee and Mediator has own common header file.

Change-Id: I5d49d46e267e30260dc1de7520d034e586df705e
Signed-off-by: default avatarJihun Ha <jihun.ha@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/9891Tested-by: default avatarjenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: default avatarMadan Lanka <lanka.madan@samsung.com>
parent df677fef
//******************************************************************
//
// Copyright 2016 Samsung Electronics All Rights Reserved.
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#ifndef ES_ENROLLEE_COMMON_H_
#define ES_ENROLLEE_COMMON_H_
#include "ocstack.h"
#include "octypes.h"
#ifdef __cplusplus
extern "C"
{
#endif
/**
* @brief Data structure delivered from mediator, which provides WiFi information
*/
typedef struct
{
char ssid[MAX_SSIDLEN]; /**< Ssid of the Enroller**/
char pwd[MAX_CREDLEN]; /**< Pwd of the Enroller**/
WIFI_AUTHTYPE authtype; /**< Auth type of the Enroller**/
WIFI_ENCTYPE enctype; /**< Encryption type of the Enroller**/
void *userdata; /**< Vender-specific data**/
} ESWiFiProvData;
/**
* @brief Data structure delivered from mediator, which provides device configuration information
*/
typedef struct
{
char language[OIC_STRING_MAX_VALUE]; /**< IETF language tag using ISO 639X **/
char country[OIC_STRING_MAX_VALUE]; /**< ISO Country Code (ISO 3166-1 Alpha-2) **/
void *userdata; /**< Vender-specific data**/
} ESDevConfProvData;
/**
* @brief Data structure delivered from mediator, which provides Cloud server information
*/
typedef struct
{
char authCode[OIC_STRING_MAX_VALUE]; /**< Auth code issued by OAuth2.0-compatible account server **/
char authProvider[OIC_STRING_MAX_VALUE]; /**< Auth provider ID **/
char ciServer[OIC_STRING_MAX_VALUE]; /**< Cloud interface server URL which an Enrollee is going to registered **/
void *userdata; /**< Vender-specific data**/
} ESCloudProvData;
/**
* @brief Data structure stored for Device property which includes a WiFi and device configuration.
*/
typedef struct
{
/**
* @brief Data structure indicating WiFi configuration of Enrollee
*/
struct
{
WIFI_MODE mode[NUM_WIFIMODE];
WIFI_FREQ freq;
} WiFi;
/**
* @brief Data structure indicating device configuration of Enrollee
*/
struct
{
char deviceName[MAX_DEVICELEN];
} DevConf;
} ESDeviceProperty;
/**
* A set of functions pointers for callback functions which are called after provisioning data is
* received from Mediator.
*/
typedef struct
{
void (*WiFiProvCb) (ESWiFiProvData *);
void (*DevConfProvCb) (ESDevConfProvData *);
void (*CloudDataProvCb) (ESCloudProvData *);
} ESProvisioningCallbacks;
#ifdef __cplusplus
}
#endif
#endif //ES_ENROLLEE_COMMON_H_
......@@ -23,6 +23,7 @@
#define EASYSETUP_ENROLLEE_H__
#include "escommon.h"
#include "ESEnrolleeCommon.h"
#include "ocpayload.h"
......@@ -36,17 +37,6 @@
extern "C" {
#endif // __cplusplus
/**
* A set of functions pointers for callback functions which are called after provisioning data is
* received from Mediator.
*/
typedef struct
{
void (*WiFiProvCb) (ESWiFiProvData *);
void (*DevConfProvCb) (ESDevConfProvData *);
void (*CloudDataProvCb) (ESCloudProvData *);
} ESProvisioningCallbacks;
/**
* A function pointer for registering a user-defined function to set user-specific properties to a
* response going back to a client.
......
......@@ -163,11 +163,11 @@ OCStackResult initWiFiResource(bool isSecured)
{
OCStackResult res = OC_STACK_ERROR;
gWiFiResource.supportedFreq = WiFi_BOTH;
gWiFiResource.supportedMode[0] = WiFi_11A;
gWiFiResource.supportedMode[1] = WiFi_11B;
gWiFiResource.supportedMode[2] = WiFi_11G;
gWiFiResource.supportedMode[3] = WiFi_11N;
gWiFiResource.supportedFreq = WIFI_BOTH;
gWiFiResource.supportedMode[0] = WIFI_11A;
gWiFiResource.supportedMode[1] = WIFI_11B;
gWiFiResource.supportedMode[2] = WIFI_11G;
gWiFiResource.supportedMode[3] = WIFI_11N;
gWiFiResource.numMode = 4;
gWiFiResource.authType = NONE_AUTH;
gWiFiResource.encType = NONE_ENC;
......
......@@ -24,6 +24,7 @@
#include "logger.h"
#include "ocstack.h"
#include "escommon.h"
#include "ESEnrolleeCommon.h"
#include "octypes.h"
#ifndef ES_RESOURCE_HANDLER_H_
......
......@@ -79,28 +79,29 @@ extern "C"
#define MAX_WEBLINKLEN 100
/**
* @brief Supported WIFI mode like 802.11g and 802.11n
* @brief Supported WIFI frequency like 2.4G and 5G
*/
typedef enum
{
WiFi_11A = 0, /**< 802.11a **/
WiFi_11B, /**< 802.11b **/
WiFi_11G, /**< 802.11g **/
WiFi_11N, /**< 802.11n **/
WiFi_11AC, /**< 802.11ac **/
WiFi_EOF = 999
} WIFI_MODE;
WIFI_24G = 0, /**< 2.4G **/
WIFI_5G, /**< 5G **/
WIFI_BOTH, /**< 2.4G and 5G **/
WIFI_FREQ_NONE /**< EOF **/
} WIFI_FREQ;
/**
* @brief Supported WIFI frequency like 2.4G and 5G
* @brief Supported WIFI mode like 802.11g and 802.11n
*/
typedef enum
{
WiFi_24G = 0, /**< 2.4G **/
WiFi_5G, /**< 5G **/
WiFi_BOTH, /**< 2.4G and 5G **/
WiFi_FREQ_NONE /**< EOF **/
} WIFI_FREQ;
WIFI_11A = 0, /**< 802.11a **/
WIFI_11B, /**< 802.11b **/
WIFI_11G, /**< 802.11g **/
WIFI_11N, /**< 802.11n **/
WIFI_11AC, /**< 802.11ac **/
WiFi_EOF = 999
} WIFI_MODE;
/**
* @brief WIFI Authentication tlype of the Enroller
......@@ -151,62 +152,6 @@ typedef enum
ES_DEVCONF_RESOURCE = 0x04
} ESResourceMask;
/**
* @brief Data structure delivered from mediator, which provides WiFi information
*/
typedef struct
{
char ssid[MAX_SSIDLEN]; /**< Ssid of the Enroller**/
char pwd[MAX_CREDLEN]; /**< Pwd of the Enroller**/
WIFI_AUTHTYPE authtype; /**< Auth type of the Enroller**/
WIFI_ENCTYPE enctype; /**< Encryption type of the Enroller**/
void *userdata; /**< Vender-specific data**/
} ESWiFiProvData;
/**
* @brief Data structure delivered from mediator, which provides device configuration information
*/
typedef struct
{
char language[OIC_STRING_MAX_VALUE]; /**< IETF language tag using ISO 639X **/
char country[OIC_STRING_MAX_VALUE]; /**< ISO Country Code (ISO 3166-1 Alpha-2) **/
void *userdata; /**< Vender-specific data**/
} ESDevConfProvData;
/**
* @brief Data structure delivered from mediator, which provides Cloud server information
*/
typedef struct
{
char authCode[OIC_STRING_MAX_VALUE]; /**< Auth code issued by OAuth2.0-compatible account server **/
char authProvider[OIC_STRING_MAX_VALUE]; /**< Auth provider ID **/
char ciServer[OIC_STRING_MAX_VALUE]; /**< Cloud interface server URL which an Enrollee is going to registered **/
void *userdata; /**< Vender-specific data**/
} ESCloudProvData;
/**
* @brief Data structure stored for Device property which includes a WiFi and device configuration.
*/
typedef struct
{
/**
* @brief Data structure indicating WiFi configuration of Enrollee
*/
struct
{
WIFI_MODE mode[NUM_WIFIMODE];
WIFI_FREQ freq;
} WiFi;
/**
* @brief Data structure indicating device configuration of Enrollee
*/
struct
{
char deviceName[MAX_DEVICELEN];
} DevConf;
} ESDeviceProperty;
/**
* @brief Indicate enrollee and provisioning status. Provisioning status is shown in "provisioning
* status" property in provisioning resource.
......
......@@ -32,189 +32,16 @@
#include "ocstack.h"
#include "octypes.h"
#include "escommon.h"
using namespace OC;
using namespace std;
// Defines
#define IP_PORT 55555
/**
* Attributes used to form a proper easysetup conforming JSON message
*/
#define OC_RSRVD_ES_PROVSTATUS "ps"
#define OC_RSRVD_ES_LAST_ERRORCODE "lec"
#define OC_RSRVD_ES_LINKS "links"
#define OC_RSRVD_ES_SUPPORTEDWIFIMODE "swmt"
#define OC_RSRVD_ES_SUPPORTEDWIFIFREQ "swf"
#define OC_RSRVD_ES_SSID "tnn"
#define OC_RSRVD_ES_CRED "cd"
#define OC_RSRVD_ES_AUTHTYPE "wat"
#define OC_RSRVD_ES_ENCTYPE "wet"
#define OC_RSRVD_ES_AUTHCODE "ac"
#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"
/**
* Easysetup defined resoruce types and uris
*/
#define OC_RSRVD_ES_RES_TYPE_PROV "ocf.wk.prov"
#define OC_RSRVD_ES_URI_PROV "/ProvisioningResURI"
#define OC_RSRVD_ES_RES_TYPE_WIFI "ocf.wk.wifi"
#define OC_RSRVD_ES_URI_WIFI "/WiFiProvisioningResURI"
#define OC_RSRVD_ES_RES_TYPE_CLOUDSERVER "ocf.wk.cloudserver"
#define OC_RSRVD_ES_URI_CLOUDSERVER "/CloudServerProvisioningResURI"
#define OC_RSRVD_ES_RES_TYPE_DEVCONF "ocf.wk.devconf"
#define OC_RSRVD_ES_URI_DEVCONF "/DevConfProvisioningResURI"
#ifndef WITH_ARDUINO
namespace OIC
{
namespace Service
{
typedef enum
{
ES_ERROR = -1,
ES_OK = 0,
ES_NETWORKFOUND = 1,
ES_NETWORKCONNECTED,
ES_NETWORKNOTCONNECTED,
ES_RESOURCECREATED = 11,
ES_RECVREQOFPROVRES = 21,
ES_RECVREQOFNETRES,
ES_RECVUPDATEOFPROVRES,
ES_RECVTRIGGEROFPROVRES,
ES_UNAUTHORIZED = 31
} ESResult;
/**
* @brief Indicate enrollee and provisioning status. Provisioning status is shown in "provisioning
* status" property in provisioning resource.
*/
typedef enum
{
/**
* Default state of the device
*/
ES_STATE_INIT = 0,
/**
* Status indicating being cnnecting to target network
*/
ES_STATE_CONNECTING_TO_ENROLLER,
/**
* Status indicating successful conection to target network
*/
ES_STATE_CONNECTED_TO_ENROLLER,
/**
* Status indicating failure connection to target network
*/
ES_STATE_CONNECTED_FAIL_TO_ENROLLER,
/**
* Status indicating successful registration to cloud
*/
ES_STATE_REGISTERED_TO_CLOUD,
/**
* Status indicating failure registeration to cloud
*/
ES_STATE_REGISTRRED_FAIL_TO_CLOUD
} ProvStatus;
/**
* @brief Indicate last error code to describe a reason of error during easy setup.
*/
typedef enum
{
/**
* Init Error Code
*/
ES_ERRCODE_NO_ERROR = 0,
/**
* Error Code that given WiFi's SSID is not found
*/
ES_ERRCODE_SSID_NOT_FOUND,
/**
* Error Code that given WiFi's Password is wrong
*/
ES_ERRCODE_PW_WRONG,
/**
* Error Code that IP address is not allocated
*/
ES_ERRCODE_IP_NOT_ALLOCATED,
/**
* Error Code that there is no Internet connection
*/
ES_ERRCODE_NO_INTERNETCONNECTION,
/**
* Error Code that Timeout occured
*/
ES_ERRCODE_TIMEOUT,
/**
* Error Code that Unknown error occured
*/
ES_ERRCODE_UNKNOWN
} ESErrorCode;
/**
* @brief WIFI Authentication tlype of the Enroller
*/
typedef enum
{
NONE_AUTH = 0, /**< NO authentication **/
WEP, /**< WEP **/
WPA_PSK, /**< WPA-PSK **/
WPA2_PSK /**< WPA2-PSK **/
} WIFI_AUTHTYPE;
/**
* @brief WIFI encryption type of the Enroller
*/
typedef enum
{
NONE_ENC = 0, /**< NO encryption **/
WEP_64, /**< WEP-64 **/
WEP_128, /**< WEP-128**/
TKIP, /**< TKIP **/
AES, /**< AES **/
TKIP_AES /**< TKIP-AES **/
} WIFI_ENCTYPE;
/**
* @brief Supported WIFI frequency like 2.4G and 5G
*/
typedef enum
{
WIFI_24G = 0, /**< 2.4G **/
WIFI_5G, /**< 5G **/
WIFI_BOTH, /**< 2.4G and 5G **/
WIFI_FREQ_NONE /**< EOF **/
} WIFI_FREQ;
/**
* @brief Supported WIFI mode like 802.11g and 802.11n
*/
typedef enum
{
WIFI_11A = 0, /**< 802.11a **/
WIFI_11B, /**< 802.11b **/
WIFI_11G, /**< 802.11g **/
WIFI_11N, /**< 802.11n **/
WIFI_11AC /**< 802.11ac **/
} WIFI_MODE;
/**
* @brief Properties of provisioning resource. It includes a provisioning status and last
* error code.
......
......@@ -236,7 +236,7 @@ void SetDeviceInfo()
printf("SetDeviceInfo IN\n");
ESDeviceProperty deviceProperty = {
{{WiFi_11G, WiFi_11N, WiFi_11AC, WiFi_EOF}, WiFi_5G}, {"Test Device"}
{{WIFI_11G, WIFI_11N, WIFI_11AC, WiFi_EOF}, WIFI_5G}, {"Test Device"}
};
// Set user properties if needed
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment