From f607e16725baf1c8c1ec96a222e50f914f1bd684 Mon Sep 17 00:00:00 2001 From: HaseenaSainul Date: Mon, 24 Jul 2023 09:58:48 -0400 Subject: [PATCH] cleanup changes, add separator between prefix and subSchema name generation --- languages/c/Types.mjs | 10 +++---- languages/c/src/shared/include/types.h | 6 ++-- languages/c/src/shared/src/Types.cpp | 4 +-- languages/c/src/shared/test/OpenRPCTests.cpp | 6 ++-- languages/c/src/types/ImplHelpers.mjs | 30 ++++++++++---------- languages/c/src/types/JSONHelpers.mjs | 2 +- languages/c/src/types/NativeHelpers.mjs | 16 +++++------ src/macrofier/engine.mjs | 2 +- 8 files changed, 38 insertions(+), 38 deletions(-) diff --git a/languages/c/Types.mjs b/languages/c/Types.mjs index 2b772ab8..31dec6ba 100644 --- a/languages/c/Types.mjs +++ b/languages/c/Types.mjs @@ -18,8 +18,8 @@ import deepmerge from 'deepmerge' import { getPath } from '../../src/shared/json-schema.mjs' -import { getTypeName, getModuleName, description, getObjectHandleManagement, getNativeType, getPropertyAccessors, capitalize, isOptional, generateEnum, getMapAccessors, getArrayAccessors, getPropertyGetterSignature, getPropertyEventCallbackSignature, getPropertyEventRegisterSignature, getPropertyEventUnregisterSignature, getPropertySetterSignature, getFireboltStringType } from './src/types/NativeHelpers.mjs' -import { getArrayAccessorsImpl, getMapAccessorsImpl, getObjectHandleManagementImpl, getParameterInstantiation, getPropertyAccessorsImpl, getResultInstantiation, getCallbackParametersInstantiation, getCallbackResultInstantiation, getCallbackResponseInstantiation } from './src/types/ImplHelpers.mjs' +import { getTypeName, getModuleName, description, getObjectManagement, getNativeType, getPropertyAccessors, capitalize, isOptional, generateEnum, getMapAccessors, getArrayAccessors, getPropertyGetterSignature, getPropertyEventCallbackSignature, getPropertyEventRegisterSignature, getPropertyEventUnregisterSignature, getPropertySetterSignature, getFireboltStringType } from './src/types/NativeHelpers.mjs' +import { getArrayAccessorsImpl, getMapAccessorsImpl, getObjectManagementImpl, getParameterInstantiation, getPropertyAccessorsImpl, getResultInstantiation, getCallbackParametersInstantiation, getCallbackResultInstantiation, getCallbackResponseInstantiation } from './src/types/ImplHelpers.mjs' import { getJsonContainerDefinition, getJsonDataStructName, getJsonDataPrefix } from './src/types/JSONHelpers.mjs' const getSdkNameSpace = () => 'FireboltSDK' @@ -407,7 +407,7 @@ function getSchemaShapeInfo(json, module, schemas = {}, { name = '', prefix = '' let c_shape = description(capitalize(name), json.description) let cpp_shape = '' let tName = getTypeName(getModuleName(module), name, prefix) - c_shape += '\n' + (isHeader ? getObjectHandleManagement(tName) : getObjectHandleManagementImpl(tName, getJsonType(json, module, { name }))) + c_shape += '\n' + (isHeader ? getObjectManagement(tName) : getObjectManagementImpl(tName, getJsonType(json, module, { name }))) let props = [] let containerName = ((prefix.length > 0) && (!name.startsWith(prefix))) ? (prefix + '_' + capitalize(name)) : capitalize(name) Object.entries(json.properties).forEach(([pname, prop]) => { @@ -489,7 +489,7 @@ function getSchemaShapeInfo(json, module, schemas = {}, { name = '', prefix = '' // Handle Container generation here } - t += '\n' + (isHeader ? getObjectHandleManagement(tName) : getObjectHandleManagementImpl(tName, containerType)) + t += '\n' + (isHeader ? getObjectManagement(tName) : getObjectManagementImpl(tName, containerType)) t += (isHeader ? getMapAccessors(tName, info.type, { descriptions: descriptions, level: level }) : getMapAccessorsImpl(tName, containerType, subModuleProperty.type, info.type, info.json, { readonly: true, optional: false })) shape += '\n' + t } @@ -545,7 +545,7 @@ function getSchemaShapeInfo(json, module, schemas = {}, { name = '', prefix = '' let t = '' if (level === 0) { t += description(capitalize(info.name), json.description) + '\n' - t += '\n' + (isHeader ? getObjectHandleManagement(tName) : getObjectHandleManagementImpl(tName, moduleProperty.type)) + t += '\n' + (isHeader ? getObjectManagement(tName) : getObjectManagementImpl(tName, moduleProperty.type)) } t += '\n' + (isHeader ? getArrayAccessors(objName, tName, info.type) : getArrayAccessorsImpl(objName, moduleProperty.type, (tName + '_t'), subModuleProperty.type, '', info.type, info.json)) shape += '\n' + t diff --git a/languages/c/src/shared/include/types.h b/languages/c/src/shared/include/types.h index 26efc54f..8333f0eb 100644 --- a/languages/c/src/shared/include/types.h +++ b/languages/c/src/shared/include/types.h @@ -26,9 +26,9 @@ extern "C" { #endif -typedef struct FireboltTypes_String_s* FireboltTypes_String_t; -const char* FireboltTypes_String(FireboltTypes_String_t handle); -void FireboltTypes_StringHandle_Release(FireboltTypes_String_t handle); +typedef struct Firebolt_String_s* Firebolt_String_t; +const char* Firebolt_String(Firebolt_String_t handle); +void Firebolt_String_Release(Firebolt_String_t handle); #ifdef __cplusplus } diff --git a/languages/c/src/shared/src/Types.cpp b/languages/c/src/shared/src/Types.cpp index b9620436..93f6a8d8 100644 --- a/languages/c/src/shared/src/Types.cpp +++ b/languages/c/src/shared/src/Types.cpp @@ -25,12 +25,12 @@ extern "C" { #endif // String Type Handler Interfaces -const char* FireboltTypes_String(FireboltTypes_String_t handle) +const char* Firebolt_String(Firebolt_String_t handle) { return ((reinterpret_cast(handle))->Value().c_str()); } -void FireboltTypes_StringHandle_Release(FireboltTypes_String_t handle) +void Firebolt_String_Release(Firebolt_String_t handle) { delete reinterpret_cast(handle); } diff --git a/languages/c/src/shared/test/OpenRPCTests.cpp b/languages/c/src/shared/test/OpenRPCTests.cpp index b74f17ae..11170c15 100644 --- a/languages/c/src/shared/test/OpenRPCTests.cpp +++ b/languages/c/src/shared/test/OpenRPCTests.cpp @@ -485,9 +485,9 @@ uint32_t test_string_set_get_value() uint32_t status = FireboltSDKErrorNone; FireboltSDK::JSON::String* str = new FireboltSDK::JSON::String(); WPEFramework::Core::JSON::String wpeJsonStr("TestString"); - FireboltTypes_String_t handle = reinterpret_cast(str); + Firebolt_String_t handle = reinterpret_cast(str); - const char* value = FireboltTypes_String(handle); + const char* value = Firebolt_String(handle); EXPECT_EQ(strncmp(value, str->Value().c_str(), str->Value().length()), 0); FIREBOLT_LOG_INFO(FireboltSDK::Logger::Category::OpenRPC, "ctest", " ---> type name = %s %s", str->Value().c_str(), value); @@ -495,7 +495,7 @@ uint32_t test_string_set_get_value() WPEFramework::Core::JSON::EnumType<::TestEnum> testEnum = Test4; FIREBOLT_LOG_INFO(FireboltSDK::Logger::Category::OpenRPC, "ctest", " EnumTest = %d %s", testEnum.Value(), testEnum.Data()); - FireboltTypes_StringHandle_Release(handle); + Firebolt_String_Release(handle); return status; } diff --git a/languages/c/src/types/ImplHelpers.mjs b/languages/c/src/types/ImplHelpers.mjs index 8dbe8f08..85498570 100644 --- a/languages/c/src/types/ImplHelpers.mjs +++ b/languages/c/src/types/ImplHelpers.mjs @@ -6,22 +6,22 @@ const getSdkNameSpace = () => 'FireboltSDK' const wpeJsonNameSpace = () => 'WPEFramework::Core::JSON' const camelcase = str => str[0].toLowerCase() + str.substr(1) -const getObjectHandleManagementImpl = (varName, jsonDataName) => { +const getObjectManagementImpl = (varName, jsonDataName) => { - let result = `${varName}_t ${varName}Handle_Acquire(void) + let result = `${varName}_t ${varName}_Acquire(void) { WPEFramework::Core::ProxyType<${jsonDataName}>* type = new WPEFramework::Core::ProxyType<${jsonDataName}>(); *type = WPEFramework::Core::ProxyType<${jsonDataName}>::Create(); return (reinterpret_cast<${varName}_t>(type)); } -void ${varName}Handle_Addref(${varName}_t handle) +void ${varName}_Addref(${varName}_t handle) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${jsonDataName}>* var = reinterpret_cast*>(handle); ASSERT(var->IsValid()); var->AddRef(); } -void ${varName}Handle_Release(${varName}_t handle) +void ${varName}_Release(${varName}_t handle) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${jsonDataName}>* var = reinterpret_cast*>(handle); @@ -30,7 +30,7 @@ void ${varName}Handle_Release(${varName}_t handle) delete var; } } -bool ${varName}Handle_IsValid(${varName}_t handle) +bool ${varName}_IsValid(${varName}_t handle) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${jsonDataName}>* var = reinterpret_cast*>(handle); @@ -101,7 +101,7 @@ const getPropertyAccessorsImpl = (objName, modulePropertyType, subPropertyType, return result } -const getArrayAccessorsImpl = (objName, modulePropertyType, objHandleType, subPropertyType, subPropertyName, accessorPropertyType, json = {}) => { +const getArrayAccessorsImpl = (objName, modulePropertyType, objType, subPropertyType, subPropertyName, accessorPropertyType, json = {}) => { let propertyName if (subPropertyName) { @@ -112,7 +112,7 @@ const getArrayAccessorsImpl = (objName, modulePropertyType, objHandleType, subPr propertyName = '(*(*var))' } - let result = `uint32_t ${objName}Array_Size(${objHandleType} handle) { + let result = `uint32_t ${objName}Array_Size(${objType} handle) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${modulePropertyType}>* var = reinterpret_cast*>(handle); ASSERT(var->IsValid()); @@ -120,7 +120,7 @@ const getArrayAccessorsImpl = (objName, modulePropertyType, objHandleType, subPr return (${propertyName}.Length()); }` + '\n' - result += `${accessorPropertyType} ${objName}Array_Get(${objHandleType} handle, uint32_t index) + result += `${accessorPropertyType} ${objName}Array_Get(${objType} handle, uint32_t index) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${modulePropertyType}>* var = reinterpret_cast*>(handle); @@ -144,7 +144,7 @@ const getArrayAccessorsImpl = (objName, modulePropertyType, objHandleType, subPr result += `}` + '\n' let type = (accessorPropertyType === getFireboltStringType()) ? 'char*' : accessorPropertyType - result += `void ${objName}Array_Add(${objHandleType} handle, ${type} value) + result += `void ${objName}Array_Add(${objType} handle, ${type} value) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${modulePropertyType}>* var = reinterpret_cast*>(handle); @@ -162,7 +162,7 @@ const getArrayAccessorsImpl = (objName, modulePropertyType, objHandleType, subPr ${propertyName}.Add() = element; }` + '\n' - result += `void ${objName}Array_Clear(${objHandleType} handle) + result += `void ${objName}Array_Clear(${objType} handle) { ASSERT(handle != NULL); WPEFramework::Core::ProxyType<${modulePropertyType}>* var = reinterpret_cast*>(handle); @@ -304,7 +304,7 @@ function getParameterInstantiation(paramList, container = '') { const name = param.name if (jsonType.length) { if (param.required) { - if (param.nativeType.includes('FireboltTypes_String_t')) { + if (param.nativeType.includes('Firebolt_String_t')) { impl += ` WPEFramework::Core::JSON::Variant ${capitalize(name)} = *(reinterpret_cast<${jsonType}*>(${name}));\n` } else if (param.nativeType.includes('_t')) { @@ -429,7 +429,7 @@ function getCallbackParametersInstantiation(paramList, container = '') { function getCallbackResultInstantiation(nativeType, container = '') { let impl = '' - if (nativeType === 'char*' || nativeType === 'FireboltTypes_String_t') { + if (nativeType === 'char*' || nativeType === 'Firebolt_String_t') { impl +=` ${container}* jsonStrResponse = new ${container}(); *jsonStrResponse = *(*jsonResponse); @@ -457,7 +457,7 @@ function getCallbackResponseInstantiation(paramList, nativeType, container = '') }) } - if (nativeType === 'char*' || nativeType === 'FireboltTypes_String_t') { + if (nativeType === 'char*' || nativeType === 'Firebolt_String_t') { impl += `reinterpret_cast<${nativeType}>(jsonStrResponse)` } else if (nativeType.includes('_t')) { @@ -476,7 +476,7 @@ function getResultInstantiation (name, nativeType, container, indentLevel = 3) { if (nativeType) { impl += `${' '.repeat(indentLevel)}if (${name} != nullptr) {` + '\n' - if (nativeType === 'char*' || nativeType === 'FireboltTypes_String_t') { + if (nativeType === 'char*' || nativeType === 'Firebolt_String_t') { impl += `${' '.repeat(indentLevel + 1)}${container}* strResult = new ${container}(jsonResult);` + '\n' impl += `${' '.repeat(indentLevel + 1)}*${name} = reinterpret_cast<${getFireboltStringType()}>(strResult);` + '\n' } else if (nativeType.includes('_t')) { @@ -500,7 +500,7 @@ function getResultInstantiation (name, nativeType, container, indentLevel = 3) { export { getArrayAccessorsImpl, getMapAccessorsImpl, - getObjectHandleManagementImpl, + getObjectManagementImpl, getPropertyAccessorsImpl, getParameterInstantiation, getCallbackParametersInstantiation, diff --git a/languages/c/src/types/JSONHelpers.mjs b/languages/c/src/types/JSONHelpers.mjs index 954ac50d..1c5e3ea4 100644 --- a/languages/c/src/types/JSONHelpers.mjs +++ b/languages/c/src/types/JSONHelpers.mjs @@ -4,7 +4,7 @@ const getJsonDataPrefix = () => 'JsonData_' const wpeJsonNameSpace = () => 'WPEFramework::Core::JSON' const getJsonDataStructName = (modName, name, prefix = '') => { - let result =((prefix && prefix.length > 0) && (prefix !== name)) ? `${capitalize(modName)}::${getJsonDataPrefix()}${capitalize(prefix)}${capitalize(name)}` : `${capitalize(modName)}::${getJsonDataPrefix()}${capitalize(name)}` + let result =((prefix && prefix.length > 0) && (prefix !== name)) ? `${capitalize(modName)}::${getJsonDataPrefix()}${capitalize(prefix)}_${capitalize(name)}` : `${capitalize(modName)}::${getJsonDataPrefix()}${capitalize(name)}` return ((result.includes(wpeJsonNameSpace()) === true) ? result : `${getSdkNameSpace()}::${result}`) } diff --git a/languages/c/src/types/NativeHelpers.mjs b/languages/c/src/types/NativeHelpers.mjs index 3437c3f4..7400a7c4 100644 --- a/languages/c/src/types/NativeHelpers.mjs +++ b/languages/c/src/types/NativeHelpers.mjs @@ -29,7 +29,7 @@ const { isObject, isArray, propEq, pathSatisfies, hasProp, propSatisfies } = pre const getModuleName = json => getPathOr(null, ['info', 'title'], json) || json.title || 'missing' -const getFireboltStringType = () => 'FireboltTypes_String_t' +const getFireboltStringType = () => 'Firebolt_String_t' const capitalize = str => str[0].toUpperCase() + str.substr(1) const description = (title, str='') => '/* ' + title + (str.length > 0 ? ' - ' + str : '') + ' */' @@ -64,13 +64,13 @@ const getNativeType = (json, fireboltString = false) => { return type } -const getObjectHandleManagement = varName => { +const getObjectManagement = varName => { let result = `typedef struct ${varName}_s* ${varName}_t; -${varName}_t ${varName}Handle_Acquire(void); -void ${varName}Handle_Addref(${varName}_t handle); -void ${varName}Handle_Release(${varName}_t handle); -bool ${varName}Handle_IsValid(${varName}_t handle); +${varName}_t ${varName}_Acquire(void); +void ${varName}_Addref(${varName}_t handle); +void ${varName}_Release(${varName}_t handle); +bool ${varName}_IsValid(${varName}_t handle); ` return result } @@ -111,7 +111,7 @@ const getTypeName = (moduleName, varName, prefix = '', upperCase = false, capita prefix = (prefix !== varName) ? (upperCase ? prefix.toUpperCase() : capitalize(prefix)) : '' } prefix = (prefix && prefix.length > 0) ?(upperCase ? prefix.toUpperCase() : capitalize(prefix)) : prefix - let name = (prefix && prefix.length > 0) ? `${mName}_${prefix}${vName}` : `${mName}_${vName}` + let name = (prefix && prefix.length > 0) ? `${mName}_${prefix}_${vName}` : `${mName}_${vName}` return name } @@ -205,7 +205,7 @@ export { capitalize, description, getTypeName, - getObjectHandleManagement, + getObjectManagement, getPropertyAccessors, isOptional, generateEnum, diff --git a/src/macrofier/engine.mjs b/src/macrofier/engine.mjs index 19aa3112..15e42193 100644 --- a/src/macrofier/engine.mjs +++ b/src/macrofier/engine.mjs @@ -370,7 +370,7 @@ const addContentDescriptorSubSchema = (descriptor, prefix, obj) => { else { let descriptorName = capitalize(descriptor.name) let prefixName = capitalize(prefix) - title = (prefixName !== descriptorName) ? prefixName + descriptorName : descriptorName + title = (prefixName !== descriptorName) ? prefixName + '_' +descriptorName : descriptorName if (obj.components.schemas[title]) { throw 'Generated name `' + title + '` already exists...' }