[ACR-1643] Add to search ebooks with keywords
[platform/core/api/media-content.git] / src / media_book.c
index 1d15204..1154736 100644 (file)
@@ -112,3 +112,35 @@ int book_meta_get_publisher(book_meta_h book, char **publisher)
 
        return MEDIA_CONTENT_ERROR_NONE;
 }
+
+int book_meta_get_path_with_keyword(const char *keyword, char ***path_list, unsigned int *len)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       GList *book_list = NULL;
+       int i = 0;
+       int result_len = 0;
+
+       content_retip_if_fail(keyword);
+       content_retip_if_fail(path_list);
+       content_retip_if_fail(len);
+
+       ret = media_svc_get_book_by_keyword(_content_get_db_handle(), keyword, &book_list);
+       content_retv_if(ret != MS_MEDIA_ERR_NONE, _content_error_capi(ret));
+
+       result_len = g_list_length(book_list);
+       if (result_len == 0) {
+               content_info("There is no corresponding eBook");
+               return MEDIA_CONTENT_ERROR_NONE;
+       }
+
+       *path_list = g_new0(char *, result_len);
+
+       for (i = 0; i < result_len; i++)
+               (*path_list)[i] = g_strdup((const gchar *)g_list_nth_data(book_list, i));
+
+       g_list_free_full(book_list, g_free);
+
+       *len = result_len;
+
+       return MEDIA_CONTENT_ERROR_NONE;
+}