OSStatus fogCloudDevActivate(app_context_t* const inContext, MVDActivateRequestData_t devActivateRequestData) { cloud_if_log_trace(); OSStatus err = kUnknownErr; cloud_if_log("Device activate..."); //ok, set cloud context strncpy(easyCloudContext.service_config_info.loginId, devActivateRequestData.loginId, MAX_SIZE_LOGIN_ID); strncpy(easyCloudContext.service_config_info.devPasswd, devActivateRequestData.devPasswd, MAX_SIZE_DEV_PASSWD); strncpy(easyCloudContext.service_config_info.userToken, devActivateRequestData.user_token, MAX_SIZE_USER_TOKEN); // activate request err = FogCloudActivate(&easyCloudContext); require_noerr_action(err, exit, cloud_if_log("ERROR: fogCloudDevActivate failed! err=%d", err) ); inContext->appStatus.fogcloudStatus.isActivated = true; // write activate data back to flash mico_rtos_lock_mutex(&inContext->mico_context->flashContentInRam_mutex); inContext->appConfig->fogcloudConfig.isActivated = true; strncpy(inContext->appConfig->fogcloudConfig.deviceId, easyCloudContext.service_status.deviceId, MAX_SIZE_DEVICE_ID); strncpy(inContext->appConfig->fogcloudConfig.masterDeviceKey, easyCloudContext.service_status.masterDeviceKey, MAX_SIZE_DEVICE_KEY); strncpy(inContext->appConfig->fogcloudConfig.loginId, easyCloudContext.service_config_info.loginId, MAX_SIZE_LOGIN_ID); strncpy(inContext->appConfig->fogcloudConfig.devPasswd, easyCloudContext.service_config_info.devPasswd, MAX_SIZE_DEV_PASSWD); strncpy(inContext->appConfig->fogcloudConfig.userToken, easyCloudContext.service_config_info.userToken, MAX_SIZE_USER_TOKEN); err = mico_system_context_update(inContext->mico_context); mico_rtos_unlock_mutex(&inContext->mico_context->flashContentInRam_mutex); require_noerr_action(err, exit, cloud_if_log("ERROR: activate write flash failed! err=%d", err) ); return kNoErr; exit: return err; }
OSStatus fogCloudDevActivate(mico_Context_t* const inContext, MVDActivateRequestData_t devActivateRequestData) { cloud_if_log_trace(); OSStatus err = kUnknownErr; cloud_if_log("fogCloudDevActivate: entry"); cloud_if_log("Device activate..."); // login_id/dev_passwd set(not default value) ? if((0 != strncmp((char*)DEFAULT_LOGIN_ID, inContext->flashContentInRam.appConfig.fogcloudConfig.loginId, strlen((char*)DEFAULT_LOGIN_ID))) || (0 != strncmp((char*)DEFAULT_DEV_PASSWD, inContext->flashContentInRam.appConfig.fogcloudConfig.devPasswd, strlen((char*)DEFAULT_DEV_PASSWD)))) { // login_id/dev_passwd ok ? if((0 != strncmp(inContext->flashContentInRam.appConfig.fogcloudConfig.loginId, devActivateRequestData.loginId, strlen(inContext->flashContentInRam.appConfig.fogcloudConfig.loginId))) || (0 != strncmp(inContext->flashContentInRam.appConfig.fogcloudConfig.devPasswd, devActivateRequestData.devPasswd, strlen(inContext->flashContentInRam.appConfig.fogcloudConfig.devPasswd)))) { // devPass err cloud_if_log("ERROR: fogCloudDevActivate: loginId/devPasswd mismatch!"); return kMismatchErr; } } cloud_if_log("fogCloudDevActivate: loginId/devPasswd ok!"); //ok, set cloud context strncpy(easyCloudContext.service_config_info.loginId, devActivateRequestData.loginId, MAX_SIZE_LOGIN_ID); cloud_if_log("fogCloudDevActivate: loginId: %s", easyCloudContext.service_config_info.loginId); strncpy(easyCloudContext.service_config_info.devPasswd, devActivateRequestData.devPasswd, MAX_SIZE_DEV_PASSWD); cloud_if_log("fogCloudDevActivate: devPasswd: %s", easyCloudContext.service_config_info.devPasswd); strncpy(easyCloudContext.service_config_info.userToken, devActivateRequestData.user_token, MAX_SIZE_USER_TOKEN); cloud_if_log("fogCloudDevActivate: userToken: %s", easyCloudContext.service_config_info.userToken); // activate request cloud_if_log("fogCloudDevActivate: start FogCloudActivate()"); err = FogCloudActivate(&easyCloudContext); cloud_if_log("fogCloudDevActivate: FogCloudActivate() finished"); require_noerr_action(err, exit, cloud_if_log("ERROR: fogCloudDevActivate failed! err=%d", err) ); inContext->appStatus.fogcloudStatus.isActivated = true; cloud_if_log("fogCloudDevActivate: inContext->appStatus.fogcloudStatus.isActivated = true"); // write activate data back to flash mico_rtos_lock_mutex(&inContext->flashContentInRam_mutex); inContext->flashContentInRam.appConfig.fogcloudConfig.isActivated = true; strncpy(inContext->flashContentInRam.appConfig.fogcloudConfig.deviceId, easyCloudContext.service_status.deviceId, MAX_SIZE_DEVICE_ID); strncpy(inContext->flashContentInRam.appConfig.fogcloudConfig.masterDeviceKey, easyCloudContext.service_status.masterDeviceKey, MAX_SIZE_DEVICE_KEY); strncpy(inContext->flashContentInRam.appConfig.fogcloudConfig.loginId, easyCloudContext.service_config_info.loginId, MAX_SIZE_LOGIN_ID); strncpy(inContext->flashContentInRam.appConfig.fogcloudConfig.devPasswd, easyCloudContext.service_config_info.devPasswd, MAX_SIZE_DEV_PASSWD); strncpy(inContext->flashContentInRam.appConfig.fogcloudConfig.userToken, easyCloudContext.service_config_info.userToken, MAX_SIZE_USER_TOKEN); err = MICOUpdateConfiguration(inContext); mico_rtos_unlock_mutex(&inContext->flashContentInRam_mutex); require_noerr_action(err, exit, cloud_if_log("ERROR: activate write flash failed! err=%d", err) ); return kNoErr; exit: return err; }