RESULT eStaticServiceFSInformation::getName(const eServiceReference &ref, std::string &name)
{
name = ref.path;
+ return 0;
}
// eServiceFactoryFS
{
}
-RESULT eServiceFS::getContent(std::list<eServiceReference> &list)
+RESULT eServiceFS::getContent(std::list<eServiceReference> &list, bool sorted)
{
DIR *d=opendir(path.c_str());
if (!d)
}
}
closedir(d);
+
+ if (sorted)
+ list.sort(iListableServiceCompare(this));
+
+ return 0;
+}
+
+RESULT eServiceFS::getContent(PyObject *list, bool sorted)
+{
+ if (!list || !PyList_Check(list))
+ return -1;
+
+ std::list<eServiceReference> tmplist;
+
+ getContent(tmplist, sorted);
+
+ if (sorted)
+ tmplist.sort(iListableServiceCompare(this));
+
+ for (std::list<eServiceReference>::iterator it(tmplist.begin());
+ it != tmplist.end(); ++it)
+ {
+ PyObject *refobj = New_eServiceReference(*it);
+ PyList_Append(list, refobj);
+ Py_DECREF(refobj);
+ }
+
return 0;
}
return a.path < b.path;
}
+RESULT eServiceFS::startEdit(ePtr<iMutableServiceList> &res)
+{
+ res = 0;
+ return -1;
+}
+
eAutoInitPtr<eServiceFactoryFS> init_eServiceFactoryFS(eAutoInitNumbers::service+1, "eServiceFactoryFS");