diff --git a/datahandler.js b/datahandler.js index 9c86162..2fd553c 100644 --- a/datahandler.js +++ b/datahandler.js @@ -4,9 +4,20 @@ const https = require('https'); const koffi = require('koffi'); const path = require('path'); const os = require('os'); -const win32 = (os.platform() == "win32"); -const unicode_type = (win32 ? 'int16_t' : 'int32_t'); -const lib = koffi.load(path.join(__dirname, "librdsparser." + (win32 ? "dll" : "so"))); +const platform = os.platform(); +const cpuArchitecture = os.arch(); +let unicode_type; +let shared_Library; + +if (platform === 'win32') { + unicode_type = 'int16_t'; + shared_Library=path.join(__dirname, "libraries", "librdsparser.dll"); +} else if (platform === 'linux') { + unicode_type = 'int32_t'; + shared_Library=path.join(__dirname, "libraries", "librdsparser_" + cpuArchitecture + ".so"); +} + +const lib = koffi.load(shared_Library); const { fetchTx } = require('./tx_search.js'); koffi.proto('void callback_pi(void *rds, void *user_data)'); diff --git a/librdsparser.dll b/libraries/librdsparser.dll similarity index 100% rename from librdsparser.dll rename to libraries/librdsparser.dll diff --git a/libraries/librdsparser_arm.so b/libraries/librdsparser_arm.so new file mode 100644 index 0000000..8ac7bff Binary files /dev/null and b/libraries/librdsparser_arm.so differ diff --git a/libraries/librdsparser_arm64.so b/libraries/librdsparser_arm64.so new file mode 100644 index 0000000..3a948df Binary files /dev/null and b/libraries/librdsparser_arm64.so differ diff --git a/librdsparser.so b/libraries/librdsparser_x64.so similarity index 100% rename from librdsparser.so rename to libraries/librdsparser_x64.so