From c29e3c6c62342fbf47c6890fa99e4413fec09bad Mon Sep 17 00:00:00 2001 From: Jonathan Hollocombe Date: Fri, 2 Feb 2024 13:56:47 +0000 Subject: [PATCH] Tidying up and renaming plugin data return functions --- source/clientserver/type_convertor.hpp | 27 ++ source/include/uda/plugins.h | 55 ++-- .../plugins/bytes/readBytesNonOptimally.cpp | 2 +- source/plugins/help/help_plugin.cpp | 4 +- source/plugins/keyvalue/keyvaluePlugin.cpp | 2 +- source/plugins/template/templatePlugin.cpp | 6 +- source/plugins/testplugin/testplugin.cpp | 162 +++++------ source/plugins/udaPlugin.cpp | 262 +++--------------- source/plugins/uda_plugin_base.cpp | 14 +- source/plugins/viewport/viewport.cpp | 16 +- 10 files changed, 202 insertions(+), 348 deletions(-) create mode 100644 source/clientserver/type_convertor.hpp diff --git a/source/clientserver/type_convertor.hpp b/source/clientserver/type_convertor.hpp new file mode 100644 index 00000000..6eeb5505 --- /dev/null +++ b/source/clientserver/type_convertor.hpp @@ -0,0 +1,27 @@ +#pragma once + +template +struct TypeConvertor +{ + static UdaType type; +}; + +template +UdaType TypeConvertor::type = UdaType::UDA_TYPE_UNKNOWN; + +template <> UdaType TypeConvertor::type = UDA_TYPE_CHAR; +template <> UdaType TypeConvertor::type = UDA_TYPE_SHORT; +template <> UdaType TypeConvertor::type = UDA_TYPE_INT; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNSIGNED_INT; +template <> UdaType TypeConvertor::type = UDA_TYPE_LONG; +template <> UdaType TypeConvertor::type = UDA_TYPE_FLOAT; +template <> UdaType TypeConvertor::type = UDA_TYPE_DOUBLE; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNSIGNED_CHAR; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNSIGNED_SHORT; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNSIGNED_LONG; +template <> UdaType TypeConvertor::type = UDA_TYPE_LONG64; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNSIGNED_LONG64; +template <> UdaType TypeConvertor::type = UDA_TYPE_COMPLEX; +template <> UdaType TypeConvertor::type = UDA_TYPE_DCOMPLEX; +template <> UdaType TypeConvertor::type = UDA_TYPE_UNDEFINED; +template <> UdaType TypeConvertor::type = UDA_TYPE_STRING; diff --git a/source/include/uda/plugins.h b/source/include/uda/plugins.h index a3afc51d..994e5e71 100644 --- a/source/include/uda/plugins.h +++ b/source/include/uda/plugins.h @@ -58,36 +58,39 @@ LIBRARY_API const char* udaPluginPluginExtension(UDA_PLUGIN_INTERFACE* plugin_in LIBRARY_API const char* udaPluginPluginDescription(UDA_PLUGIN_INTERFACE* plugin_interface, int plugin_num); LIBRARY_API const char* udaPluginPluginExample(UDA_PLUGIN_INTERFACE* plugin_interface, int plugin_num); -LIBRARY_API int setReturnDataLabel(UDA_PLUGIN_INTERFACE* plugin_interface, const char* label); -LIBRARY_API int setReturnDataUnits(UDA_PLUGIN_INTERFACE* plugin_interface, const char* units); - -LIBRARY_API int setReturnDataFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, float* values, size_t rank, const size_t* shape, - const char* description); -LIBRARY_API int setReturnDataDoubleArray(UDA_PLUGIN_INTERFACE* plugin_interface, double* values, size_t rank, const size_t* shape, - const char* description); -LIBRARY_API int setReturnDataCharArray(UDA_PLUGIN_INTERFACE* plugin_interface, const char* values, size_t rank, int *shape, - const char* description); -LIBRARY_API int setReturnDataIntArray(UDA_PLUGIN_INTERFACE* plugin_interface, int* values, size_t rank, const size_t* shape, - const char* description); -LIBRARY_API int setReturnDataDoubleScalar(UDA_PLUGIN_INTERFACE* plugin_interface, double value, const char* description); -LIBRARY_API int setReturnDataFloatScalar(UDA_PLUGIN_INTERFACE* plugin_interface, float value, const char* description); -LIBRARY_API int setReturnDataIntScalar(UDA_PLUGIN_INTERFACE* plugin_interface, int value, const char* description); -LIBRARY_API int setReturnDataLongScalar(UDA_PLUGIN_INTERFACE* plugin_interface, long value, const char* description); -LIBRARY_API int setReturnDataShortScalar(UDA_PLUGIN_INTERFACE* plugin_interface, short value, const char* description); -LIBRARY_API int setReturnDataString(UDA_PLUGIN_INTERFACE* plugin_interface, const char* value, const char* description); - -LIBRARY_API int setReturnData(UDA_PLUGIN_INTERFACE* plugin_interface, void* value, size_t size, UDA_TYPE type, int rank, +LIBRARY_API int udaPluginReturnDataLabel(UDA_PLUGIN_INTERFACE* plugin_interface, const char* label); +LIBRARY_API int udaPluginReturnDataUnits(UDA_PLUGIN_INTERFACE* plugin_interface, const char* units); + +#define UDA_DEF_SET_RETURN_FUNCS(NAME, TYPE) \ +LIBRARY_API int udaPluginReturnData##NAME##Scalar(UDA_PLUGIN_INTERFACE* plugin_interface, const TYPE value, const char* description); \ +LIBRARY_API int udaPluginReturnData##NAME##Array(UDA_PLUGIN_INTERFACE* plugin_interface, const TYPE* values, size_t rank, const size_t* shape, const char* description); + +UDA_DEF_SET_RETURN_FUNCS(Float, float) +UDA_DEF_SET_RETURN_FUNCS(Double, double) +UDA_DEF_SET_RETURN_FUNCS(Char, char) +UDA_DEF_SET_RETURN_FUNCS(UChar, unsigned char) +UDA_DEF_SET_RETURN_FUNCS(Short, short) +UDA_DEF_SET_RETURN_FUNCS(UShort, unsigned short) +UDA_DEF_SET_RETURN_FUNCS(Int, int) +UDA_DEF_SET_RETURN_FUNCS(UInt, unsigned int) +UDA_DEF_SET_RETURN_FUNCS(Long, long) +UDA_DEF_SET_RETURN_FUNCS(ULong, unsigned long) +UDA_DEF_SET_RETURN_FUNCS(String, char*) + +#undef UDA_DEF_SET_RETURN_FUNCS + +LIBRARY_API int udaPluginReturnData(UDA_PLUGIN_INTERFACE* plugin_interface, void* value, size_t size, UDA_TYPE type, int rank, const int* shape, const char* description); -LIBRARY_API int setReturnDimensionFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, int dim_n, float* data, size_t size, const char* label, const char* units); +LIBRARY_API int udaPluginReturnDimensionFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, int dim_n, float* data, size_t size, const char* label, const char* units); -LIBRARY_API int setReturnErrorAsymmetry(UDA_PLUGIN_INTERFACE* plugin_interface, bool flag); -LIBRARY_API int setReturnErrorLow(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size); -LIBRARY_API int setReturnErrorHigh(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size); -LIBRARY_API int setReturnDataOrder(UDA_PLUGIN_INTERFACE* plugin_interface, int order); +LIBRARY_API int udaPluginReturnErrorAsymmetry(UDA_PLUGIN_INTERFACE* plugin_interface, bool flag); +LIBRARY_API int udaPluginReturnErrorLow(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size); +LIBRARY_API int udaPluginReturnErrorHigh(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size); +LIBRARY_API int udaPluginReturnDataOrder(UDA_PLUGIN_INTERFACE* plugin_interface, int order); -LIBRARY_API int setReturnCompoundData(UDA_PLUGIN_INTERFACE* plugin_interface, char* data, const char* user_type, const char* description); -LIBRARY_API int setReturnCompoundArrayData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description, int rank, int* shape); +LIBRARY_API int udaPluginReturnCompoundData(UDA_PLUGIN_INTERFACE* plugin_interface, char* data, const char* user_type, const char* description); +LIBRARY_API int udaPluginReturnCompoundArrayData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description, int rank, int* shape); LIBRARY_API int udaPluginArgumentCount(const UDA_PLUGIN_INTERFACE* plugin_interface); LIBRARY_API const char* udaPluginArgument(const UDA_PLUGIN_INTERFACE* plugin_interface, int num); diff --git a/source/plugins/bytes/readBytesNonOptimally.cpp b/source/plugins/bytes/readBytesNonOptimally.cpp index 8adc823d..03fbb9df 100644 --- a/source/plugins/bytes/readBytesNonOptimally.cpp +++ b/source/plugins/bytes/readBytesNonOptimally.cpp @@ -185,7 +185,7 @@ int readBytes(const std::string& path, UDA_PLUGIN_INTERFACE* plugin_interface) auto read_hash = get_hash_sum(ctx); int shape[] = { (int)nchar }; - setReturnData(plugin_interface, bp, nchar, UDA_TYPE_CHAR, 1, shape, read_hash.c_str()); + udaPluginReturnData(plugin_interface, bp, nchar, UDA_TYPE_CHAR, 1, shape, read_hash.c_str()); // TODO: read sha256 sum command from config and try and run // std::string cmd = "sha3sum -a 256 -b " + path; diff --git a/source/plugins/help/help_plugin.cpp b/source/plugins/help/help_plugin.cpp index b88df3d2..f3da32d7 100644 --- a/source/plugins/help/help_plugin.cpp +++ b/source/plugins/help/help_plugin.cpp @@ -63,7 +63,7 @@ int HelpPlugin::ping(UDA_PLUGIN_INTERFACE* plugin_interface) data->microseconds = (unsigned int)serverTime.tv_usec; // return to the client - setReturnCompoundData(plugin_interface, (char*)data, "HELP_PING", nullptr); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "HELP_PING", nullptr); return 0; } @@ -152,5 +152,5 @@ int HelpPlugin::services(UDA_PLUGIN_INTERFACE* plugin_interface) doc += "\n\n"; - return setReturnDataString(plugin_interface, doc.c_str(), "Description of UDA data access services"); + return udaPluginReturnDataStringScalar(plugin_interface, doc.c_str(), "Description of UDA data access services"); } diff --git a/source/plugins/keyvalue/keyvaluePlugin.cpp b/source/plugins/keyvalue/keyvaluePlugin.cpp index a53cdbf6..cc1c40d4 100644 --- a/source/plugins/keyvalue/keyvaluePlugin.cpp +++ b/source/plugins/keyvalue/keyvaluePlugin.cpp @@ -132,7 +132,7 @@ int uda::keyvalue::Plugin::read(UDA_PLUGIN_INTERFACE* plugin_interface) } int shape[] = { (int)value_len }; - setReturnData(plugin_interface, value, value_len, UDA_TYPE_CHAR, 1, shape, nullptr); + udaPluginReturnData(plugin_interface, value, value_len, UDA_TYPE_CHAR, 1, shape, nullptr); return 0; } diff --git a/source/plugins/template/templatePlugin.cpp b/source/plugins/template/templatePlugin.cpp index ef72afa5..be27a281 100644 --- a/source/plugins/template/templatePlugin.cpp +++ b/source/plugins/template/templatePlugin.cpp @@ -76,9 +76,9 @@ int TemplatePlugin::function(UDA_PLUGIN_INTERFACE* plugin_interface) std::string result = fmt::format("Passed args: required={}, array=[{}], optional={}", required, to_string(array), optional_str); - setReturnDataString(plugin_interface, result.c_str(), "result of TemplatePlugin::function"); - setReturnDataLabel(plugin_interface, ""); - setReturnDataUnits(plugin_interface, ""); + udaPluginReturnDataStringScalar(plugin_interface, result.c_str(), "result of TemplatePlugin::function"); + udaPluginReturnDataLabel(plugin_interface, ""); + udaPluginReturnDataUnits(plugin_interface, ""); return 0; } diff --git a/source/plugins/testplugin/testplugin.cpp b/source/plugins/testplugin/testplugin.cpp index 89ef084d..3ae29081 100644 --- a/source/plugins/testplugin/testplugin.cpp +++ b/source/plugins/testplugin/testplugin.cpp @@ -195,10 +195,10 @@ int TestPlugin::test0(UDA_PLUGIN_INTERFACE* plugin_interface) const char* help = "Hello World!"; if (get_function(plugin_interface) == "test0") { - int shape[] = {(int)strlen(help)}; - setReturnDataCharArray(plugin_interface, help, 1, shape, "testplugins: test0 = single string as a char array"); + size_t shape[] = {strlen(help)}; + udaPluginReturnDataCharArray(plugin_interface, help, 1, shape, "testplugins: test0 = single string as a char array"); } else { - setReturnDataString(plugin_interface, help, "testplugins: test1 = single string"); + udaPluginReturnDataStringScalar(plugin_interface, help, "testplugins: test1 = single string"); } return 0; @@ -224,9 +224,9 @@ int TestPlugin::test2(UDA_PLUGIN_INTERFACE* plugin_interface) "MAST Upgrade", }; - int max_len = 0; + size_t max_len = 0; for (const auto& string : strings) { - max_len = std::max(max_len, (int)string.size()); + max_len = std::max(max_len, string.size()); } // Create a block of contigous memory and assign all bytes to nullptr character @@ -236,12 +236,12 @@ int TestPlugin::test2(UDA_PLUGIN_INTERFACE* plugin_interface) } if (get_function(plugin_interface) == "test2") { - int shape[] = {max_len, (int)strings.size()}; - setReturnDataCharArray(plugin_interface, data.get(), 2, shape, "testplugins: test2 = 2D array of chars"); + size_t shape[] = {max_len, strings.size()}; + udaPluginReturnDataCharArray(plugin_interface, data.get(), 2, shape, "testplugins: test2 = 2D array of chars"); } else { // int shape[] = {max_len, (int)strings.size()}; // TODO: yuck! -// setReturnDataStringArray(plugin_interface, data.get(), 2, shape, "testplugins: test3 = array of strings"); +// udaPluginReturnDataStringArray(plugin_interface, data.get(), 2, shape, "testplugins: test3 = array of strings"); } return 0; @@ -272,8 +272,8 @@ int TestPlugin::test4(UDA_PLUGIN_INTERFACE* plugin_interface) udaRegisterMalloc(plugin_interface, (void*)data, 1, sizeof(TEST4), "TEST4"); // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST4", " Structure Data Test #4"); - setReturnDataLabel(plugin_interface, "Values: 012345678901234567890"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST4", " Structure Data Test #4"); + udaPluginReturnDataLabel(plugin_interface, "Values: 012345678901234567890"); return 0; } @@ -305,8 +305,8 @@ int TestPlugin::test5(UDA_PLUGIN_INTERFACE* plugin_interface) udaRegisterMalloc(plugin_interface, (void*)data, 1, sizeof(TEST5), "TEST5"); // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST5", "Structure Data Test #5"); - setReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST5", "Structure Data Test #5"); + udaPluginReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); return 0; } @@ -336,8 +336,8 @@ int TestPlugin::test6(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST6", "Structure Data Test #6"); - setReturnDataLabel(plugin_interface, "Value: PI=3.1415927"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST6", "Structure Data Test #6"); + udaPluginReturnDataLabel(plugin_interface, "Value: PI=3.1415927"); return 0; } @@ -377,8 +377,8 @@ int TestPlugin::test7(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST7", "Structure Data Test #7"); - setReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST7", "Structure Data Test #7"); + udaPluginReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); return 0; } @@ -420,8 +420,8 @@ int TestPlugin::test8(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST5", "Structure Data Test #5"); - setReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST5", "Structure Data Test #5"); + udaPluginReturnDataLabel(plugin_interface, "Values: 012345678901234567890, QWERTY KEYBOARD, MAST TOKAMAK"); return 0; } @@ -470,8 +470,8 @@ int TestPlugin::test9(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST9", "Structure Data Test #9"); - setReturnDataLabel(plugin_interface, "Multiple test results"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST9", "Structure Data Test #9"); + udaPluginReturnDataLabel(plugin_interface, "Multiple test results"); return 0; } @@ -551,8 +551,8 @@ int TestPlugin::test9A(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST9A", "Structure Data Test #9A"); - setReturnDataLabel(plugin_interface, "Multiple test results"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST9A", "Structure Data Test #9A"); + udaPluginReturnDataLabel(plugin_interface, "Multiple test results"); return 0; } @@ -565,8 +565,8 @@ int TestPlugin::test10(UDA_PLUGIN_INTERFACE* plugin_interface) data[0] = 7; // Pass Data - setReturnDataIntScalar(plugin_interface, 7, "Structure Data Test #10"); - setReturnDataLabel(plugin_interface, "Value: 7"); + udaPluginReturnDataIntScalar(plugin_interface, 7, "Structure Data Test #10"); + udaPluginReturnDataLabel(plugin_interface, "Value: 7"); return 0; } @@ -594,8 +594,8 @@ int TestPlugin::test11(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST11", "Structure Data Test #11"); - setReturnDataLabel(plugin_interface, "Value: 11"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST11", "Structure Data Test #11"); + udaPluginReturnDataLabel(plugin_interface, "Value: 11"); return 0; } @@ -624,8 +624,8 @@ int TestPlugin::test12(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST12", "Structure Data Test #12"); - setReturnDataLabel(plugin_interface, "Value: 10,11,12"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST12", "Structure Data Test #12"); + udaPluginReturnDataLabel(plugin_interface, "Value: 10,11,12"); return 0; } @@ -659,8 +659,8 @@ int TestPlugin::test13(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST13", "Structure Data Test #13"); - setReturnDataLabel(plugin_interface, "Value: {0,1,2},{10,11,12}"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST13", "Structure Data Test #13"); + udaPluginReturnDataLabel(plugin_interface, "Value: {0,1,2},{10,11,12}"); return 0; } @@ -692,8 +692,8 @@ int TestPlugin::test14(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST14", "Structure Data Test #14"); - setReturnDataLabel(plugin_interface, "int *value: 14"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST14", "Structure Data Test #14"); + udaPluginReturnDataLabel(plugin_interface, "int *value: 14"); return 0; } @@ -728,8 +728,8 @@ int TestPlugin::test15(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST15", "Structure Data Test #15"); - setReturnDataLabel(plugin_interface, "Values: 13,14,15"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST15", "Structure Data Test #15"); + udaPluginReturnDataLabel(plugin_interface, "Values: 13,14,15"); return 0; } @@ -771,8 +771,8 @@ int TestPlugin::test16(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST16", "Structure Data Test #16"); - setReturnDataLabel(plugin_interface, "Values: {0,1,2},{10,11,12}"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST16", "Structure Data Test #16"); + udaPluginReturnDataLabel(plugin_interface, "Values: {0,1,2},{10,11,12}"); return 0; } @@ -803,8 +803,8 @@ int TestPlugin::test18(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data int data_shape[1] = {data_n}; - setReturnCompoundArrayData(plugin_interface, (char*)data, "TEST18", "Structure Data Test #18", 1, data_shape); - setReturnDataLabel(plugin_interface, "100000 Values: i 0, 100000"); + udaPluginReturnCompoundArrayData(plugin_interface, (char*)data, "TEST18", "Structure Data Test #18", 1, data_shape); + udaPluginReturnDataLabel(plugin_interface, "100000 Values: i 0, 100000"); return 0; } @@ -855,8 +855,8 @@ int TestPlugin::test19(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data int data_shape[1] = {data_n}; - setReturnCompoundArrayData(plugin_interface, (char*)data, "TEST19", "Structure Data Test #19", 1, data_shape); - setReturnDataLabel(plugin_interface, "Values: "); + udaPluginReturnCompoundArrayData(plugin_interface, (char*)data, "TEST19", "Structure Data Test #19", 1, data_shape); + udaPluginReturnDataLabel(plugin_interface, "Values: "); return 0; } @@ -870,8 +870,8 @@ int TestPlugin::test20(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnDataShortScalar(plugin_interface, 7, "Structure Data Test #20"); - setReturnDataLabel(plugin_interface, "Short Value: 7"); + udaPluginReturnDataShortScalar(plugin_interface, 7, "Structure Data Test #20"); + udaPluginReturnDataLabel(plugin_interface, "Short Value: 7"); return 0; } @@ -899,8 +899,8 @@ int TestPlugin::test21(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST21", "Structure Data Test #21"); - setReturnDataLabel(plugin_interface, "Short Value: 21"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST21", "Structure Data Test #21"); + udaPluginReturnDataLabel(plugin_interface, "Short Value: 21"); return 0; } @@ -930,8 +930,8 @@ int TestPlugin::test22(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST22", "Structure Data Test #22"); - setReturnDataLabel(plugin_interface, "Short Array Values: 20,21,22"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST22", "Structure Data Test #22"); + udaPluginReturnDataLabel(plugin_interface, "Short Array Values: 20,21,22"); return 0; } @@ -964,8 +964,8 @@ int TestPlugin::test23(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST23", "Structure Data Test #23"); - setReturnDataLabel(plugin_interface, "Values: {0,1,2},{10,11,12}"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST23", "Structure Data Test #23"); + udaPluginReturnDataLabel(plugin_interface, "Values: {0,1,2},{10,11,12}"); return 0; } @@ -996,8 +996,8 @@ int TestPlugin::test24(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST24", "Structure Data Test #24"); - setReturnDataLabel(plugin_interface, "short *value: 14"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST24", "Structure Data Test #24"); + udaPluginReturnDataLabel(plugin_interface, "short *value: 14"); return 0; } @@ -1030,8 +1030,8 @@ int TestPlugin::test25(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST25", "Structure Data Test #25"); - setReturnDataLabel(plugin_interface, "Short Values: 13,14,15"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST25", "Structure Data Test #25"); + udaPluginReturnDataLabel(plugin_interface, "Short Values: 13,14,15"); return 0; } @@ -1073,8 +1073,8 @@ int TestPlugin::test26(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST26", "Structure Data Test #26"); - setReturnDataLabel(plugin_interface, "Short Values: 13,14,15 23,24,25"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST26", "Structure Data Test #26"); + udaPluginReturnDataLabel(plugin_interface, "Short Values: 13,14,15 23,24,25"); return 0; } @@ -1128,8 +1128,8 @@ int TestPlugin::test27(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST27", "Structure Data Test #27"); - setReturnDataLabel(plugin_interface, "Values: {0,1,2,3},{10,11,12,13},..."); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST27", "Structure Data Test #27"); + udaPluginReturnDataLabel(plugin_interface, "Values: {0,1,2,3},{10,11,12,13},..."); return 0; } @@ -1190,8 +1190,8 @@ int TestPlugin::test28(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST28", "Structure Data Test #28"); - setReturnDataLabel(plugin_interface, "Short Values: 13,14,15 23,24,25"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST28", "Structure Data Test #28"); + udaPluginReturnDataLabel(plugin_interface, "Short Values: 13,14,15 23,24,25"); return 0; } @@ -1221,8 +1221,8 @@ int TestPlugin::test30(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST30", "Structure Data Test #30"); - setReturnDataLabel(plugin_interface, "Double Values: (1, 2)"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST30", "Structure Data Test #30"); + udaPluginReturnDataLabel(plugin_interface, "Double Values: (1, 2)"); return 0; } @@ -1267,8 +1267,8 @@ int TestPlugin::test31(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST31", "Structure Data Test #31"); - setReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST31", "Structure Data Test #31"); + udaPluginReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); return 0; } @@ -1321,8 +1321,8 @@ int TestPlugin::test32(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST32", "Structure Data Test #32"); - setReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST32", "Structure Data Test #32"); + udaPluginReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); return 0; } @@ -1381,8 +1381,8 @@ int TestPlugin::test33(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST33", "Structure Data Test #33"); - setReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST33", "Structure Data Test #33"); + udaPluginReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); return 0; } @@ -1451,8 +1451,8 @@ int TestPlugin::test34(UDA_PLUGIN_INTERFACE* plugin_interface) // Pass Data - setReturnCompoundData(plugin_interface, (char*)data, "TEST34", "Structure Data Test #34"); - setReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "TEST34", "Structure Data Test #34"); + udaPluginReturnDataLabel(plugin_interface, "Double Values [5, 20] : (1*, 10*)"); return 0; } @@ -1633,7 +1633,7 @@ int TestPlugin::test50(UDA_PLUGIN_INTERFACE* plugin_interface) work += fmt::format("name: {}, value: {}\n", name, value); } - setReturnDataString(plugin_interface, work.c_str(), nullptr); + udaPluginReturnDataStringScalar(plugin_interface, work.c_str(), nullptr); return 0; } @@ -1769,8 +1769,8 @@ int TestPlugin::test60(UDA_PLUGIN_INTERFACE* plugin_interface) register_enumlist(plugin_interface, enumlist); - setReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test60 = ENUM Values"); - setReturnDataLabel(plugin_interface, ""); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test60 = ENUM Values"); + udaPluginReturnDataLabel(plugin_interface, ""); return 0; } @@ -1821,8 +1821,8 @@ int TestPlugin::test61(UDA_PLUGIN_INTERFACE* plugin_interface) register_enumlist(plugin_interface, enumlist); - setReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test61 = ENUM Values"); - setReturnDataLabel(plugin_interface, ""); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test61 = ENUM Values"); + udaPluginReturnDataLabel(plugin_interface, ""); return 0; } @@ -1872,8 +1872,8 @@ int TestPlugin::test62(UDA_PLUGIN_INTERFACE* plugin_interface) register_enumlist(plugin_interface, enumlist); - setReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test62 = ENUM Values"); - setReturnDataLabel(plugin_interface, ""); + udaPluginReturnCompoundData(plugin_interface, (char*)data, "ENUMLIST60", "Test62 = ENUM Values"); + udaPluginReturnDataLabel(plugin_interface, ""); return 0; } @@ -1952,7 +1952,7 @@ int TestPlugin::errortest(UDA_PLUGIN_INTERFACE* plugin_interface) int TestPlugin::scalartest(UDA_PLUGIN_INTERFACE* plugin_interface) { - setReturnDataIntScalar(plugin_interface, 10, nullptr); + udaPluginReturnDataIntScalar(plugin_interface, 10, nullptr); return 0; } @@ -1966,7 +1966,7 @@ int TestPlugin::array1dtest(UDA_PLUGIN_INTERFACE* plugin_interface) } size_t shape[1] = {N}; - setReturnDataDoubleArray(plugin_interface, data.get(), 1, shape, nullptr); + udaPluginReturnDataDoubleArray(plugin_interface, data.get(), 1, shape, nullptr); return 0; } @@ -2029,7 +2029,7 @@ int TestPlugin::capnp_test(UDA_PLUGIN_INTERFACE* plugin_interface) auto buffer = uda_capnp_serialise(tree); - setReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); + udaPluginReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); return 0; } @@ -2079,7 +2079,7 @@ int TestPlugin::nested_capnp_test(UDA_PLUGIN_INTERFACE* plugin_interface) auto buffer = uda_capnp_serialise(tree); - setReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); + udaPluginReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); return 0; } @@ -2112,7 +2112,7 @@ int TestPlugin::long_capnp_test(UDA_PLUGIN_INTERFACE* plugin_interface) auto buffer = uda_capnp_serialise(tree); - setReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); + udaPluginReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); return 0; } @@ -2136,7 +2136,7 @@ int TestPlugin::large_capnp_test(UDA_PLUGIN_INTERFACE* plugin_interface) auto buffer = uda_capnp_serialise(tree); - setReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); + udaPluginReturnData(plugin_interface, buffer.data, static_cast(buffer.size), UDA_TYPE_CAPNP, 0, nullptr, nullptr); return 0; } diff --git a/source/plugins/udaPlugin.cpp b/source/plugins/udaPlugin.cpp index beeaedca..01efe08c 100644 --- a/source/plugins/udaPlugin.cpp +++ b/source/plugins/udaPlugin.cpp @@ -7,6 +7,7 @@ #include "server/serverPlugin.h" #include "server/serverSubsetData.h" #include "clientserver/initStructs.h" +#include "clientserver/type_convertor.hpp" #include "logging/logging.h" #include "clientserver/errorLog.h" #include "clientserver/makeRequestBlock.h" @@ -63,125 +64,30 @@ int initPlugin(const UDA_PLUGIN_INTERFACE* plugin_interface) return 0; } -int setReturnDataFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, float* values, size_t rank, const size_t* shape, - const char* description) +template +int setReturnDataScalar(UDA_PLUGIN_INTERFACE* plugin_interface, T value, const char* description) { DATA_BLOCK* data_block = plugin_interface->data_block; initDataBlock(data_block); - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = (int)rank; - data_block->dims = (DIMS*)malloc(rank * sizeof(DIMS)); - - size_t len = 1; - - for (size_t i = 0; i < rank; ++i) { - initDimBlock(&data_block->dims[i]); - - data_block->dims[i].data_type = UDA_TYPE_UNSIGNED_INT; - data_block->dims[i].dim_n = (int)shape[i]; - data_block->dims[i].compressed = 1; - data_block->dims[i].dim0 = 0.0; - data_block->dims[i].diff = 1.0; - data_block->dims[i].method = 0; - - len *= shape[i]; - } - - auto data = (float*)malloc(len * sizeof(float)); - memcpy(data, values, len * sizeof(float)); - - data_block->data_type = UDA_TYPE_FLOAT; - data_block->data = (char*)data; - data_block->data_n = (int)len; - - return 0; -} - -int setReturnDataDoubleArray(UDA_PLUGIN_INTERFACE* plugin_interface, double* values, size_t rank, const size_t* shape, - const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = (int)rank; - data_block->dims = (DIMS*)malloc(rank * sizeof(DIMS)); - - size_t len = 1; - - for (size_t i = 0; i < rank; ++i) { - initDimBlock(&data_block->dims[i]); - - data_block->dims[i].data_type = UDA_TYPE_UNSIGNED_INT; - data_block->dims[i].dim_n = (int)shape[i]; - data_block->dims[i].compressed = 1; - data_block->dims[i].dim0 = 0.0; - data_block->dims[i].diff = 1.0; - data_block->dims[i].method = 0; - - len *= shape[i]; - } - - auto data = (double*)malloc(len * sizeof(double)); - memcpy(data, values, len * sizeof(double)); - - data_block->data_type = UDA_TYPE_DOUBLE; - data_block->data = (char*)data; - data_block->data_n = (int)len; - - return 0; -} - -int setReturnDataCharArray(UDA_PLUGIN_INTERFACE* plugin_interface, const char* values, size_t rank, int *shape, - const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); + auto data = (T*)malloc(sizeof(T)); + data[0] = value; if (description != nullptr) { strncpy(data_block->data_desc, description, STRING_LENGTH); data_block->data_desc[STRING_LENGTH - 1] = '\0'; } - data_block->rank = (int)rank; - data_block->dims = (DIMS*)malloc(rank * sizeof(DIMS)); - - size_t len = 1; - - for (size_t i = 0; i < rank; ++i) { - initDimBlock(&data_block->dims[i]); - - data_block->dims[i].data_type = UDA_TYPE_UNSIGNED_INT; - data_block->dims[i].dim_n = (int)shape[i]; - data_block->dims[i].compressed = 1; - data_block->dims[i].dim0 = 0.0; - data_block->dims[i].diff = 1.0; - data_block->dims[i].method = 0; - - len *= shape[i]; - } - - int* data = (int*)malloc(len * sizeof(int)); - memcpy(data, values, len * sizeof(int)); - - data_block->data_type = UDA_TYPE_CHAR; + data_block->rank = 0; + data_block->data_type = TypeConvertor::type; data_block->data = (char*)data; - data_block->data_n = (int)len; + data_block->data_n = 1; return 0; } -int setReturnDataIntArray(UDA_PLUGIN_INTERFACE* plugin_interface, int* values, size_t rank, const size_t* shape, - const char* description) +template +int setReturnDataArray(UDA_PLUGIN_INTERFACE* plugin_interface, const T* values, size_t rank, const size_t* shape, const char* description) { DATA_BLOCK* data_block = plugin_interface->data_block; initDataBlock(data_block); @@ -209,122 +115,40 @@ int setReturnDataIntArray(UDA_PLUGIN_INTERFACE* plugin_interface, int* values, s len *= shape[i]; } - int* data = (int*)malloc(len * sizeof(int)); - memcpy(data, values, len * sizeof(int)); + auto data = (T*)malloc(len * sizeof(T)); + memcpy(data, values, len * sizeof(T)); - data_block->data_type = UDA_TYPE_INT; + data_block->data_type = TypeConvertor::type; data_block->data = (char*)data; data_block->data_n = (int)len; return 0; } -int setReturnDataDoubleScalar(UDA_PLUGIN_INTERFACE* plugin_interface, double value, const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - auto data = (double*)malloc(sizeof(double)); - data[0] = value; - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = 0; - data_block->data_type = UDA_TYPE_DOUBLE; - data_block->data = (char*)data; - data_block->data_n = 1; - - return 0; -} - -int setReturnDataFloatScalar(UDA_PLUGIN_INTERFACE* plugin_interface, float value, const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - auto data = (float*)malloc(sizeof(float)); - data[0] = value; - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = 0; - data_block->data_type = UDA_TYPE_FLOAT; - data_block->data = (char*)data; - data_block->data_n = 1; - - return 0; -} - -int setReturnDataIntScalar(UDA_PLUGIN_INTERFACE* plugin_interface, int value, const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - int* data = (int*)malloc(sizeof(int)); - data[0] = value; - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = 0; - data_block->data_type = UDA_TYPE_INT; - data_block->data = (char*)data; - data_block->data_n = 1; - - return 0; -} - -int setReturnDataLongScalar(UDA_PLUGIN_INTERFACE* plugin_interface, long value, const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - long* data = (long*)malloc(sizeof(long)); - data[0] = value; - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } - - data_block->rank = 0; - data_block->data_type = UDA_TYPE_LONG; - data_block->data = (char*)data; - data_block->data_n = 1; - - return 0; +#define UDA_IMPL_SET_RETURN_FUNCS(NAME, TYPE) \ +int udaPluginReturnData##NAME##Scalar(UDA_PLUGIN_INTERFACE* plugin_interface, const TYPE value, const char* description) \ +{ \ + return setReturnDataScalar(plugin_interface, value, description); \ +} \ +int udaPluginReturnData##NAME##Array(UDA_PLUGIN_INTERFACE* plugin_interface, const TYPE* values, size_t rank, const size_t* shape, const char* description) \ +{ \ + return setReturnDataArray(plugin_interface, values, rank, shape, description); \ } -int setReturnDataShortScalar(UDA_PLUGIN_INTERFACE* plugin_interface, short value, const char* description) -{ - DATA_BLOCK* data_block = plugin_interface->data_block; - initDataBlock(data_block); - - auto data = (short*)malloc(sizeof(short)); - data[0] = value; - - if (description != nullptr) { - strncpy(data_block->data_desc, description, STRING_LENGTH); - data_block->data_desc[STRING_LENGTH - 1] = '\0'; - } +UDA_IMPL_SET_RETURN_FUNCS(Float, float) +UDA_IMPL_SET_RETURN_FUNCS(Double, double) +UDA_IMPL_SET_RETURN_FUNCS(Char, char) +UDA_IMPL_SET_RETURN_FUNCS(UChar, unsigned char) +UDA_IMPL_SET_RETURN_FUNCS(Short, short) +UDA_IMPL_SET_RETURN_FUNCS(UShort, unsigned short) +UDA_IMPL_SET_RETURN_FUNCS(Int, int) +UDA_IMPL_SET_RETURN_FUNCS(UInt, unsigned int) +UDA_IMPL_SET_RETURN_FUNCS(Long, long) +UDA_IMPL_SET_RETURN_FUNCS(ULong, unsigned long) - data_block->rank = 0; - data_block->data_type = UDA_TYPE_SHORT; - data_block->data = (char*)data; - data_block->data_n = 1; - - return 0; -} +#undef UDA_IMPL_SET_RETURN_FUNCS -int setReturnDataString(UDA_PLUGIN_INTERFACE* plugin_interface, const char* value, const char* description) +int udaPluginReturnDataStringScalar(UDA_PLUGIN_INTERFACE* plugin_interface, const char* value, const char* description) { DATA_BLOCK* data_block = plugin_interface->data_block; initDataBlock(data_block); @@ -356,7 +180,7 @@ int setReturnDataString(UDA_PLUGIN_INTERFACE* plugin_interface, const char* valu return 0; } -int setReturnData(UDA_PLUGIN_INTERFACE* plugin_interface, void* value, size_t size, UDA_TYPE type, int rank, const int* shape, +int udaPluginReturnData(UDA_PLUGIN_INTERFACE* plugin_interface, void* value, size_t size, UDA_TYPE type, int rank, const int* shape, const char* description) { DATA_BLOCK* data_block = plugin_interface->data_block; @@ -645,7 +469,7 @@ int callPlugin2(UDA_PLUGIN_INTERFACE* plugin_interface, const char* request, con return err; } -int setReturnCompoundData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description) { +int udaPluginReturnCompoundData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description) { DATA_BLOCK* data_block = plugin_interface->data_block; initDataBlock(data_block); @@ -670,7 +494,7 @@ int setReturnCompoundData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, co return 0; } -int setReturnCompoundArrayData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description, int rank, int* shape) { +int udaPluginReturnCompoundArrayData(UDA_PLUGIN_INTERFACE *plugin_interface, char* data, const char *user_type, const char* description, int rank, int* shape) { DATA_BLOCK* data_block = plugin_interface->data_block; initDataBlock(data_block); @@ -891,21 +715,21 @@ const char* udaPluginFunction(UDA_PLUGIN_INTERFACE* plugin_interface) return plugin_interface->request_data->function; } -int setReturnDataLabel(UDA_PLUGIN_INTERFACE* plugin_interface, const char* label) +int udaPluginReturnDataLabel(UDA_PLUGIN_INTERFACE* plugin_interface, const char* label) { DATA_BLOCK* data_block = plugin_interface->data_block; strcpy(data_block->data_label, label); return 0; } -int setReturnDataUnits(UDA_PLUGIN_INTERFACE* plugin_interface, const char* units) +int udaPluginReturnDataUnits(UDA_PLUGIN_INTERFACE* plugin_interface, const char* units) { DATA_BLOCK* data_block = plugin_interface->data_block; strcpy(data_block->data_units, units); return 0; } -int setReturnErrorAsymmetry(UDA_PLUGIN_INTERFACE* plugin_interface, bool flag) +int udaPluginReturnErrorAsymmetry(UDA_PLUGIN_INTERFACE* plugin_interface, bool flag) { DATA_BLOCK* data_block = plugin_interface->data_block; data_block->errasymmetry = flag; @@ -923,28 +747,28 @@ char* memdup(const void* mem, size_t size) return out; } -int setReturnErrorLow(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size) +int udaPluginReturnErrorLow(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size) { DATA_BLOCK* data_block = plugin_interface->data_block; data_block->errlo = memdup(data, size); return 0; } -int setReturnErrorHigh(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size) +int udaPluginReturnErrorHigh(UDA_PLUGIN_INTERFACE* plugin_interface, float* data, size_t size) { DATA_BLOCK* data_block = plugin_interface->data_block; data_block->errhi = memdup(data, size); return 0; } -int setReturnDataOrder(UDA_PLUGIN_INTERFACE* plugin_interface, int order) +int udaPluginReturnDataOrder(UDA_PLUGIN_INTERFACE* plugin_interface, int order) { DATA_BLOCK* data_block = plugin_interface->data_block; data_block->order = order; return 0; } -int setReturnDimensionFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, int dim_n, float* data, size_t size, const char* label, const char* units) +int udaPluginReturnDimensionFloatArray(UDA_PLUGIN_INTERFACE* plugin_interface, int dim_n, float* data, size_t size, const char* label, const char* units) { DATA_BLOCK* data_block = plugin_interface->data_block; diff --git a/source/plugins/uda_plugin_base.cpp b/source/plugins/uda_plugin_base.cpp index c1ba20ca..ea56d8ae 100644 --- a/source/plugins/uda_plugin_base.cpp +++ b/source/plugins/uda_plugin_base.cpp @@ -72,13 +72,13 @@ int UDAPluginBase::help(UDA_PLUGIN_INTERFACE* plugin_interface) if (help_file_.empty()) { const char* help = "No help available"; - return setReturnDataString(plugin_interface, help, desc.c_str()); + return udaPluginReturnDataStringScalar(plugin_interface, help, desc.c_str()); } auto path = boost::filesystem::path(help_file_); if (!boost::filesystem::exists(path)) { auto help = fmt::format("help file {} does not exist", path.string()); - return setReturnDataString(plugin_interface, help.c_str(), desc.c_str()); + return udaPluginReturnDataStringScalar(plugin_interface, help.c_str(), desc.c_str()); } std::ifstream help_file{path.string()}; @@ -86,27 +86,27 @@ int UDAPluginBase::help(UDA_PLUGIN_INTERFACE* plugin_interface) buffer << help_file.rdbuf(); auto help = buffer.str(); - return setReturnDataString(plugin_interface, help.c_str(), desc.c_str()); + return udaPluginReturnDataStringScalar(plugin_interface, help.c_str(), desc.c_str()); } int UDAPluginBase::version(UDA_PLUGIN_INTERFACE* plugin_interface) { - return setReturnDataIntScalar(plugin_interface, version_, "Plugin version number"); + return udaPluginReturnDataIntScalar(plugin_interface, version_, "Plugin version number"); } int UDAPluginBase::build_date(UDA_PLUGIN_INTERFACE* plugin_interface) { - return setReturnDataString(plugin_interface, __DATE__, "Plugin build date"); + return udaPluginReturnDataStringScalar(plugin_interface, __DATE__, "Plugin build date"); } int UDAPluginBase::default_method(UDA_PLUGIN_INTERFACE* plugin_interface) { - return setReturnDataString(plugin_interface, default_method_.c_str(), "Plugin default method"); + return udaPluginReturnDataStringScalar(plugin_interface, default_method_.c_str(), "Plugin default method"); } int UDAPluginBase::max_interface_version(UDA_PLUGIN_INTERFACE* plugin_interface) { - return setReturnDataIntScalar(plugin_interface, interface_version_, "Maximum Interface Version"); + return udaPluginReturnDataIntScalar(plugin_interface, interface_version_, "Maximum Interface Version"); } void UDAPluginBase::register_method(const std::string& name, plugin_member_type plugin_method) diff --git a/source/plugins/viewport/viewport.cpp b/source/plugins/viewport/viewport.cpp index 8d73e7d5..6019fa72 100644 --- a/source/plugins/viewport/viewport.cpp +++ b/source/plugins/viewport/viewport.cpp @@ -562,18 +562,18 @@ int ViewportPlugin::get(UDA_PLUGIN_INTERFACE* plugin_interface) // Return viewport data size_t shape[] = { (size_t)pixelWidth2 }; - setReturnDataFloatArray(plugin_interface, data.data(), 1, shape, getIdamDataDesc(handle)); - setReturnDataLabel(plugin_interface, getIdamDataLabel(handle)); - setReturnDataUnits(plugin_interface, getIdamDataUnits(handle)); + udaPluginReturnDataFloatArray(plugin_interface, data.data(), 1, shape, getIdamDataDesc(handle)); + udaPluginReturnDataLabel(plugin_interface, getIdamDataLabel(handle)); + udaPluginReturnDataUnits(plugin_interface, getIdamDataUnits(handle)); - setReturnDimensionFloatArray(plugin_interface, 0, horizontal_pixel_values.data(), pixelWidth2, getIdamDimLabel(handle, 0), getIdamDimUnits(handle, 0)); + udaPluginReturnDimensionFloatArray(plugin_interface, 0, horizontal_pixel_values.data(), pixelWidth2, getIdamDimLabel(handle, 0), getIdamDimUnits(handle, 0)); if (!range) { - setReturnErrorAsymmetry(plugin_interface, true); - setReturnErrorLow(plugin_interface, err_lo.data(), err_lo.size()); + udaPluginReturnErrorAsymmetry(plugin_interface, true); + udaPluginReturnErrorLow(plugin_interface, err_lo.data(), err_lo.size()); } - setReturnErrorHigh(plugin_interface, err_hi.data(), err_hi.size()); - setReturnDataOrder(plugin_interface, order); + udaPluginReturnErrorHigh(plugin_interface, err_hi.data(), err_hi.size()); + udaPluginReturnDataOrder(plugin_interface, order); } else { error(plugin_interface, "A viewport for rank > 1 data has not been implemented!"); }