aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArno van Amersfoort <arnova77@gmail.com>2019-08-15 13:11:45 +0200
committerGitHub <noreply@github.com>2019-08-15 13:11:45 +0200
commit5aaa190407255c9222ea33cbfb7d3ff09e527497 (patch)
tree9a3002cb261cb3f071cf75e368e8631d25a7bca7
parent1e095cab1b9d42447d2dafdf6d0273319b3a4a8e (diff)
parentbb0c49298d85239bd5a7e9bda7a80fc7b003340d (diff)
Merge pull request #16431 from arnova/addon_vfs_size_date_fix
fixed: File times for vfs addons (fixes #15426)
-rw-r--r--xbmc/addons/VFSEntry.cpp2
-rw-r--r--xbmc/addons/interfaces/Addon/AddonCallbacksAddon.cpp1
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h15
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h2
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h4
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h8
6 files changed, 19 insertions, 13 deletions
diff --git a/xbmc/addons/VFSEntry.cpp b/xbmc/addons/VFSEntry.cpp
index b7f3b36107..9d7b25c543 100644
--- a/xbmc/addons/VFSEntry.cpp
+++ b/xbmc/addons/VFSEntry.cpp
@@ -345,7 +345,7 @@ static void VFSDirEntriesToCFileItemList(int num_entries,
item->SetLabel(entries[i].label);
item->SetPath(entries[i].path);
item->m_dwSize = entries[i].size;
- //item->m_dateTime = entries[i].mtime;
+ item->m_dateTime = entries[i].date_time;
item->m_bIsFolder = entries[i].folder;
if (entries[i].title)
item->m_strTitle = entries[i].title;
diff --git a/xbmc/addons/interfaces/Addon/AddonCallbacksAddon.cpp b/xbmc/addons/interfaces/Addon/AddonCallbacksAddon.cpp
index 3b73e99380..1a278f402a 100644
--- a/xbmc/addons/interfaces/Addon/AddonCallbacksAddon.cpp
+++ b/xbmc/addons/interfaces/Addon/AddonCallbacksAddon.cpp
@@ -612,6 +612,7 @@ static void CFileItemListToVFSDirEntries(VFSDirEntry* entries,
entries[i].path = strdup(items[i]->GetPath().c_str());
entries[i].size = items[i]->m_dwSize;
entries[i].folder = items[i]->m_bIsFolder;
+ items[i]->m_dateTime.GetAsTime(entries[i].date_time);
}
}
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h
index 3df6cec2d6..de73297d71 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/Filesystem.h
@@ -326,19 +326,22 @@ namespace vfs
/// @ingroup cpp_kodi_vfs_CDirEntry
/// @brief Constructor for VFS directory entry
///
- /// @param[in] label [opt] Name to use for entry
- /// @param[in] path [opt] Used path of the entry
- /// @param[in] folder [opt] If set entry used as folder
- /// @param[in] size [opt] If used as file, his size defined there
+ /// @param[in] label [opt] Name to use for entry
+ /// @param[in] path [opt] Used path of the entry
+ /// @param[in] folder [opt] If set entry used as folder
+ /// @param[in] size [opt] If used as file, his size defined there
+ /// @param[in] dateTime [opt] Date time of the entry
///
CDirEntry(const std::string& label = "",
const std::string& path = "",
bool folder = false,
- int64_t size = -1) :
+ int64_t size = -1,
+ time_t dateTime = 0):
m_label(label),
m_path(path),
m_folder(folder),
- m_size(size)
+ m_size(size),
+ m_dateTime(dateTime)
{
}
//----------------------------------------------------------------------------
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h
index 3bdc059db7..f38c64dbbe 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/addon-instance/VFS.h
@@ -519,6 +519,7 @@ namespace addon
entries[i].path = strdup(addonEntries[i].Path().c_str());
entries[i].folder = addonEntries[i].IsFolder();
entries[i].size = addonEntries[i].Size();
+ entries[i].date_time = addonEntries[i].DateTime();
entries[i].num_props = 0;
const std::map<std::string, std::string>& props = addonEntries[i].GetProperties();
@@ -582,6 +583,7 @@ namespace addon
entries[i].path = strdup(addonEntries[i].Path().c_str());
entries[i].folder = addonEntries[i].IsFolder();
entries[i].size = addonEntries[i].Size();
+ entries[i].date_time = addonEntries[i].DateTime();
entries[i].num_props = 0;
const std::map<std::string, std::string>& props = addonEntries[i].GetProperties();
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h
index 233f68200a..3ca9c5bfdd 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h
@@ -39,9 +39,9 @@ extern "C"
char* label; //!< item label
char* title; //!< item title
char* path; //!< item path
- int num_props; //!< Number of properties attached to item
+ unsigned int num_props; //!< Number of properties attached to item
VFSProperty* properties; //!< Properties
- //FILETIME mtime; //!< Mtime for file represented by item
+ time_t date_time; //!< file creation date & time
bool folder; //!< Item is a folder
uint64_t size; //!< Size of file represented by item
};
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h
index 02cc1ca499..4dc7a6958b 100644
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h
@@ -55,8 +55,8 @@
#define ADDON_GLOBAL_VERSION_AUDIOENGINE_XML_ID "kodi.binary.global.audioengine"
#define ADDON_GLOBAL_VERSION_AUDIOENGINE_DEPENDS "AudioEngine.h"
-#define ADDON_GLOBAL_VERSION_FILESYSTEM "1.0.2"
-#define ADDON_GLOBAL_VERSION_FILESYSTEM_MIN "1.0.2"
+#define ADDON_GLOBAL_VERSION_FILESYSTEM "1.0.3"
+#define ADDON_GLOBAL_VERSION_FILESYSTEM_MIN "1.0.3"
#define ADDON_GLOBAL_VERSION_FILESYSTEM_XML_ID "kodi.binary.global.filesystem"
#define ADDON_GLOBAL_VERSION_FILESYSTEM_DEPENDS "Filesystem.h"
@@ -111,8 +111,8 @@
#define ADDON_INSTANCE_VERSION_SCREENSAVER_XML_ID "kodi.binary.instance.screensaver"
#define ADDON_INSTANCE_VERSION_SCREENSAVER_DEPENDS "addon-instance/Screensaver.h"
-#define ADDON_INSTANCE_VERSION_VFS "2.0.0"
-#define ADDON_INSTANCE_VERSION_VFS_MIN "2.0.0"
+#define ADDON_INSTANCE_VERSION_VFS "2.1.0"
+#define ADDON_INSTANCE_VERSION_VFS_MIN "2.1.0"
#define ADDON_INSTANCE_VERSION_VFS_XML_ID "kodi.binary.instance.vfs"
#define ADDON_INSTANCE_VERSION_VFS_DEPENDS "addon-instance/VFS.h"