if target_os == 'linux':
es_enrollee_common_src = [enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/easysetup.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/softapnative.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/networkhandler.c']
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
+ enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c'
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/softapnative.c',
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/networkhandler.c'
+ ]
enrollee_env.AppendUnique(es_enrollee_src = es_enrollee_common_src)
if target_os == 'tizen':
es_enrollee_common_src = [enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/easysetup.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/softapnative.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/networkhandler.c']
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
+ enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c'
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/softapnative.c',
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/linux/wifi/networkhandler.c'
+ ]
enrollee_env.AppendUnique(es_enrollee_src = es_enrollee_common_src)
enrollee_sdk_shared = enrollee_env.SharedLibrary('ESEnrolleeSDK', enrollee_env.get('es_enrollee_src'))
# enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/arduino/resourcehandler.cpp',
# enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/arduino/wifi/networkhandler.cpp'])
enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/easysetup.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c',
- enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/arduino/wifi/networkhandler.cpp'])
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/onboarding.c',
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/softap.c',
+ enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/src/resourcehandler.c'
+ #enrollee_env.get('SRC_DIR') + '/service/easy-setup/enrollee/arduino/wifi/networkhandler.cpp'
+ ])
enrollee_env.InstallTarget(es_sdk_static, 'libESEnrolleeSDK')
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file contains the implementation for EasySetup Enrollee device
- */
-
-#include "easysetup.h"
-#include "softap.h"
-#include "onboarding.h"
-#include "logger.h"
-#include "resourcehandler.h"
-
-/**
- * @var ES_ENROLLEE_TAG
- * @brief Logging tag for module name.
- */
-#define ES_ENROLLEE_TAG "ES"
-
-//-----------------------------------------------------------------------------
-// Private variables
-//-----------------------------------------------------------------------------
-
-/**
- * @var gTargetSsid
- * @brief Target SSID of the Soft Access point to which the device has to connect
- */
-static char gTargetSsid[MAXSSIDLEN];
-
-/**
- * @var gTargetPass
- * @brief Password of the target access point to which the device has to connect
- */
-static char gTargetPass[MAXNETCREDLEN];
-
-/**
- * @var gEnrolleeStatusCb
- * @brief Fucntion pointer holding the callback for intimation of EasySetup Enrollee status callback
- */
-static ESEnrolleeEventCallback gEnrolleeStatusCb = NULL;
-
-/**
- * @var gIsSecured
- * @brief Variable to check if secure mode is enabled or not.
- */
-static bool gIsSecured = false;
-
-//-----------------------------------------------------------------------------
-// Private internal function prototypes
-//-----------------------------------------------------------------------------
-void ESOnboardingCallback(ESResult esResult);
-void ESProvisioningCallback(ESResult esResult);
-void ESOnboardingCallbackTargetNet(ESResult esResult);
-static bool ESEnrolleeValidateParam(OCConnectivityType networkType, const char *ssid,
- const char *passwd, ESEnrolleeEventCallback cb);
-
-
-void ESOnboardingCallback(ESResult esResult)
-{
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG, "ESOnboardingCallback with result = %d", esResult);
- if(esResult == ES_OK)
- {
- gEnrolleeStatusCb(esResult, ES_ON_BOARDED_STATE);
- }
- else
- {
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG,
- "Onboarding is failed callback result is = %d", esResult);
- gEnrolleeStatusCb(esResult, ES_INIT_STATE);
- }
-}
-
-void ESProvisioningCallback(ESResult esResult)
-{
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG, "ESProvisioningCallback with result = %d", esResult);
-
- if (esResult == ES_RECVTRIGGEROFPROVRES)
- {
- GetTargetNetworkInfoFromProvResource(gTargetSsid, gTargetPass);
- gEnrolleeStatusCb(ES_OK, ES_PROVISIONED_STATE);
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "Connecting with target network");
-
- // Connecting/onboarding to target network
- ConnectToWiFiNetwork(gTargetSsid, gTargetPass, ESOnboardingCallbackTargetNet);
- }
- else
- {
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG, "Provisioning is failed callback result is = %d", esResult);
- // Resetting Enrollee to ONBOARDED_STATE as Enrollee is alreday onboarded in previous step
- gEnrolleeStatusCb(ES_OK, ES_ON_BOARDED_STATE);
- }
-}
-
-void ESOnboardingCallbackTargetNet(ESResult esResult)
-{
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG, "ESOnboardingCallback on target network with result = %d",
- esResult);
- if(esResult == ES_OK)
- {
- gEnrolleeStatusCb(esResult, ES_ON_BOARDED_TARGET_NETWORK_STATE);
- }
- else
- {
- OIC_LOG_V(DEBUG, ES_ENROLLEE_TAG,
- "Onboarding is failed on target network and callback result is = %d", esResult);
- // Resetting Enrollee state to the ES_PROVISIONED_STATE
- // as device is already being provisioned with target network creds.
- gEnrolleeStatusCb(esResult, ES_PROVISIONED_STATE);
- }
-}
-
-ESResult ESInitEnrollee(OCConnectivityType networkType, const char *ssid, const char *passwd,
- bool isSecured,
- ESEnrolleeEventCallback cb)
-{
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESInitEnrollee IN");
- if(!ESEnrolleeValidateParam(networkType,ssid,passwd,cb))
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG,
- "ESInitEnrollee::Stopping Easy setup due to invalid parameters");
- return ES_ERROR;
- }
-
- //Init callback
- gEnrolleeStatusCb = cb;
-
- gIsSecured = isSecured;
-
- // TODO : This onboarding state has to be set by lower layer, as they better
- // knows when actually on-boarding started.
- cb(ES_ERROR,ES_ON_BOARDING_STATE);
-
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "received callback");
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "onboarding now..");
-
- if(!ESOnboard(ssid, passwd, ESOnboardingCallback))
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESInitEnrollee::On-boarding failed");
- cb(ES_ERROR, ES_INIT_STATE);
- return ES_ERROR;
- }
-
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESInitEnrollee OUT");
- return ES_OK;
-}
-
-ESResult ESTerminateEnrollee()
-{
- UnRegisterResourceEventCallBack();
-
- //Delete Prov resource
- if (DeleteProvisioningResource() != OC_STACK_OK)
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "Deleting prov resource error!!");
- return ES_ERROR;
- }
-
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESTerminateEnrollee success");
- return ES_OK;
-}
-
-ESResult ESInitProvisioning()
-{
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESInitProvisioning <<IN>>");
-
- if (CreateProvisioningResource(gIsSecured) != OC_STACK_OK)
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "CreateProvisioningResource error");
- return ES_ERROR;
- }
-
- RegisterResourceEventCallBack(ESProvisioningCallback);
-
- OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESInitProvisioning <<OUT>>");
- return ES_RESOURCECREATED;
-}
-
-static bool ESEnrolleeValidateParam(OCConnectivityType /*networkType*/, const char *ssid,
- const char *passwd, ESEnrolleeEventCallback cb)
-{
- if (!ssid || !passwd || !cb)
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESEnrolleeValidateParam - Invalid parameters");
- return false;
- }
- return true;
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file has methods for on-boarding the Enrollee device.
- * This will contain template methods that will have core business logic & negotiation algorithm
- * on various on-boarding methods.
- */
-
-#include "easysetup.h"
-#include "softap.h"
-#include "onboarding.h"
-
-#include "logger.h"
-#include "resourcehandler.h"
-
-/**
- * @var ES_ENROLLEE_TAG
- * @brief Logging tag for module name.
- */
-#define ES_ENROLLEE_TAG "ES_SOFTAP"
-
-/**
- * It will return true on-boarding type is soft AP
- */
-bool ESSoftapOnboarding()
-{
- // TODO: To be changed based on user config. Current version, hardcoded to SoftAp onboarding
- return true;
-}
-
-/**
- * It will return true on-boarding type is BLE
- */
-bool ESBleOnboarding()
-{
- //BLE onboarding is not supported with current version.
- return false;
-}
-
-/**
- * It will do onboarding based on the user's configuration.
- */
-bool ESOnboard(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb)
-{
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "ESOnboard IN");
-
- if (ESSoftapOnboarding())
- {
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "Connecting to Mediator SoftAp");
- ConnectToWiFiNetwork(ssid, passwd, cb);
- return true;
- }
- else if (ESBleOnboarding())
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESOnboard::Ble onboarding is not supported");
- // TODO:
- return false;
- }
- else
- {
- // TODO:
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESOnboard::Invalid onboarding option");
- return false;
- }
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-#include "resourcehandler.h"
-
-#include <stdio.h>
-
-#include "ocpayload.h"
-#include "oic_string.h"
-
-/**
- * @var ES_RH_TAG
- * @brief Logging tag for module name.
- */
-#define ES_RH_TAG "ES_RH"
-//-----------------------------------------------------------------------------
-// Private variables
-//-----------------------------------------------------------------------------
-
-/**
- * @var gProvResource
- * @brief Structure for holding the Provisioning status and target information required to
- * connect to the target network
- */
-static ProvResource gProvResource;
-
-/**
- * @var gNetResource
- * @brief Structure forr holding the Provisioning status of network information
- */
-static NetResource gNetResource;
-
-//-----------------------------------------------------------------------------
-// Private internal function prototypes
-//-----------------------------------------------------------------------------
-OCEntityHandlerResult OCEntityHandlerCb(OCEntityHandlerFlag flag, OCEntityHandlerRequest *ehRequest,
- void *callback);
-const char *getResult(OCStackResult result);
-OCEntityHandlerResult ProcessGetRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload);
-OCEntityHandlerResult ProcessPutRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload);
-OCEntityHandlerResult ProcessPostRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload);
-OCRepPayload* constructResponse(OCEntityHandlerRequest *ehRequest);
-
-ESEnrolleeResourceEventCallback gNetworkInfoProvEventCb = NULL;
-
-void RegisterResourceEventCallBack(ESEnrolleeResourceEventCallback cb)
-{
- gNetworkInfoProvEventCb = cb;
-}
-
-void UnRegisterResourceEventCallBack()
-{
- if (gNetworkInfoProvEventCb)
- {
- gNetworkInfoProvEventCb = NULL;
- }
-}
-
-void GetTargetNetworkInfoFromProvResource(char *name, char *pass)
-{
- if (name != NULL && pass != NULL)
- {
- OICStrcpy(name, MAXSSIDLEN, gProvResource.tnn);
- OICStrcpy(pass, MAXNETCREDLEN, gProvResource.cd);
- }
-}
-
-OCStackResult CreateProvisioningResource(bool isSecured)
-{
- gProvResource.ps = ES_PS_NEED_PROVISIONING;
- gProvResource.tr = ES_PS_TRIGGER_INIT_VALUE;
-
- gProvResource.tnt = CT_ADAPTER_IP;
- OICStrcpy(gProvResource.tnn, sizeof(gProvResource.tnn), "Unknown");
- OICStrcpy(gProvResource.cd, sizeof(gProvResource.cd), "Unknown");
-
- OCStackResult res = OC_STACK_ERROR;
- if (isSecured)
- {
- res = OCCreateResource(&gProvResource.handle, OC_RSRVD_ES_PROV_RES_TYPE,
- OC_RSRVD_INTERFACE_DEFAULT,
- OC_RSRVD_ES_URI_PROV, OCEntityHandlerCb,
- NULL, OC_DISCOVERABLE | OC_OBSERVABLE | OC_SECURE);
- }
- else
- {
- res = OCCreateResource(&gProvResource.handle, OC_RSRVD_ES_PROV_RES_TYPE,
- OC_RSRVD_INTERFACE_DEFAULT,
- OC_RSRVD_ES_URI_PROV, OCEntityHandlerCb,
- NULL, OC_DISCOVERABLE | OC_OBSERVABLE);
- }
-
- OIC_LOG_V(INFO, ES_RH_TAG, "Created Prov resource with result: %s", getResult(res));
- return res;
-}
-
-OCStackResult DeleteProvisioningResource()
-{
- OCStackResult res = OCDeleteResource(gProvResource.handle);
- if (res != OC_STACK_OK)
- {
- OIC_LOG_V(INFO, ES_RH_TAG, "Deleting Prov resource error with result: %s", getResult(res));
- }
-
- return res;
-}
-
-OCEntityHandlerResult ProcessGetRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload **payload)
-{
- OCEntityHandlerResult ehResult = OC_EH_ERROR;
- if (!ehRequest)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Request is Null");
- return ehResult;
- }
- if (ehRequest->payload && ehRequest->payload->type != PAYLOAD_TYPE_REPRESENTATION)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Incoming payload not a representation");
- return ehResult;
- }
-
- OCRepPayload *getResp = constructResponse(ehRequest);
- if (!getResp)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "constructResponse failed");
- return OC_EH_ERROR;
- }
-
- *payload = getResp;
- ehResult = OC_EH_OK;
-
- return ehResult;
-}
-
-OCEntityHandlerResult ProcessPostRequest(OCEntityHandlerRequest *ehRequest, OCRepPayload** payload)
-{
- OIC_LOG(INFO, ES_RH_TAG, "ProcessPostRequest enter");
- OCEntityHandlerResult ehResult = OC_EH_ERROR;
- if (ehRequest->payload && ehRequest->payload->type != PAYLOAD_TYPE_REPRESENTATION)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Incoming payload not a representation");
- return ehResult;
- }
-
- OCRepPayload* input = (OCRepPayload*) (ehRequest->payload);
- if (!input)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Failed to parse");
- return ehResult;
- }
-
- char* tnn;
- if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_TNN, &tnn))
- {
- OICStrcpy(gProvResource.tnn, sizeof(gProvResource.tnn), tnn);
- OIC_LOG_V(INFO, ES_RH_TAG, "gProvResource.tnn %s", gProvResource.tnn);
-
- gProvResource.ps = ES_PS_PROVISIONING_COMPLETED;
- }
-
- char* cd;
- if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_CD, &cd))
- {
- OICStrcpy(gProvResource.cd, sizeof(gProvResource.cd), cd);
- OIC_LOG_V(INFO, ES_RH_TAG, "gProvResource.cd %s", gProvResource.cd);
- }
-
- OIC_LOG_V(INFO, ES_RH_TAG, "gProvResource.ps %lld", gProvResource.ps);
-
- int64_t tr;
- if (OCRepPayloadGetPropInt(input, OC_RSRVD_ES_TR, &tr))
- {
- // Triggering
- gProvResource.tr = tr;
- }
-
- //ES_PS_PROVISIONING_COMPLETED state indicates that already provisioning is completed.
- // A new request for provisioning means overriding existing network provisioning information.
- if (gProvResource.ps == ES_PS_PROVISIONING_COMPLETED && tr == ES_PS_TRIGGER_CONNECTION)
- {
- OIC_LOG(DEBUG, ES_RH_TAG, "Provisioning already completed."
- "Tiggering the network connection");
-
- if (gNetworkInfoProvEventCb)
- {
- gNetworkInfoProvEventCb(ES_RECVTRIGGEROFPROVRES);
- ehResult = OC_EH_OK;
- }
- else
- {
- gProvResource.tr = ES_PS_TRIGGER_INIT_VALUE;
- OIC_LOG(ERROR, ES_RH_TAG, "gNetworkInfoProvEventCb is NULL."
- "Network handler not registered. Failed to connect to the network");
- ehResult = OC_EH_ERROR;
- }
-
- return ehResult;
- }
- else if (gProvResource.ps == ES_PS_PROVISIONING_COMPLETED)
- {
- OIC_LOG(DEBUG, ES_RH_TAG, "Provisioning already completed. "
- "This a request to override the existing the network provisioning information");
- }
- else
- {
- OIC_LOG(DEBUG, ES_RH_TAG, "Provisioning the network information to the Enrollee.");
- }
-
- OCRepPayload *getResp = constructResponse(ehRequest);
- if (!getResp)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "constructResponse failed");
- return OC_EH_ERROR;
- }
-
- *payload = getResp;
- ehResult = OC_EH_OK;
-
- return ehResult;
-}
-
-OCEntityHandlerResult ProcessPutRequest(OCEntityHandlerRequest * /*ehRequest*/,
- OCRepPayload** /*payload*/)
-{
- OCEntityHandlerResult ehResult = OC_EH_ERROR;
-
- return ehResult;
-}
-
-OCRepPayload* constructResponse(OCEntityHandlerRequest *ehRequest)
-{
- OCRepPayload* payload = OCRepPayloadCreate();
- if (!payload)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Failed to allocate Payload");
- return NULL;
- }
-
- if (ehRequest->resource == gProvResource.handle)
- {
- OIC_LOG(INFO, ES_RH_TAG, "constructResponse prov res");
- OCRepPayloadSetUri(payload, OC_RSRVD_ES_URI_PROV);
- OCRepPayloadSetPropInt(payload, OC_RSRVD_ES_PS, gProvResource.ps);
- OCRepPayloadSetPropInt(payload, OC_RSRVD_ES_TNT, gProvResource.tnt);
- }
- else if (ehRequest->requestHandle == gNetResource.handle)
- {
-
- OCRepPayloadSetUri(payload, OC_RSRVD_ES_URI_NET);
- OCRepPayloadSetPropInt(payload, "ant", gNetResource.ant[0]);
- }
- return payload;
-}
-
-/**
- * This is the entity handler for the registered resource.
- * This is invoked by OCStack whenever it recevies a request for this resource.
- */
-OCEntityHandlerResult OCEntityHandlerCb(OCEntityHandlerFlag flag,
- OCEntityHandlerRequest* entityHandlerRequest, void *callback)
-{
- (void) callback;
- OCEntityHandlerResult ehRet = OC_EH_OK;
- OCEntityHandlerResponse response =
- { 0, 0, OC_EH_ERROR, 0, 0,
- { },
- { 0 }, false };
- OCRepPayload* payload = NULL;
-
- if (entityHandlerRequest && (flag & OC_REQUEST_FLAG))
- {
- if (OC_REST_GET == entityHandlerRequest->method)
- {
- OIC_LOG(INFO, ES_RH_TAG, "Received GET request");
- ehRet = ProcessGetRequest(entityHandlerRequest, &payload);
- }
- else if (OC_REST_PUT == entityHandlerRequest->method)
- {
- OIC_LOG(INFO, ES_RH_TAG, "Received PUT request");
-
- //PUT request will be handled in the internal implementation
- if (gProvResource.handle != NULL
- && entityHandlerRequest->resource == gProvResource.handle)
- {
- ehRet = ProcessPutRequest(entityHandlerRequest, &payload);
- }
- else
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Cannot process put");
- ehRet = OC_EH_ERROR;
- }
- }
- else if (OC_REST_POST == entityHandlerRequest->method)
- {
- OIC_LOG(INFO, ES_RH_TAG, "Received OC_REST_POST from client");
- if (gProvResource.handle != NULL
- && entityHandlerRequest->resource == gProvResource.handle)
- {
- ehRet = ProcessPostRequest(entityHandlerRequest, &payload);
- }
- else
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Cannot process put");
- ehRet = OC_EH_ERROR;
- }
- }
-
- if (ehRet == OC_EH_OK)
- {
- // Format the response. Note this requires some info about the request
- response.requestHandle = entityHandlerRequest->requestHandle;
- response.resourceHandle = entityHandlerRequest->resource;
- response.ehResult = ehRet;
- //response uses OCPaylod while all get,put methodes use OCRepPayload
- response.payload = (OCPayload*) (payload);
- response.numSendVendorSpecificHeaderOptions = 0;
- memset(response.sendVendorSpecificHeaderOptions, 0,
- sizeof(response.sendVendorSpecificHeaderOptions));
- memset(response.resourceUri, 0, sizeof(response.resourceUri));
- // Indicate that response is NOT in a persistent buffer
- response.persistentBufferFlag = 0;
-
- // Send the response
- if (OCDoResponse(&response) != OC_STACK_OK)
- {
- OIC_LOG(ERROR, ES_RH_TAG, "Error sending response");
- ehRet = OC_EH_ERROR;
- }
- }
- }
-
- return ehRet;
-}
-
-const char *getResult(OCStackResult result)
-{
- switch (result)
- {
- case OC_STACK_OK:
- return "OC_STACK_OK";
- case OC_STACK_INVALID_URI:
- return "OC_STACK_INVALID_URI";
- case OC_STACK_INVALID_QUERY:
- return "OC_STACK_INVALID_QUERY";
- case OC_STACK_INVALID_IP:
- return "OC_STACK_INVALID_IP";
- case OC_STACK_INVALID_PORT:
- return "OC_STACK_INVALID_PORT";
- case OC_STACK_INVALID_CALLBACK:
- return "OC_STACK_INVALID_CALLBACK";
- case OC_STACK_INVALID_METHOD:
- return "OC_STACK_INVALID_METHOD";
- case OC_STACK_NO_MEMORY:
- return "OC_STACK_NO_MEMORY";
- case OC_STACK_COMM_ERROR:
- return "OC_STACK_COMM_ERROR";
- case OC_STACK_INVALID_PARAM:
- return "OC_STACK_INVALID_PARAM";
- case OC_STACK_NOTIMPL:
- return "OC_STACK_NOTIMPL";
- case OC_STACK_NO_RESOURCE:
- return "OC_STACK_NO_RESOURCE";
- case OC_STACK_RESOURCE_ERROR:
- return "OC_STACK_RESOURCE_ERROR";
- case OC_STACK_SLOW_RESOURCE:
- return "OC_STACK_SLOW_RESOURCE";
- case OC_STACK_NO_OBSERVERS:
- return "OC_STACK_NO_OBSERVERS";
- case OC_STACK_ERROR:
- return "OC_STACK_ERROR";
- default:
- return "UNKNOWN";
- }
-}
-
+++ /dev/null
-// 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * These are adapter APIs will make caller modules agnostic to platform.
- */
-
-#include "softapnative.h"
-#include "easysetup.h"
-#include "softap.h"
-#include "networkhandler.h"
-
-void ESCreateSoftapCallback(int result, const char *ip, const char* mac_addr,
- const char* device_name );
-
-ESEnrolleeNetworkEventCallback gCallback;
-
-/**
- * It will return Device which is creating Soft AP.
- * i.e.Enrollee or Mediator.
- * This decesion is based on, what is the value set for ES_SOFTAP_MODE in build command as well as
- * in iotivity.spec file.
- */
-DeviceRole ESSoftapHost()
-{
-#ifdef ENROLLEE_SOFTAP
- //SoftAp at enrollee
- return ENROLLEE;
-#else
- //SoftAp at mediator
- return MEDIATOR;
-#endif
-}
-
-/**
- * It will return true if the Soft AP is created at Enrollee device
- */
-bool ESSoftapAtEnrollee()
-{
- return ( ESSoftapHost() == ENROLLEE) ? true : false;
-}
-
-/**
- * It will return true if the Soft AP is created at Mediator device
- */
-bool ESSoftapAtMediator()
-{
- return (ESSoftapHost() == MEDIATOR) ? true : false;
-}
-
-/**
- * This API will map result returned from the native to the caller.
- * Callback API's signature needs to be modified under build switch according
- * to the underline platform.
- */
-void ESCreateSoftapCallback(int result, const char *ip, const char* mac_addr,
- const char* device_name)
-{
- if(SOFTAP_SUCCESS == result) //on Success
- {
- gCallback(ES_OK);
- }
- else //on Failure
- {
- gCallback(ES_ERROR);
- }
-}
-
-/**
- * This API will create the softap at enrollee
- */
-void ESCreateSoftap(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb)
-{
- gCallback = cb;
-
- // TODO: To be implemented
- // Create Soft AP through native APIs -- start
- // native API call by and pass ESCreateSoftapCallback() as callback
- ESCreateSoftapNative(ssid, passwd,ESCreateSoftapCallback);
- // Create Soft AP through native APIs -- end
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-#include "networkhandler.h"
-
-// Arduino WiFi Shield includes
-#include <SPI.h>
-#include <WiFi.h>
-#include <WiFiUdp.h>
-
-#include <string.h>
-
-#include "logger.h"
-
-/**
- * @var ES_NH_TAG
- * @brief Logging tag for module name.
- */
-#define ES_NH_TAG "ES_NH"
-
-//-----------------------------------------------------------------------------
-// Defines
-//-----------------------------------------------------------------------------
-/**
- * ES_MAX_NETWORK_RETRY sets the default number of retry count for network connection.
- */
-#define ES_MAX_NETWORK_RETRY (5)
-
-//-----------------------------------------------------------------------------
-// Private variables
-//-----------------------------------------------------------------------------
-static IPAddress enrolleeIP;
-
-/**
- * @var g_retryCounter
- * @brief Retry counter for cancelling network retry. Currently network retry is
- * limited to 5 attempts
- */
-static uint16_t g_retryCounter = 0;
-
-
-
-//-----------------------------------------------------------------------------
-// Private internal function prototypes
-//-----------------------------------------------------------------------------
-int findNetwork(const char *ssid);
-int ConnectToNetwork(const char *ssid, const char *pass);
-void printEncryptionType(int thisType);
-
-// Arduino WiFi Shield
-// Note : Arduino WiFi Shield currently does NOT support multicast and therefore
-// this server will NOT be listening on 224.0.1.187 multicast address.
-static const char ARDUINO_WIFI_SHIELD_UDP_FW_VER[] = "1.1.0";
-
-ESResult ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback cb)
-{
- char *fwVersion;
- int status = WL_IDLE_STATUS;
- int res;
-
- // check for the presence of the shield:
- if (WiFi.status() == WL_NO_SHIELD)
- {
- OIC_LOG(ERROR, ES_NH_TAG, "WiFi shield not present");
- return ES_ERROR;
- }
-
- // Verify that WiFi Shield is running the firmware with all UDP fixes
- fwVersion = WiFi.firmwareVersion();
- OIC_LOG_V(INFO, ES_NH_TAG, "WiFi Shield Firmware version %s", fwVersion);
- if (strncmp(fwVersion, ARDUINO_WIFI_SHIELD_UDP_FW_VER, sizeof(ARDUINO_WIFI_SHIELD_UDP_FW_VER))
- != 0)
- {
- OIC_LOG(DEBUG, ES_NH_TAG, "!!!!! Upgrade WiFi Shield Firmware version !!!!!!");
- return ES_ERROR;
- }
-
- //Retry counter is reset everytime the ConnectToWiFiNetwork is invoked
- g_retryCounter = 0;
-
- OIC_LOG_V(INFO, ES_NH_TAG, "Finding SSID: %s", ssid);
-
- while ((findNetwork(ssid) == 0) && g_retryCounter < ES_MAX_NETWORK_RETRY) // found
- {
- delay(1000);
- g_retryCounter++;
- }
-
- if(g_retryCounter == ES_MAX_NETWORK_RETRY){
- OIC_LOG_V(ERROR, ES_NH_TAG, "Connection to network failed after %d attempts",
- g_retryCounter);
- return ES_ERROR;
- }
-
- if (cb != NULL)
- {
- cb(ES_OK);
- }
-
- if (WiFi.status() == WL_CONNECTED)
- WiFi.disconnect();
-
- //Retry counter is reset everytime the ConnectToWiFiNetwork is invoked
- g_retryCounter = 0;
-
- res = ConnectToNetwork(ssid, pass);
-
- if (res == 0)
- {
- return ES_NETWORKCONNECTED;
- }
- else
- {
- return ES_NETWORKNOTCONNECTED;
- }
-}
-
-int findNetwork(const char *ssid)
-{
- int res = 0;
- // scan for nearby networks:
- Serial.println("** Scan Networks **");
- int numSsid = WiFi.scanNetworks();
- if (numSsid == -1)
- {
- Serial.println("Couldn't get a wifi connection");
-
- return res;
- }
-
- // print the list of networks seen:
- Serial.print("number of available networks:");
- Serial.println(numSsid);
-
- // print the network number and name for each network found:
- for (int thisNet = 0; thisNet < numSsid; thisNet++)
- {
- Serial.print(thisNet);
- Serial.print(") ");
- Serial.print(WiFi.SSID(thisNet));
- Serial.print("\tEncryption: ");
- printEncryptionType(WiFi.encryptionType(thisNet));
-
- if (strcmp(WiFi.SSID(thisNet), ssid) == 0)
- {
- res = 1;
- }
- }
-
- return res;
-}
-
-int ConnectToNetwork(const char *ssid, const char *pass)
-{
- int status = WL_IDLE_STATUS;
-
- // attempt to connect to Wifi network:
- while (status != WL_CONNECTED && g_retryCounter < ES_MAX_NETWORK_RETRY)
- {
- OIC_LOG_V(INFO, ES_NH_TAG, "Attempting to connect to SSID: %s", ssid);
-
- status = WiFi.begin((char *) ssid, (char *) pass);
-
- // wait 10 seconds for connection:
- delay(10000);
-
- g_retryCounter++;
- }
-
- if(g_retryCounter == ES_MAX_NETWORK_RETRY){
- OIC_LOG_V(ERROR, ES_NH_TAG, "Connection to network failed after %d attempts",
- g_retryCounter);
- return ES_ERROR;
- }
-
- OIC_LOG(DEBUG, ES_NH_TAG, "Connected to wifi");
-
- enrolleeIP = WiFi.localIP();
- OIC_LOG_V(INFO, ES_NH_TAG, "IP Address: %d.%d.%d.%d", enrolleeIP[0], enrolleeIP[1],
- enrolleeIP[2], enrolleeIP[3]);
-
- char buf[50];
- sprintf(buf, "IP Address: %d.%d.%d.%d", enrolleeIP[0], enrolleeIP[1],
- enrolleeIP[2], enrolleeIP[3]);
- Serial.println(buf);
-
- return 0;
-}
-
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info)
-{
- if (targetType == CT_ADAPTER_IP && WiFi.status() == WL_CONNECTED)
- {
- info->type = CT_ADAPTER_IP;
- info->ipaddr = WiFi.localIP();
- if((sizeof(info->ssid) >= MAXSSIDLEN) && (strlen(WiFi.SSID()) <= MAXSSIDLEN))
- {
- strcpy(info->ssid, WiFi.SSID());
- return ES_OK;
- }
- else
- {
- return ES_ERROR;
- }
- }
-
- return ES_ERROR;
-}
-
-void printEncryptionType(int thisType)
-{
- // read the encryption type and print out the name:
- switch (thisType)
- {
- case ENC_TYPE_WEP:
- Serial.println("WEP");
- break;
- case ENC_TYPE_TKIP:
- Serial.println("WPA");
- break;
- case ENC_TYPE_CCMP:
- Serial.println("WPA2");
- break;
- case ENC_TYPE_NONE:
- Serial.println("None");
- break;
- case ENC_TYPE_AUTO:
- Serial.println("Auto");
- break;
- }
-}
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file contains IP network handling functionality for Enrollee device
- */
-
-#ifndef ES_NETWORK_HANDLER_H_
-#define ES_NETWORK_HANDLER_H_
-
-// Do not remove the include below
-#include "Arduino.h"
-
-// Arduino WiFi Shield includes
-#include <SPI.h>
-#include <WiFi.h>
-#include <WiFiUdp.h>
-
-#include <string.h>
-#include "logger.h"
-#include "escommon.h"
-
-#define MAXSSIDLEN 33
-#define MAXNETCREDLEN 20
-#define MAXNUMTYPE 5
-#define MAXADDRLEN 15
-
-/*
- * Callback function for updating the Network status to the subscribers
- *
- * @param esResult ESResult provides the current state of the network connection status
- */
-typedef void (*ESEnrolleeNetworkEventCallback)(ESResult esResult);
-
-typedef struct
-{
- OCConnectivityType type;
- // for WiFI
- IPAddress ipaddr;
- char ssid[MAXSSIDLEN];
- // for BT, BLE
- byte mac[6];
-} NetworkInfo;
-
-ESResult ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback);
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info);
-
-#endif
+++ /dev/null
-/******************************************************************
- *
- * Copyright 2015 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.
- *
- ******************************************************************/
-
-#include "networkhandler.h"
-
-#include <unistd.h>
-
-#include "logger.h"
-#include "easysetup.h"
-#include "oic_string.h"
-
-#define LOG_TAG "LINUX ES"
-
-const char *gSsid = "DLNA_LISMORE1";
-const char *gPass = "dlna@010203";
-char *gIpAddress;
-ESEnrolleeNetworkEventCallback gNetworkEventCb;
-
-/*
- * All the functions defined in this file are stub functions to be implemented by the end user of
- * Easysetup Enrollee applications.
- */
-static void ESActivateWifi()
-{
-
-}
-
-static void start()
-{
- OIC_LOG(INFO, LOG_TAG, "START");
- ESActivateWifi();
-}
-
-void ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback cb)
-{
- OIC_LOG_V(INFO, LOG_TAG, "ConnectToWiFiNetwork %s %s",ssid,pass);
- gPass = pass;
- gSsid = ssid;
- gNetworkEventCb = cb;
- start();
-}
-
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info)
-{
- if (targetType == CT_ADAPTER_IP)
- {
- info->type = CT_ADAPTER_IP;
- info->ipaddr = gIpAddress;
- if (strlen(gSsid) <= MAXSSIDLEN)
- {
- OICStrcpy(info->ssid, sizeof(info->ssid), gSsid);
- return ES_OK;
- }
- else
- {
- return ES_ERROR;
- }
- }
-
- return ES_ERROR;
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file contains IP network handling functionality for Enrollee device
- */
-
-#ifndef ES_NETWORK_HANDLER_H_
-#define ES_NETWORK_HANDLER_H_
-
-
-#include <string.h>
-#include "easysetup.h"
-#include "logger.h"
-#include "escommon.h"
-
-#define MAXSSIDLEN 33
-#define MAXNETCREDLEN 20
-#define MAXNUMTYPE 5
-#define MAXADDRLEN 15
-
-/*
- * Callback function for updating the Network status to the subscribers
- *
- * @param esResult ESResult provides the current state of the network connection status
- */
-typedef void (*ESEnrolleeNetworkEventCallback)(ESResult esResult);
-
-typedef struct
-{
- OCConnectivityType type;
- // for WiFI
- //IPAddress ipaddr;
- char *ipaddr;
- char ssid[MAXSSIDLEN];
- // for BT, BLE
- //byte mac[6];
-} NetworkInfo;
-
-void ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback);
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info);
-
-#endif
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-
-#include "softapnative.h"
-
-/**
- * This API will create the Soft AP at Enrollee device.
- */
-void ESCreateSoftapNative(const char * ssid, const char* passwd, SoftAPCallbackNative cb)
-{
- const char *ip, *macaddr, *devicename;
-
- // Soft is created successfully. This callback may be send from other cascaded callbacks
- cb(SOFTAP_SUCCESS, ip, macaddr, devicename);
-
- // TODO: Use below code to indicate failed on-boarding / softap creation
- // Soft creation is failed. This callback may be send from other cascaded callbacks
- //cb(SOFTAP_FAILED, nullptr,nullptr,nullptr);
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file contains the API declaration for creating & configuration for SoftAP
- */
-
-#ifndef EASYSETUP_ENROLLEE_SOFTAP_H__
-#define EASYSETUP_ENROLLEE_SOFTAP_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif // __cplusplus
-
-
-#define SOFTAP_SUCCESS 1
-#define SOFTAP_FAILED 0
-
-
-//This callback signagure may get changed as per the native implementation.
-typedef void (*SoftAPCallbackNative)(int result, const char *ip, const char* mac_addr,
- const char*device_name);
-
-void ESCreateSoftapNative(const char * ssid, const char* passwd, SoftAPCallbackNative cb);
-
-#ifdef __cplusplus
-}
-#endif // __cplusplus
-
-
-#endif /* EASYSETUP_ENROLLEE_SOFTAP_H__ */
-
-
-
*/
#include "easysetup.h"
-#include "softap.h"
-#include "onboarding.h"
+//#include "softap.h"
+//#include "onboarding.h"
#include "logger.h"
#include "resourcehandler.h"
#include "easysetupcallbacks.h"
OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "Connecting with target network");
// Connecting/onboarding to target network
- ConnectToWiFiNetwork(gTargetSsid, gTargetPass, ESOnboardingCallbackTargetNet);
+ //ConnectToWiFiNetwork(gTargetSsid, gTargetPass, ESOnboardingCallbackTargetNet);
}
else
{
// knows when actually on-boarding started.
cb(ES_ERROR,ES_ON_BOARDING_STATE);
+ /*
OIC_LOG(INFO, ES_ENROLLEE_TAG, "received callback");
OIC_LOG(INFO, ES_ENROLLEE_TAG, "onboarding now..");
cb(ES_ERROR, ES_INIT_STATE);
return ES_ERROR;
}
+ */
OIC_LOG(INFO, ES_ENROLLEE_TAG, "ESInitEnrollee OUT");
return ES_OK;
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file has methods for on-boarding the Enrollee device.
- * This will contain template methods that will have core business logic & negotiation algorithm
- * on various on-boarding methods.
- */
-
-#include "easysetup.h"
-#include "softap.h"
-#include "onboarding.h"
-
-#include "logger.h"
-#include "resourcehandler.h"
-
-/**
- * @var ES_ENROLLEE_TAG
- * @brief Logging tag for module name.
- */
-#define ES_ENROLLEE_TAG "ES_SOFTAP"
-
-/**
- * It will return true on-boarding type is soft AP
- */
-bool ESSoftapOnboarding()
-{
- // TODO: To be changed based on user config. Current version, hardcoded to SoftAp onboarding
- return true;
-}
-
-/**
- * It will return true on-boarding type is BLE
- */
-bool ESBleOnboarding()
-{
- //BLE onboarding is not supported with current version.
- return false;
-}
-
-/**
- * It will do onboarding based on the user's configuration.
- */
-bool ESOnboard(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb)
-{
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "ESOnboard IN");
-
- if (ESSoftapOnboarding())
- {
- if (ESSoftapAtEnrollee())
- {
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "Create SoftAp at enrollee");
- ESCreateSoftap(ssid, passwd, cb);
- }
- else
- {
- OIC_LOG(DEBUG, ES_ENROLLEE_TAG, "Connecting to Mediator SoftAp");
- ConnectToWiFiNetwork(ssid, passwd, cb);
- }
- return true;
- }
- else if (ESBleOnboarding())
- {
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESOnboard::Ble onboarding is not supported");
- // TODO:
- return false;
- }
- else
- {
- // TODO:
- OIC_LOG(ERROR, ES_ENROLLEE_TAG, "ESOnboard::Invalid onboarding option");
- return false;
- }
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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 EASYSETUP_ENROLLEE_ONBOARDING_H__
-#define EASYSETUP_ENROLLEE_ONBOARDING_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif // __cplusplus:$
-
-#include "networkhandler.h"
-
-/**
- * @file
- *
- * This file contains APIs to on-board ( connect ) Enrollee device into Ad-hoc network
- * @Note : Some of the APIs of this file need to be modified by the OEM according to the
- * device configuration
- */
-
-/**
- * This function on-board Enrollee device onto ad-hoc network.
- * @param ssid SSID of the target SoftAP network to which the Enrollee
- * is connecting.
- * @param passwd Password of the target SoftAP network to which the
- * Enrollee is connecting.
- * @param ESEnrolleeNetworkEventCallback Callback function for result update
- * @return ::True, if on-boarding is successful.
- */
-
-bool ESOnboard(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb);
-
-/**
- * This function verify if the on-boarding is through SoftAP.
- * @return ::True, if Soft AP on-boarding enabled.
- * @Note : This API to be modified by the OEM according to the device configuration
- */
-bool ESSoftapOnboarding();
-
-/**
- * This function verify if the on-boarding is through Ble beacons.
- * @return ::True, if Ble beacons enabled.
- * @Note : This API to be modified by the OEM according to the device configuration
- */
-bool ESBleOnboarding();
-
-#ifdef __cplusplus
-}
-#endif // __cplusplus
-
-
-#endif /* EASYSETUP_ENROLLEE_ONBOARDING_H__ */
#include "logger.h"
#include "ocstack.h"
#include "escommon.h"
-#include "networkhandler.h"
+//#include "networkhandler.h"
#include "octypes.h"
#ifndef ES_RESOURCE_HANDLER_H_
+++ /dev/null
-// 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * These are adapter APIs will make caller modules agnostic to platform.
- */
-
-#include "softapnative.h"
-#include "easysetup.h"
-#include "softap.h"
-#include "networkhandler.h"
-
-void ESCreateSoftapCallback(int result, const char *ip, const char* mac_addr,
- const char* device_name );
-
-ESEnrolleeNetworkEventCallback gCallback;
-
-/**
- * It will return Device which is creating Soft AP.
- * i.e.Enrollee or Mediator.
- * This decision is based on, what is the value set for ES_SOFTAP_MODE in build command as well as
- * in iotivity.spec file.
- */
-DeviceRole ESSoftapHost()
-{
-#ifdef ENROLLEE_SOFTAP
- //SoftAp at enrollee
- return ENROLLEE;
-#else
- //SoftAp at mediator
- return MEDIATOR;
-#endif
-}
-
-/**
- * It will return true if the Soft AP is created at Enrollee device
- */
-bool ESSoftapAtEnrollee()
-{
- return ( ESSoftapHost() == ENROLLEE) ? true : false;
-}
-
-/**
- * It will return true if the Soft AP is created at Mediator device
- */
-bool ESSoftapAtMediator()
-{
- return (ESSoftapHost() == MEDIATOR) ? true : false;
-}
-
-/**
- * This API will map result returned from the native to the caller.
- * Callback API's signature needs to be modified under build switch according
- * to the underline platform.
- */
-void ESCreateSoftapCallback(int result, const char *ip, const char* mac_addr,
- const char* device_name)
-{
- if(SOFTAP_SUCCESS == result) //on Success
- {
- gCallback(ES_OK);
- }
- else //on Failure
- {
- gCallback(ES_ERROR);
- }
-}
-
-/**
- * This API will create the softap at enrollee
- */
-void ESCreateSoftap(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb)
-{
- gCallback = cb;
-
- // TODO: To be implemented
- // Create Soft AP through native APIs -- start
- // native API call by and pass ESCreateSoftapCallback() as callback
- ESCreateSoftapNative(ssid, passwd,ESCreateSoftapCallback);
- // Create Soft AP through native APIs -- end
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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 EASYSETUP_ENROLLEE_SOFTAP_H__
-#define EASYSETUP_ENROLLEE_SOFTAP_H__
-
-#include "escommon.h"
-#include "networkhandler.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file
- *
- * This file contains platform agnostic API for creation of Soft AP
- * @Note : Some of the APIs of this file need to be modified by the OEM according to the device
- * configuration
- */
-
-/**
- * This function verify if the Soft AP is created at Enrollee device.
- * @return ::True, if Soft AP is created at Enrollee device.
- * @Note : This API needs to be modified by the OEM according to the device configuration
- */
-
-bool ESSoftapAtEnrollee();
-
-/**
- * This function verify if the Soft AP is created at Mediator device.
- * @return ::True, if Soft AP is created at Mediator device.
- * @Note : This API needs to be modified by the OEM according to the device configuration
- */
-
-bool ESSoftapAtMediator();
-
-
-/**
- * This function finds which Device (Enrollee or Mediator) is creating Soft AP.
- * @return ::DeviceRole (ENROLLEE or MEDIATOR)
- * @Note : This API needs to be modified by the OEM according to the device configuration
- */
-
-DeviceRole ESSoftapHost();
-
-/**
- * This function Initializes the EasySetup. This API must be called prior to invoking any other API
- *
- * @param ssid SSID of the target SoftAP network to which the Enrollee is
- * connecting.
- * @param passwd Password of the target SoftAP network to which the Enrollee is
- * connecting
- * @param ESEnrolleeNetworkEventCallback Callback function for result update
- * @return ::void.
- */
-void ESCreateSoftap(const char * ssid, const char* passwd, ESEnrolleeNetworkEventCallback cb);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* EASYSETUP_ENROLLEE_SOFTAP_H__ */
-
-
-
+++ /dev/null
-/******************************************************************
- *
- * Copyright 2015 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.
- *
- ******************************************************************/
-
-#include "networkhandler.h"
-
-#include <wifi.h>
-#include <unistd.h>
-
-#include "logger.h"
-#include "easysetup.h"
-#include "oic_string.h"
-
-#define LOG_TAG "TIZEN ES"
-
-const char *gSsid = "DLNA_LISMORE1";
-const char *gPass = "dlna@010203";
-char *gIpAddress = NULL;
-wifi_ap_h connectedWifi;
-ESEnrolleeNetworkEventCallback gNetworkEventCb;
-static void ESActivateWifi();
-
-static const char*
-print_state(wifi_connection_state_e state)
-{
- switch (state)
- {
- case WIFI_CONNECTION_STATE_DISCONNECTED:
- return "Disconnected";
- case WIFI_CONNECTION_STATE_ASSOCIATION:
- return "Association";
- case WIFI_CONNECTION_STATE_CONNECTED:
- return "Connected";
- case WIFI_CONNECTION_STATE_CONFIGURATION:
- return "Configuration";
- }
-}
-
-void __wifi_connected_cb(wifi_error_e error_code, void *user_data)
-{
- OIC_LOG(INFO,LOG_TAG,"#### __connected ");
-
- if (gIpAddress)
- free(gIpAddress);
-
- wifi_ap_get_ip_address(connectedWifi, WIFI_ADDRESS_FAMILY_IPV4, &gIpAddress);
- OIC_LOG_V(INFO,LOG_TAG,"#### __connected, Ipaddress=%s", gIpAddress);
- gNetworkEventCb(ES_OK);
-
-}
-
-bool __wifi_found_ap_cb(wifi_ap_h ap, void *user_data)
-{
- OIC_LOG(INFO,LOG_TAG,"#### __wifi_found_ap_cb received ");
-
- int error_code = 0;
- char *ap_name = NULL;
- wifi_connection_state_e state;
-
- error_code = wifi_ap_get_essid(ap, &ap_name);
- if (error_code != WIFI_ERROR_NONE)
- {
- OIC_LOG(ERROR,LOG_TAG,"#### Fail to get AP name.");
-
- return false;
- }
- error_code = wifi_ap_get_connection_state(ap, &state);
- if (error_code != WIFI_ERROR_NONE)
- {
- OIC_LOG(ERROR,LOG_TAG,"#### Fail to get state.");
- free(ap_name);
-
- return false;
- }
- OIC_LOG_V(INFO,LOG_TAG,"#### AP name : %s, state : %s", ap_name, print_state(state));
-
- if (strcmp(ap_name, gSsid) == 0)
- {
- OIC_LOG(INFO,LOG_TAG,"#### network found");
- wifi_ap_set_passphrase(ap, gPass);
- connectedWifi = ap;
- error_code = wifi_connect(ap, __wifi_connected_cb, NULL);
- OIC_LOG_V(INFO,LOG_TAG,"Code=%d", error_code);
- }
- OIC_LOG(INFO,LOG_TAG,"#### __wifi_found_ap_cb received ");
- free(ap_name);
- return true;
-}
-void __scan_request_cb(wifi_error_e error_code, void *user_data)
-{
- OIC_LOG(INFO, LOG_TAG, "__scan_request_cb");
- int error_code1;
- error_code1 = wifi_foreach_found_aps(__wifi_found_ap_cb, NULL);
- if (error_code1 != WIFI_ERROR_NONE)
- OIC_LOG(INFO,LOG_TAG,"#### Fail to scan");
-
- OIC_LOG(INFO, LOG_TAG,"#### __scan_request_cb exit ");
-}
-
-static void __wifi_activated_cb(wifi_error_e result, void *user_data)
-{
- OIC_LOG(INFO, LOG_TAG, "__wifi_activated_cb");
- if (result == WIFI_ERROR_NONE)
- {
- OIC_LOG(INFO,LOG_TAG,"#### Success to activate Wi-Fi device!");
- }
- wifi_scan(__scan_request_cb, NULL);
-
-}
-static void ESActivateWifi()
-{
- int error_code;
- error_code = wifi_initialize();
- OIC_LOG_V(INFO,LOG_TAG,"#### WIFI INITIALIZED WITH STATUS :%d", error_code);
-
- error_code = wifi_activate(__wifi_activated_cb, NULL);
- OIC_LOG_V(INFO,LOG_TAG,"#### WIFI ACTIVATED WITH STATUS :%d", error_code);
-
- bool wifi_activated = false;
- wifi_is_activated(&wifi_activated);
- if (wifi_activated)
- {
- OIC_LOG(INFO,LOG_TAG,"#### Success to get Wi-Fi device state.");
- int scan_result = wifi_scan(__scan_request_cb, NULL);
- OIC_LOG_V(INFO,LOG_TAG,"#### Wifi scan result:%d", scan_result);
- }
- else
- {
- OIC_LOG(ERROR,LOG_TAG, "#### Fail to get Wi-Fi device state.");
- }
-}
-
-static void start()
-{
- OIC_LOG(INFO, LOG_TAG, "START");
- ESActivateWifi();
-}
-
-void ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback cb)
-{
- OIC_LOG_V(INFO, LOG_TAG, "ConnectToWiFiNetwork %s %s",ssid,pass);
- gPass = pass;
- gSsid = ssid;
- gNetworkEventCb = cb;
- start();
-}
-
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info)
-{
- if (targetType == CT_ADAPTER_IP)
- {
- info->type = CT_ADAPTER_IP;
- info->ipaddr = gIpAddress;
- if (strlen(gSsid) <= MAXSSIDLEN)
- {
- OICStrcpy(info->ssid, sizeof(info->ssid), gSsid);
- return ES_OK;
- }
- else
- {
- return ES_ERROR;
- }
- }
-
- return ES_ERROR;
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-/**
- * @file
- *
- * This file contains IP network handling functionality for Enrollee device
- */
-
-#ifndef ES_NETWORK_HANDLER_H_
-#define ES_NETWORK_HANDLER_H_
-
-
-#include <string.h>
-#include "easysetup.h"
-#include "logger.h"
-#include "escommon.h"
-
-#define MAXSSIDLEN 33
-#define MAXNETCREDLEN 20
-#define MAXNUMTYPE 5
-#define MAXADDRLEN 15
-
-/*
- * Callback function for updating the Network status to the subscribers
- *
- * @param esResult ESResult provides the current state of the network connection status
- */
-typedef void (*ESEnrolleeNetworkEventCallback)(ESResult esResult);
-
-typedef struct
-{
- OCConnectivityType type;
- // for WiFI
- //IPAddress ipaddr;
- char *ipaddr;
- char ssid[MAXSSIDLEN];
- // for BT, BLE
- //byte mac[6];
-} NetworkInfo;
-
-void ConnectToWiFiNetwork(const char *ssid, const char *pass,
- ESEnrolleeNetworkEventCallback);
-ESResult getCurrentNetworkInfo(OCConnectivityType targetType, NetworkInfo *info);
-
-#endif
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-
-#include "softapnative.h"
-
-/**
- * This API will create the Soft AP at Enrollee device.
- */
-void ESCreateSoftapNative(const char * ssid, const char* passwd, SoftAPCallbackNative cb)
-{
- // TODO: Assign proper values after hardware integration is supported to create SoftAp
- //We are not using this now. Assiging NULL to remove SVACE error
- const char *ip = (char *)0;
- const char *macaddr = (char *)0;
- const char *devicename = (char *)0;
-
- // Soft is created successfully. This callback may be send from other cascaded callbacks
- cb(SOFTAP_SUCCESS, ip, macaddr, devicename);
-
- // TODO: Use below code to indicate failed on-boarding / softap creation
- // Soft creation is failed. This callback may be send from other cascaded callbacks
- //cb(SOFTAP_FAILED, nullptr,nullptr,nullptr);
-}
-
+++ /dev/null
-//******************************************************************
-//
-// Copyright 2015 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 EASYSETUP_ENROLLEE_SOFTAP_H__
-#define EASYSETUP_ENROLLEE_SOFTAP_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif // __cplusplus
-
-
-#define SOFTAP_SUCCESS 1
-#define SOFTAP_FAILED 0
-
-/**
- * @file
- *
- * This file contains the API declaration for creating & configuration for SoftAP
- */
-
-//This callback signagure may get changed as per the native implementation.
-typedef void (*SoftAPCallbackNative)(int result, const char *ip, const char* mac_addr,
- const char*device_name);
-/**
- * This API creats the Soft AP using the platform specific native system calls.
- * @Note This API to be implemented by the OEM if Enrollee device SoC supports SoftAP
- *
- * @param networkType NetworkType on which OnBoarding has to be performed.
- * @param ssid SSID of the target SoftAP network to which the Enrollee is
- * connecting.
- * @param passwd Password of the target SoftAP network to which the Enrollee is
- * connecting
- * @param SoftAPCallbackNative EventCallback for for updating the Enrollee OnBoarding status
- * result to the application
- */
-
-void ESCreateSoftapNative(const char * ssid, const char* passwd, SoftAPCallbackNative cb);
-
-#ifdef __cplusplus
-}
-#endif // __cplusplus
-
-
-#endif /* EASYSETUP_ENROLLEE_SOFTAP_H__ */
-
-
-
#define OC_RSRVD_ES_URI_NET "/oic/net"
#define NUM_WIFIMODE 10
+#define MAXSSIDLEN 33
+#define MAXNETCREDLEN 20
typedef enum
{