enum hal_group group_;
enum hal_license license_;
const char *module_name_;
+ const char *backend_module_name_;
const char *library_name_;
const char *library_name_64bit_;
const char *symbol_name_;
enum hal_group group,
enum hal_license license,
const char *module_name,
+ const char *backend_module_name,
const char *library_name,
const char *library_name_64bit,
const char *symbol_name,
vector<struct hal_abi_version_match> versions) :
module_(module), group_(group), license_(license),
- module_name_(module_name), library_name_(library_name),
+ module_name_(module_name),
+ backend_module_name_(backend_module_name),
+ library_name_(library_name),
library_name_64bit_(library_name_64bit), symbol_name_(symbol_name),
versions_(versions) {}
};
HAL_GROUP_GRAPHICS,
HAL_LICENSE_MIT,
"HAL_MODULE_TBM",
+ "tbm",
"/hal/lib/libhal-backend-tbm.so",
"/hal/lib64/libhal-backend-tbm.so",
"hal_backend_tbm_data",
HAL_GROUP_GRAPHICS,
HAL_LICENSE_MIT,
"HAL_MODULE_TDM",
+ "tdm",
"/hal/lib/libhal-backend-tdm.so",
"/hal/lib64/libhal-backend-tdm.so",
"hal_backend_tdm_data",
"",
"",
"",
+ "",
{}
),
"",
"",
"",
+ "",
{}
),
HAL_GROUP_MULTIMEDIA,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_AUDIO",
+ "audio",
"/hal/lib/libhal-backend-audio.so",
"/hal/lib64/libhal-backend-audio.so",
"hal_backend_audio_data",
HAL_GROUP_MULTIMEDIA,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_CAMERA",
+ "camera",
"/hal/lib/libhal-backend-camera.so",
"/hal/lib64/libhal-backend-camera.so",
"hal_backend_camera_data",
HAL_GROUP_MULTIMEDIA,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_RADIO",
+ "radio",
"/hal/lib/libhal-backend-radio.so",
"/hal/lib64/libhal-backend-radio.so",
"hal_backend_radio_data",
"",
"",
"",
+ "",
{}
),
"",
"",
"",
+ "",
{}
),
"",
"",
"",
+ "",
{}
),
HAL_GROUP_CONNECTIVITY,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_BLUETOOTH",
+ "bluetooth",
"/hal/lib/libhal-backend-bluetooth.so",
"/hal/lib64/libhal-backend-bluetooth.so",
"hal_backend_bluetooth_data",
HAL_GROUP_CONNECTIVITY,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_WIFI",
+ "wifi",
"/hal/lib/libhal-backend-wifi.so",
"/hal/lib64/libhal-backend-wifi.so",
"hal_backend_wifi_data",
"",
"",
"",
+ "",
{}
),
HAL_GROUP_CONNECTIVITY,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_NFC",
+ "nfc",
"/hal/lib/libhal-backend-nfc.so",
"/hal/lib64/libhal-backend-nfc.so",
"hal_backend_nfc_data",
HAL_GROUP_CONNECTIVITY,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_ZIGBEE",
+ "zigbee",
"/hal/lib/libhal-backend-zigbee.so",
"/hal/lib64/libhal-backend-zigbee.so",
"hal_backend_zigbee_data",
HAL_GROUP_CONNECTIVITY,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_UWB",
+ "uwb",
"/hal/lib/libhal-backend-uwb.so",
"/hal/lib64/libhal-backend-uwb.so",
"hal_backend_uwb_data",
"",
"",
"",
+ "",
{}
),
"",
"",
"",
+ "",
{}
),
HAL_GROUP_LOCATION,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_LOCATION",
+ "location",
"/hal/lib/libhal-backend-location.so",
"/hal/lib64/libhal-backend-location.so",
"hal_backend_location_data",
"",
"",
"",
+ "",
{}
),
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_POWER",
+ "power",
"/hal/lib/libhal-backend-power.so",
"/hal/lib64/libhal-backend-power.so",
"hal_backend_power_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_SENSOR",
+ "sensor",
"/hal/lib/libhal-backend-sensor.so",
"/hal/lib64/libhal-backend-sensor.so",
"hal_backend_sensor_data",
"",
"",
"",
+ "",
{}),
HalInfo(HAL_MODULE_DEVICE_BATTERY,
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_BATTERY",
+ "device-battery",
"/hal/lib/libhal-backend-device-battery.so",
"/hal/lib64/libhal-backend-device-battery.so",
"hal_backend_device_battery_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_BEZEL",
+ "device-bezel",
"/hal/lib/libhal-backend-device-bezel.so",
"/hal/lib64/libhal-backend-device-bezel.so",
"hal_backend_device_bezel_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_DISPLAY",
+ "device-display",
"/hal/lib/libhal-backend-device-display.so",
"/hal/lib64/libhal-backend-device-display.so",
"hal_backend_device_display_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_IR",
+ "device-ir",
"/hal/lib/libhal-backend-device-ir.so",
"/hal/lib64/libhal-backend-device-ir.so",
"hal_backend_device_ir_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_TOUCHSCREEN",
+ "device-touchscreen",
"/hal/lib/libhal-backend-device-touchscreen.so",
"/hal/lib64/libhal-backend-device-touchscreen.so",
"hal_backend_device_touchscreen_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_LED",
+ "device-led",
"/hal/lib/libhal-backend-device-led.so",
"/hal/lib64/libhal-backend-device-led.so",
"hal_backend_device_led_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_BOARD",
+ "device-board",
"/hal/lib/libhal-backend-device-board.so",
"/hal/lib64/libhal-backend-device-board.so",
"hal_backend_device_board_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_EXTERNAL_CONNECTION",
+ "device-external-connection",
"/hal/lib/libhal-backend-device-external-connection.so",
"/hal/lib64/libhal-backend-device-external-connection.so",
"hal_backend_device_external_connection_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_THERMAL",
+ "device-thermal",
"/hal/lib/libhal-backend-device-thermal.so",
"/hal/lib64/libhal-backend-device-thermal.so",
"hal_backend_device_thermal_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_USB_GADGET",
+ "device-usb-gadget",
"/hal/lib/libhal-backend-device-usb-gadget.so",
"/hal/lib64/libhal-backend-device-usb-gadget.so",
"hal_backend_device_usb_gadget_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_HAPTIC",
+ "device-haptic",
"/hal/lib/libhal-backend-device-haptic.so",
"/hal/lib64/libhal-backend-device-haptic.so",
"hal_backend_device_haptic_data",
HAL_GROUP_SYSTEM,
HAL_LICENSE_APACHE_2_0,
"HAL_MODULE_DEVICE_MEMORY",
+ "device-memory",
"/hal/lib/libhal-backend-device-memory.so",
"/hal/lib64/libhal-backend-device-memory.so",
"hal_backend_device_memory_data",
ret = hal_common_get_backend(HAL_MODULE_END, (void **)&backend_module_data);
EXPECT_NE(ret, TIZEN_ERROR_NONE);
}
+
+TEST_P(HalInfoMatchedTest, test_hal_common_get_backend_with_library_name_valid) {
+ auto info = GetParam();
+ char *library_name = g_strdup_printf("libhal-backend-%s-user-specific.so",
+ info.backend_module_name_);
+ struct _hal_backend_module_data {
+ void *data;
+ } *backend_module_data;
+
+ int ret = hal_common_get_backend_with_library_name(info.module_,
+ (void **)&backend_module_data,
+ library_name);
+ if (strlen(info.library_name_) == 0)
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+ else
+ EXPECT_EQ(ret, TIZEN_ERROR_NONE);
+
+ ret = hal_common_put_backend_with_library_name(info.module_,
+ backend_module_data,
+ library_name);
+ if (strlen(info.library_name_) == 0)
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+ else
+ EXPECT_EQ(ret, TIZEN_ERROR_NONE);
+
+ g_free(library_name);
+}
+
+TEST_P(HalInfoMatchedTest, test_hal_common_get_backend_with_library_name_invalid_library_name) {
+ auto info = GetParam();
+ char *library_name = g_strdup_printf("libhal-backend-unknown-module.so");
+ struct _hal_backend_module_data {
+ void *data;
+ } *backend_module_data;
+
+ int ret = hal_common_get_backend_with_library_name(info.module_,
+ (void **)&backend_module_data,
+ library_name);
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+
+ ret = hal_common_put_backend_with_library_name(info.module_,
+ (void **)&backend_module_data,
+ library_name);
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+
+ g_free(library_name);
+}
+
+TEST(HalInfoMatchedTest, test_hal_common_get_backend_with_library_name_invalid_module_id) {
+ char *library_name = g_strdup_printf("libhal-backend-unknown-module.so");
+ struct _hal_backend_module_data {
+ void *data;
+ } *backend_module_data;
+
+ int ret = hal_common_get_backend_with_library_name(HAL_MODULE_UNKNOWN,
+ (void **)&backend_module_data,
+ library_name);
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+
+ ret = hal_common_put_backend_with_library_name(HAL_MODULE_END,
+ (void **)&backend_module_data,
+ library_name);
+ EXPECT_NE(ret, TIZEN_ERROR_NONE);
+
+ g_free(library_name);
+}