storage_adaptor_file_info_h _file_info = NULL;
storage_adaptor_file_info_h dummy_file_info = storage_adaptor_create_file_info();
- for (gsize i = 0; i < file_info_len; i++) {
- _file_info = file_info_list[i];
- if (NULL == _file_info) {
- _file_info = dummy_file_info;
- }
-
- if (NULL == _file_info->media_meta) {
- _file_info->media_meta = dummy_file_info->media_meta;
- }
-
- if (NULL == _file_info->cloud_meta) {
- _file_info->cloud_meta = dummy_file_info->cloud_meta;
- }
-
- g_variant_builder_open(builder_file_info, G_VARIANT_TYPE(service_adaptor_file_info_s_type));
-
- /* file_info default */
- g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->plugin_uri));
- g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->object_id));
- g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->storage_path));
- g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->file_size);
- g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->created_time);
- g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->modified_time);
- g_variant_builder_add(builder_file_info, "i", (int32_t) _file_info->file_info_index);
- g_variant_builder_add(builder_file_info, "i", (int32_t) _file_info->content_type);
-
- /* media_meta */
-
- g_variant_builder_add_value(builder_file_info, g_variant_new(service_adaptor_content_meta_s_type,
- __safe_add_string(_file_info->media_meta->mime_type),
- __safe_add_string(_file_info->media_meta->title),
- __safe_add_string(_file_info->media_meta->album),
- __safe_add_string(_file_info->media_meta->artist),
- __safe_add_string(_file_info->media_meta->genere),
- __safe_add_string(_file_info->media_meta->recorded_date),
- (int32_t) _file_info->media_meta->width,
- (int32_t) _file_info->media_meta->height,
- (int32_t) _file_info->media_meta->duration,
- __safe_add_string(_file_info->media_meta->copyright),
- __safe_add_string(_file_info->media_meta->track_num),
- __safe_add_string(_file_info->media_meta->description),
- __safe_add_string(_file_info->media_meta->composer),
- __safe_add_string(_file_info->media_meta->year),
- (int32_t) _file_info->media_meta->bitrate,
- (int32_t) _file_info->media_meta->samplerate,
- (int32_t) _file_info->media_meta->channel,
- __safe_add_string(_file_info->media_meta->extra_media_meta)));
-
- /* cloud_meta */
- g_variant_builder_add_value(builder_file_info, g_variant_new(service_adaptor_cloud_meta_s_type,
- __safe_add_string(_file_info->cloud_meta->service_name),
- (uint64_t) _file_info->cloud_meta->usage_byte,
- (uint64_t) _file_info->cloud_meta->quota_byte));
-
- g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->extra_file_info));
-
- g_variant_builder_close(builder_file_info);
+ if (NULL != dummy_file_info) {
+ for (gsize i = 0; i < file_info_len; i++) {
+ _file_info = file_info_list[i];
+ if (NULL == _file_info) {
+ _file_info = dummy_file_info;
+ }
+
+ if (NULL == _file_info->media_meta) {
+ _file_info->media_meta = dummy_file_info->media_meta;
+ }
+
+ if (NULL == _file_info->cloud_meta) {
+ _file_info->cloud_meta = dummy_file_info->cloud_meta;
+ }
+
+ g_variant_builder_open(builder_file_info, G_VARIANT_TYPE(service_adaptor_file_info_s_type));
+
+ /* file_info default */
+ g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->plugin_uri));
+ g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->object_id));
+ g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->storage_path));
+ g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->file_size);
+ g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->created_time);
+ g_variant_builder_add(builder_file_info, "t", (uint64_t) _file_info->modified_time);
+ g_variant_builder_add(builder_file_info, "i", (int32_t) _file_info->file_info_index);
+ g_variant_builder_add(builder_file_info, "i", (int32_t) _file_info->content_type);
+
+ /* media_meta */
+
+ g_variant_builder_add_value(builder_file_info, g_variant_new(service_adaptor_content_meta_s_type,
+ __safe_add_string(_file_info->media_meta->mime_type),
+ __safe_add_string(_file_info->media_meta->title),
+ __safe_add_string(_file_info->media_meta->album),
+ __safe_add_string(_file_info->media_meta->artist),
+ __safe_add_string(_file_info->media_meta->genere),
+ __safe_add_string(_file_info->media_meta->recorded_date),
+ (int32_t) _file_info->media_meta->width,
+ (int32_t) _file_info->media_meta->height,
+ (int32_t) _file_info->media_meta->duration,
+ __safe_add_string(_file_info->media_meta->copyright),
+ __safe_add_string(_file_info->media_meta->track_num),
+ __safe_add_string(_file_info->media_meta->description),
+ __safe_add_string(_file_info->media_meta->composer),
+ __safe_add_string(_file_info->media_meta->year),
+ (int32_t) _file_info->media_meta->bitrate,
+ (int32_t) _file_info->media_meta->samplerate,
+ (int32_t) _file_info->media_meta->channel,
+ __safe_add_string(_file_info->media_meta->extra_media_meta)));
+
+ /* cloud_meta */
+ g_variant_builder_add_value(builder_file_info, g_variant_new(service_adaptor_cloud_meta_s_type,
+ __safe_add_string(_file_info->cloud_meta->service_name),
+ (uint64_t) _file_info->cloud_meta->usage_byte,
+ (uint64_t) _file_info->cloud_meta->quota_byte));
+
+ g_variant_builder_add(builder_file_info, "s", __safe_add_string(_file_info->extra_file_info));
+
+ g_variant_builder_close(builder_file_info);
+ }
+ storage_adaptor_destroy_file_info(&dummy_file_info);
}
- storage_adaptor_destroy_file_info(&dummy_file_info);
GVariant *response = g_variant_new(MAKE_RETURN_TYPE(service_adaptor_get_file_list_res_s_type),
builder_file_info, (uint32_t)file_info_len,