/// Returns the absolute pathnames of all lyx local sockets in /// file system encoding. /// Parts stolen from lyx::support::DirList(). FileNameList lyxSockets(string const & dir, string const & pid) { FileNameList dirlist; FileName dirpath(dir + "/"); if (!dirpath.exists() || !dirpath.isDirectory()) { lyxerr << dir << " does not exist or is not a directory." << endl; return dirlist; } FileNameList dirs = dirpath.dirList(""); FileNameList::const_iterator it = dirs.begin(); FileNameList::const_iterator end = dirs.end(); for (; it != end; ++it) { if (!it->isDirectory()) continue; string const tmpdir = it->absFileName(); if (!contains(tmpdir, "lyx_tmpdir" + pid)) continue; FileName lyxsocket(tmpdir + "/lyxsocket"); if (lyxsocket.exists()) dirlist.push_back(lyxsocket); } return dirlist; }