Removing this reduces ocbtstack from 180kb to 168kb in size.
cJSON is not used anymore in the resource, except in json2cbor tool in
the security module.
cJSON is used in coap-http and simulator and scripts has been updated
to include and build cjson. It was included mostly in sconscript.
pmutility had helper function which was not used anywhere.
smutility, psinterface, oicgroup all had function calling cjson but the
function was not used anywhere in the code. Except psinterface and
smutility there are no public API with cjson. The public API are not
called by either sample or test code. The API are obsolete and using them
will not yield any result and can crash the platform.
Change-Id: Ifbf3384536394a26cd6b168dcd15285ef9ce08a7
Signed-off-by: Habib Virji <habib.virji@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/14685
Reviewed-by: Kevin Kane <kkane@microsoft.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Mike Fenelon <mike.fenelon@microsoft.com>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
liboctbstack_env.PrependUnique(CPPPATH = ['connectivity/lib/libcoap-4.1.1/include'])
liboctbstack_env.PrependUnique(CPPPATH = [
- '../../extlibs/cjson/',
'../../extlibs/timer/',
'logger/include',
'stack/include',
######################################################################
OCTBSTACK_SRC = 'stack/src/'
liboctbstack_src = [
- '../../extlibs/cjson/cJSON.c',
'../../extlibs/timer/timer.c',
OCTBSTACK_SRC + 'ocstack.c',
OCTBSTACK_SRC + 'ocpayload.c',
catest_env.PrependUnique(CPPPATH = [
'../../logger/include',
'../../stack/include',
- '../../extlibs/cjson',
'../../../oc_logger/include',
])
cbor_value_enter_container
cbor_value_map_find_value
-cJSON_Parse
-cJSON_GetObjectItem
-cJSON_GetArraySize
-cJSON_GetArrayItem
-
calcDimTotal
ConvertStrToUuid
convertTriggerEnumToString
libocsrm_env.AppendUnique(CPPPATH = ['../connectivity/lib/libcoap-4.1.1/include'])
libocsrm_env.PrependUnique(CPPPATH = [
- '../../../extlibs/cjson/',
'../../../extlibs/tinydtls/',
'../logger/include',
'../../c_common/ocrandom/include',
#ifndef IOTVT_SRM_PSI_H
#define IOTVT_SRM_PSI_H
-#include "cJSON.h"
-
/**
* Reads the Secure Virtual Database from PS into dynamically allocated
* memory buffer.
char * GetSVRDatabase();
/**
- * This method is used by a entity handlers of SVR's to update
- * SVR database.
- *
- * @param rsrcName string denoting the SVR name ("acl", "cred", "pstat" etc).
- * @param jsonObj JSON object containing the SVR contents.
- *
- * @return ::OC_STACK_OK for Success, otherwise some error value
- */
-OCStackResult UpdateSVRDatabase(const char* rsrcName, cJSON* jsonObj);
-
-/**
* Reads the Secure Virtual Database from PS
*
* @note Caller of this method MUST use OCFree() method to release memory
#define IOTVT_SRM_UTILITY_H
#include "ocstack.h"
-#include "cJSON.h"
#include "securevirtualresourcetypes.h"
#ifdef __cplusplus
extern "C"
OicParseQueryIter_t * GetNextQuery(OicParseQueryIter_t * parseIter);
/**
- * This method acts as a helper function for JSON unmarshalling by various SVR's.
- *
- * @param jsonRoot point to the root JSON node containing the OicUuid array.
- * @param arrayItem is the name of the JSON OicUuid array item.
- * @param numUuids is the pointer to the number of OicUuid's available in JSON array.
- * @param uuids is the pointer to the array of OicUuid's.
- *
- * @return ::OC_STACK_OK on success, some other value upon failure.
- */
-OCStackResult AddUuidArray(const cJSON* jsonRoot, const char* arrayItem,
- size_t *numUuids, OicUuid_t** uuids);
-
-/**
* Function to getting string of ownership transfer method
*
* @prarm oxmType ownership transfer method
'include/cloud',
'include/oxm',
'../../resource/csdk/security/include',
- '../../../../extlibs/cjson/',
'../../../../extlibs/tinydtls/',
'../../connectivity/inc',
'../../connectivity/inc/pkix',
if target_os in ['linux', 'msys_nt', 'windows', 'tizen']:
SConscript('sample/SConscript')
-
'../include/cloud',
'../../include',
'../../../../../extlibs/tinydtls',
- '../../../../../extlibs/cjson',
'../../../../../extlibs/base64',
'../../../connectivity/inc',
'../../../connectivity/inc/pkix',
])
provisioning_env.AppendTarget('samples')
-
#include "cacommon.h"
#include "cainterface.h"
#include "base64.h"
-#include "cJSON.h"
#include "global.h"
#include "srmresourcestrings.h"
#include "cacommon.h"
#include "cainterface.h"
#include "base64.h"
-#include "cJSON.h"
#include "global.h"
#include "utlist.h"
#include "srmresourcestrings.h"
#include "oic_string.h"
#include "oic_time.h"
#include "logger.h"
-#include "cJSON.h"
#include "utlist.h"
#include "ocpayload.h"
return res;
}
-/**
- * Extract secure port information from payload of discovery response.
- *
- * @param[in] jsonStr response payload of /oic/res discovery.
- *
- * @return Secure port
- */
-uint16_t GetSecurePortFromJSON(char* jsonStr)
-{
- // TODO: Modify error handling
- if (NULL == jsonStr)
- {
- return 0;
- }
- cJSON *jsonProp = NULL;
- cJSON *jsonP = NULL;
- cJSON *jsonPort = NULL;
-
- cJSON *jsonRoot = cJSON_Parse(jsonStr);
- if(!jsonRoot)
- {
- // TODO: Add error log & return default secure port
- return 0;
- }
-
- jsonProp = cJSON_GetObjectItem(jsonRoot, "prop");
- if(!jsonProp)
- {
- // TODO: Add error log & return default secure port
- return 0;
- }
-
- jsonP = cJSON_GetObjectItem(jsonProp, "p");
- if(!jsonP)
- {
- // TODO: Add error log & return default secure port
- return 0;
- }
-
- jsonPort = cJSON_GetObjectItem(jsonP, "port");
- if(!jsonPort)
- {
- // TODO: Add error log & return default secure port
- return 0;
- }
-
- return (uint16_t)jsonPort->valueint;
-}
-
bool PMGenerateQuery(bool isSecure,
const char* address, uint16_t port,
OCConnectivityType connType,
#include "pconfresource.h"
#include "credentialgenerator.h"
#include "cainterface.h"
-#include "cJSON.h"
#include "pmtypes.h"
#include "pmutility.h"
#include "provisioningdatabasemanager.h"
'../../../../oc_logger/include',
'../include/oxm',
'../../../../../extlibs/tinydtls',
- '../../../../../extlibs/cjson',
'../../../../../extlibs/base64',
'../../../connectivity/inc',
'../../../connectivity/inc/pkix',
sptest_env.AppendENVPath('PATH', sptest_env.get('BUILD_DIR'))
ut = sptest_env.Command ('ut', None, out_dir + '/resource/csdk/security/provisioning/unittest/unittest')
AlwaysBuild ('ut')
-
#include "oic_malloc.h"
#include "oic_string.h"
#include "logger.h"
-#include "cJSON.h"
#include "utlist.h"
#include "ocpayload.h"
#include "payload_logging.h"
#include "logger.h"
#include "oic_malloc.h"
#include "oic_string.h"
-#include "cJSON.h"
#include "base64.h"
#include "resourcemanager.h"
#include "dpairingresource.h"
#include "logger.h"
#include "oic_malloc.h"
#include "oic_string.h"
-#include "cJSON.h"
#include "base64.h"
#include "ocpayload.h"
#include "ocpayloadcbor.h"
return NULL;
}
-// TODO This functionality is replicated in all SVR's and therefore we need
-// to encapsulate it in a common method. However, this may not be the right
-// file for this method.
-OCStackResult AddUuidArray(const cJSON* jsonRoot, const char* arrayItem,
- size_t *numUuids, OicUuid_t** uuids)
-{
- size_t idxx = 0;
- cJSON* jsonObj = cJSON_GetObjectItem((cJSON *)jsonRoot, arrayItem);
- VERIFY_NON_NULL(TAG, jsonObj, ERROR);
- VERIFY_SUCCESS(TAG, cJSON_Array == jsonObj->type, ERROR);
-
- *numUuids = (size_t)cJSON_GetArraySize(jsonObj);
- VERIFY_SUCCESS(TAG, *numUuids > 0, ERROR);
- *uuids = (OicUuid_t*)OICCalloc(*numUuids, sizeof(OicUuid_t));
- VERIFY_NON_NULL(TAG, *uuids, ERROR);
-
- do
- {
- unsigned char base64Buff[sizeof(((OicUuid_t*)0)->id)] = {0};
- uint32_t outLen = 0;
- B64Result b64Ret = B64_OK;
-
- cJSON *jsonOwnr = cJSON_GetArrayItem(jsonObj, idxx);
- VERIFY_NON_NULL(TAG, jsonOwnr, ERROR);
- VERIFY_SUCCESS(TAG, cJSON_String == jsonOwnr->type, ERROR);
-
- outLen = 0;
- b64Ret = b64Decode(jsonOwnr->valuestring, strlen(jsonOwnr->valuestring), base64Buff,
- sizeof(base64Buff), &outLen);
-
- VERIFY_SUCCESS(TAG, (b64Ret == B64_OK && outLen <= sizeof((*uuids)[idxx].id)),
- ERROR);
- memcpy((*uuids)[idxx].id, base64Buff, outLen);
- } while ( ++idxx < *numUuids);
-
- return OC_STACK_OK;
-
-exit:
- return OC_STACK_ERROR;
-
-}
-
/**
* Function to getting string of ownership transfer method
*
tools_env.AppendUnique(LIBS = ['coap', 'tinydtls', 'mbedtls', 'mbedx509', 'mbedcrypto',
'octbstack', 'ocsrm', 'connectivity_abstraction'])
else:
- tools_env.PrependUnique(LIBS = ['oc', 'octbstack'])
+ tools_env.PrependUnique(LIBS = ['oc', 'octbstack', 'm'])
######################################################################
# Source files and Targets
######################################################################
-json2cbor = tools_env.Program('json2cbor', ['json2cbor.c'])
+json2cbor_src = ['../../../../extlibs/cjson/cJSON.c',
+ 'json2cbor.c',]
+json2cbor = tools_env.Program('json2cbor', json2cbor_src)
Alias("json2cbor", [json2cbor])
env.AppendTarget('json2cbor')
'../../stack/include',
'../../stack/include/internal',
'../../../oc_logger/include',
- '../../../../extlibs/cjson/',
'../provisioning/include',
'../include'
])
unittest_src_dir + 'oic_svr_db_prov.dat'))
srmtest_env.Alias("install", srmtest_env.Install( unittest_build_dir,
unittest_src_dir + 'oic_svr_db.dat'))
-
+
srmtest_env.AppendTarget('test')
if srmtest_env.get('TEST') == '1':
if target_os in ['linux', 'windows']:
'../../../../logger/include',
'../../../../stack/include',
'../../../../security/include',
- '../../../../../../extlibs/cjson',
'../../../../../../extlibs/boost/boost',
'../../../../../oc_logger/include',
])
Alias("samples", list_of_samples)
samples_env.AppendTarget('samples')
-
-
#include "oic_malloc.h"
#include "oic_string.h"
#include "logger.h"
-#include "cJSON.h"
#include "ocserverslow.h"
#include "ocpayload.h"
#include "payload_logging.h"
return 0;
}
-
'../../../../logger/include',
'../../../../stack/include',
'../../../../security/include',
- '../../../../../../extlibs/cjson',
'../../../../../../extlibs/tinydtls',
'../../../../../oc_logger/include'
])
env.PrependUnique(CPPPATH = [
'../../../../logger/include',
'../../../../stack/include',
- '../../../../../../extlibs/cjson',
'../../../../../oc_logger/include'
])
command = "sh resource/csdk/stack/samples/tizen/build/gbsbuild.sh %s %s %s %s %s %s %s %s %s" % (transport, secured, buildsample, release_mode, logging, routing, with_tcp, with_proxy, with_mq)
print "Created Command is %s" % command
gbs_script = env.Command('gbs_build', None, command)
- AlwaysBuild ('gbs_script')
\ No newline at end of file
+ AlwaysBuild ('gbs_script')
mkdir ./tmp/packaging
cp -LR ./extlibs/tinycbor $sourcedir/tmp/extlibs
cp -Rf ./extlibs/mbedtls $sourcedir/tmp/extlibs
-cp -R ./extlibs/cjson $sourcedir/tmp/extlibs
cp -R ./extlibs/tinydtls $sourcedir/tmp/extlibs
cp -R ./extlibs/timer $sourcedir/tmp/extlibs
cp -R ./extlibs/rapidxml $sourcedir/tmp/extlibs
cp resource/c_common/*/include/*.h %{DEST_INC_DIR}
cp resource/csdk/stack/include/payload_logging.h %{DEST_INC_DIR}
cp extlibs/tinycbor/tinycbor/src/cbor.h %{DEST_INC_DIR}
-cp extlibs/cjson/cJSON.h %{DEST_INC_DIR}
cp -rf %{ROOTDIR}/com.oic.ri.pc %{DEST_LIB_DIR}/pkgconfig/
%files
#include "ocstackinternal.h"
#include "ocresourcehandler.h"
#include "logger.h"
-#include "cJSON.h"
#include "oic_malloc.h"
#include "oic_string.h"
#include "ocpayload.h"
#include "oic_malloc.h"
#include "oic_string.h"
#include "logger.h"
-#include "cJSON.h"
#include "ocpayload.h"
#include "secureresourcemanager.h"
#include "cacommon.h"
#include <string.h>
#include "oicgroup.h"
-#include "cJSON.h"
#include "cbor.h"
#include "ocpayload.h"
#include "oic_malloc.h"
(void)context;
}
-OCStackResult BuildActionJSON(OCAction* action, unsigned char* bufferPtr,
- uint16_t *remaining)
-{
- OCStackResult ret = OC_STACK_ERROR;
- cJSON *json;
- cJSON *body;
-
- char *jsonStr;
- uint16_t jsonLen;
-
- OIC_LOG(INFO, TAG, "Entering BuildActionJSON");
- json = cJSON_CreateObject();
-
- cJSON_AddItemToObject(json, "rep", body = cJSON_CreateObject());
-
- OCCapability* pointerCapa = action->head;
- while (pointerCapa)
- {
- cJSON_AddStringToObject(body, pointerCapa->capability,
- pointerCapa->status);
- pointerCapa = pointerCapa->next;
- }
-
- jsonStr = cJSON_PrintUnformatted(json);
-
- jsonLen = strlen(jsonStr);
- if (jsonLen < *remaining)
- {
- strncat((char*) bufferPtr, jsonStr, jsonLen);
- *remaining -= jsonLen;
- bufferPtr += jsonLen;
- ret = OC_STACK_OK;
- }
-
- cJSON_Delete(json);
- free(jsonStr);
-
- return ret;
-}
-
OCPayload* BuildActionCBOR(OCAction* action)
{
OCRepPayload* payload = OCRepPayloadCreate();
'../../connectivity/api',
'../../connectivity/inc/pkix',
'../../connectivity/external/inc',
- '../../extlibs/cjson',
'../../../oc_logger/include',
])
'../csdk/security/provisioning/include/oxm',
'../csdk/security/provisioning/include/internal',
'../csdk/security/provisioning/include/cloud',
- '../csdk/connectivity/lib/libcoap-4.1.1/',
- '../../extlibs/cjson/'
+ '../csdk/connectivity/lib/libcoap-4.1.1/',
])
target_os = ocprovision_env.get('TARGET_OS')
examples_env.AppendUnique(CPPPATH = [
'../../include/',
'../../csdk/stack/include',
- '../../../extlibs/cjson',
'../../csdk/logger/include',
'../../oc_logger/include',
'../../csdk/connectivity/api',
Alias("examples", [provisioningclient, clientjson,clientdat])
examples_env.AppendTarget('examples')
-
'../../csdk/ocrandom/include',
'../../csdk/logger/include',
'../../csdk/connectivity/lib/libcoap-4.1.1/include',
- '../../../extlibs/cjson/',
'../../../extlibs/hippomocks-master/HippoMocks',
'../../../extlibs/hippomocks-master/HippoMocksTest'
])
local_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-Wextra'])
if target_os in ['linux', 'tizen']:
- local_env.AppendUnique(LIBS = ['pthread', 'curl'])
+ local_env.AppendUnique(LIBS = ['pthread', 'curl', 'm'])
if target_os == 'android':
local_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
######################################################################
proxy_src = [
+ '../../extlibs/cjson/cJSON.c',
'./src/CoapHttpHandler.c',
'./src/CoapHttpMap.c',
'./src/CoapHttpParser.c',
if target_os not in ['windows']:
proxy_sample_app_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-Wextra', '-std=c++0x'])
+else:
+ proxy_sample_app_env.PrependUnique(LIBS = ['m'])
+
proxy_sample_app_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
proxy_sample_app_env.AppendUnique(RPATH = [env.get('BUILD_DIR')])
proxy_sample_app_env.PrependUnique(LIBS = ['coap_http_proxy', 'oc', 'octbstack', 'curl', 'connectivity_abstraction'])
-#******************************************************************\r
-#\r
-# Copyright 2015 Samsung Electronics All Rights Reserved.\r
-#\r
-#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-#\r
-# Licensed under the Apache License, Version 2.0 (the "License");\r
-# you may not use this file except in compliance with the License.\r
-# You may obtain a copy of the License at\r
-#\r
-# http://www.apache.org/licenses/LICENSE-2.0\r
-#\r
-# Unless required by applicable law or agreed to in writing, software\r
-# distributed under the License is distributed on an "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-# See the License for the specific language governing permissions and\r
-# limitations under the License.\r
-#\r
-#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-import os\r
-Import('env')\r
-lib_env = env.Clone()\r
-SConscript('#service/third_party_libs.scons', 'lib_env')\r
-raml_env = lib_env.Clone()\r
-\r
-######################################################################\r
-# Build flags\r
-######################################################################\r
-raml_env.AppendUnique(CPPPATH = ['../../../extlibs/timer'])\r
-raml_env.AppendUnique(CPPPATH = ['raml/model','raml/jsonSchemaParser','raml', '../../../extlibs/yaml/yaml/src' , '../../../extlibs/yaml/yaml/include'])\r
-raml_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])\r
-raml_env.AppendUnique(CPPDEFINES = ['LINUX'])\r
-\r
-raml_env.Append( RPATH = env.Literal('\\$$ORIGIN'))\r
-\r
-raml_env.AppendUnique(CPPPATH = ['../../../extlibs/cjson/'])\r
-raml_env.PrependUnique(LIBS = ['octbstack', 'YamlParser'])\r
-raml_env.AppendUnique(LIBS = ['pthread'])\r
-\r
-raml_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])\r
-\r
-######################################################################\r
-# Source files and Targets\r
-######################################################################\r
-raml_src = [env.Glob('raml/model/*.cpp'), env.Glob('raml/jsonSchemaParser/*.cpp'), env.Glob('raml/*.cpp')]\r
-ramlsdk = raml_env.SharedLibrary('RamlParser', raml_src)\r
-\r
-raml_env.InstallTarget(ramlsdk, 'libRaml')\r
-\r
-SConscript('../../../extlibs/yaml/SConscript')\r
+#******************************************************************
+#
+# 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.
+#
+#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+import os
+Import('env')
+lib_env = env.Clone()
+SConscript('#service/third_party_libs.scons', 'lib_env')
+raml_env = lib_env.Clone()
+
+######################################################################
+# Build flags
+######################################################################
+raml_env.AppendUnique(CPPPATH = ['../../../extlibs/timer'])
+raml_env.AppendUnique(CPPPATH = ['raml/model','raml/jsonSchemaParser','raml', '../../../extlibs/yaml/yaml/src' , '../../../extlibs/yaml/yaml/include'])
+raml_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread'])
+raml_env.AppendUnique(CPPDEFINES = ['LINUX'])
+
+raml_env.Append( RPATH = env.Literal('\\$$ORIGIN'))
+
+raml_env.AppendUnique(CPPPATH = ['../../../extlibs/cjson/'])
+raml_env.PrependUnique(LIBS = ['octbstack', 'YamlParser'])
+raml_env.AppendUnique(LIBS = ['pthread', 'm'])
+
+raml_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
+
+######################################################################
+# Source files and Targets
+######################################################################
+raml_src = ['#extlibs/cjson/cJSON.c', env.Glob('raml/model/*.cpp'), env.Glob('raml/jsonSchemaParser/*.cpp'), env.Glob('raml/*.cpp')]
+ramlsdk = raml_env.SharedLibrary('RamlParser', raml_src)
+
+raml_env.InstallTarget(ramlsdk, 'libRaml')
+
+SConscript('../../../extlibs/yaml/SConscript')