Fixed umlauts (utf8) in Windows. Changed some parameters to reference pointer. Added virtual folders to the lib.

Recompile needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3509 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-09-17 18:27:30 +00:00
parent dccfbf20b0
commit ed737e2c9f
21 changed files with 892 additions and 914 deletions

View file

@ -801,7 +801,7 @@ void FileIndexMonitor::updateShareFlags(const SharedDirInfo& dir)
cb->notifyListChange(NOTIFY_LIST_DIRLIST_LOCAL, 0);
}
/* interface */
void FileIndexMonitor::setSharedDirectories(std::list<SharedDirInfo> dirs)
void FileIndexMonitor::setSharedDirectories(std::list<SharedDirInfo>& dirs)
{
cb->notifyListPreChange(NOTIFY_LIST_DIRLIST_LOCAL, 0);
@ -822,8 +822,7 @@ void FileIndexMonitor::setSharedDirectories(std::list<SharedDirInfo> dirs)
/* check if dir exists before adding in */
std::string path = (*it).filename;
DIR *dir = opendir(path.c_str());
if (!dir)
if (!RsDirUtil::checkDirectory(path))
{
#ifdef FIM_DEBUG
std::cerr << "FileIndexMonitor::setSharedDirectories()";
@ -834,7 +833,6 @@ void FileIndexMonitor::setSharedDirectories(std::list<SharedDirInfo> dirs)
{
checkeddirs.push_back(*it);
}
closedir(dir);
}
{
@ -915,7 +913,10 @@ bool FileIndexMonitor::internal_setSharedDirectories()
{
/* get the head directory */
std::string root_dir = (*it).filename;
std::string top_dir = RsDirUtil::getTopDir(root_dir);
std::string top_dir = it->virtualname;
if (top_dir.empty()) {
top_dir = RsDirUtil::getTopDir(root_dir);
}
/* if unique -> add, else add modifier */
bool unique = false;
@ -931,6 +932,8 @@ bool FileIndexMonitor::internal_setSharedDirectories()
if (directoryMap.end()== (cit=directoryMap.find(tst_dir)))
{
unique = true;
/* store calculated name */
it->virtualname = tst_dir;
/* add it! */
directoryMap[tst_dir.c_str()] = *it;
#ifdef FIM_DEBUG

View file

@ -109,7 +109,7 @@ class FileIndexMonitor: public CacheSource, public RsThread
int RequestDirDetails(std::string uid, std::string path, DirDetails &details) const ;
// set/update shared directories
virtual void setSharedDirectories(std::list<SharedDirInfo> dirs);
virtual void setSharedDirectories(std::list<SharedDirInfo>& dirs);
void getSharedDirectories(std::list<SharedDirInfo>& dirs);
void updateShareFlags(const SharedDirInfo& info) ;

View file

@ -529,7 +529,7 @@ FileIndex::~FileIndex()
delete root;
}
int FileIndex::setRootDirectories(std::list<std::string> inlist, time_t updtime)
int FileIndex::setRootDirectories(std::list<std::string> &inlist, time_t updtime)
{
/* set update time to zero */
std::map<std::string, DirEntry *>::iterator it;

View file

@ -204,7 +204,7 @@ class FileIndex
~FileIndex();
/* control root entries */
int setRootDirectories(std::list<std::string> inlist, time_t utime);
int setRootDirectories(std::list<std::string> &inlist, time_t utime);
int getRootDirectories(std::list<std::string> &outlist);
/* update (index building) */