time_t CreatedTime(void);
time_t Time(void);
int Source(void);
+ media_info_h MediaInfo(void);
bool SetLocationTag(const char *location_tag);
bool SetCreatedTime(time_t created_time);
bool SetSource(int source);
+ bool SetMediaInfo(media_info_h media_h);
bool Duplicate(CNameInfo *obj);
+
+ bool UpdateDb(void);
};
#endif
if (!m_HandleEachImageInfo(media_h, minfo))
goto error;
- }
- else if (type == MEDIA_CONTENT_TYPE_VIDEO) {
+ } else if (type == MEDIA_CONTENT_TYPE_VIDEO) {
minfo = new CVideoInfo;
if (!minfo) {
_ERR("MediaInfo Create Failed");
}
minfo->SetSource(val);
+ minfo->SetMediaInfo(media_h);
+
m->folder_medialist = eina_list_append(m->folder_medialist, minfo);
return true;
#include "util.h"
struct SMediaInfo {
+ media_info_h media_h;
+
char *location_tag;
time_t created_time;
int source;
CExtNameInfo::Destroy();
+ media_info_destroy(m->media_h);
+
delete[] m->location_tag;
delete m;
return source;
}
+media_info_h CMediaInfo::MediaInfo(void)
+{
+ if (!m)
+ return NULL;
+
+ return m->media_h;
+}
+
bool CMediaInfo::SetLocationTag(const char *location_tag)
{
if (!m)
return true;
}
+bool CMediaInfo::SetMediaInfo(media_info_h media_h)
+{
+ if (!m)
+ return false;
+
+ if (media_info_clone(&(m->media_h), media_h)
+ != MEDIA_CONTENT_ERROR_NONE) {
+ _ERR("Media info clone error");
+ return false;
+ }
+
+ return true;
+}
+
bool CMediaInfo::Duplicate(CNameInfo *obj)
{
if (!m)
return false;
if (!SetSource(dst->Source()))
return false;
+ if (!SetMediaInfo(dst->MediaInfo()))
+ return false;
+
+ return true;
+}
+
+bool CMediaInfo::UpdateDb(void)
+{
+ char *media_id;
+
+ media_info_get_media_id(m->media_h, &media_id);
+
+ if (media_info_refresh_metadata_to_db(media_id)
+ != MEDIA_CONTENT_ERROR_NONE)
+ return false;
return true;
}
evas_object_image_save(internalimage, file_path,
NULL, "quality=100");
+ if (!minfo->UpdateDb()) {
+ _ERR("Update db failed");
+ return;
+ }
+
m_DrawContentArea(minfo);
m_DrawTopArea(minfo);