diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-10-09 03:32:46 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-10-09 03:32:46 +0000 |
| commit | 32e4324b9b5e615a84885b9132505e4706ededfe (patch) | |
| tree | 59a0679a05553423489f3dc7fb9d0f3bae7225b0 /lib/service/servicefs.cpp | |
| parent | 699d41f217b6d8e91dce499964f8c1a69f5602ed (diff) | |
| download | enigma2-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.cpp | 12 |
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"); |
