aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicefs.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-10-09 03:32:46 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-10-09 03:32:46 +0000
commit32e4324b9b5e615a84885b9132505e4706ededfe (patch)
tree59a0679a05553423489f3dc7fb9d0f3bae7225b0 /lib/service/servicefs.cpp
parent699d41f217b6d8e91dce499964f8c1a69f5602ed (diff)
downloadenigma2-32e4324b9b5e615a84885b9132505e4706ededfe.tar.gz
enigma2-32e4324b9b5e615a84885b9132505e4706ededfe.zip
service: add sort of servicelist including all required layers
Diffstat (limited to 'lib/service/servicefs.cpp')
-rw-r--r--lib/service/servicefs.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/service/servicefs.cpp b/lib/service/servicefs.cpp
index 057498d7..c5846abd 100644
--- a/lib/service/servicefs.cpp
+++ b/lib/service/servicefs.cpp
@@ -163,4 +163,16 @@ RESULT eServiceFS::getNext(eServiceReference &ptr)
return 0;
}
+int eServiceFS::compareLessEqual(const eServiceReference &a, const eServiceReference &b)
+{
+ /* directories first */
+ if ((a.flags & ~b.flags) & eServiceReference::isDirectory)
+ return 1;
+ else if ((~a.flags & b.flags) & eServiceReference::isDirectory)
+ return 0;
+ /* sort by filename */
+ else
+ return a.path < b.path;
+}
+
eAutoInitPtr<eServiceFactoryFS> init_eServiceFactoryFS(eAutoInitNumbers::service+1, "eServiceFactoryFS");