mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-02-26 01:31:30 -05:00
fixed compilation. Added missing functions, left blank
This commit is contained in:
parent
5b9fd74d85
commit
538a11fd14
@ -1,4 +1,5 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
|
#include "util/rsdir.h"
|
||||||
#include "directory_storage.h"
|
#include "directory_storage.h"
|
||||||
|
|
||||||
/******************************************************************************************************************/
|
/******************************************************************************************************************/
|
||||||
@ -321,6 +322,8 @@ private:
|
|||||||
|
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::map<RsFileHash,DirectoryStorage::EntryIndex> mHashes ; // used for fast search access
|
||||||
};
|
};
|
||||||
|
|
||||||
/******************************************************************************************************************/
|
/******************************************************************************************************************/
|
||||||
@ -442,10 +445,71 @@ void DirectoryStorage::print()
|
|||||||
void LocalDirectoryStorage::setSharedDirectoryList(const std::list<SharedDirInfo>& lst)
|
void LocalDirectoryStorage::setSharedDirectoryList(const std::list<SharedDirInfo>& lst)
|
||||||
{
|
{
|
||||||
RS_STACK_MUTEX(mDirStorageMtx) ;
|
RS_STACK_MUTEX(mDirStorageMtx) ;
|
||||||
mLocalDirs = lst ;
|
|
||||||
|
for(std::list<SharedDirInfo>::const_iterator it(lst.begin());it!= lst.end();++it)
|
||||||
|
mLocalDirs[(*it).filename] = *it ;
|
||||||
}
|
}
|
||||||
void LocalDirectoryStorage::getSharedDirectoryList(std::list<SharedDirInfo>& lst)
|
void LocalDirectoryStorage::getSharedDirectoryList(std::list<SharedDirInfo>& lst)
|
||||||
{
|
{
|
||||||
RS_STACK_MUTEX(mDirStorageMtx) ;
|
RS_STACK_MUTEX(mDirStorageMtx) ;
|
||||||
lst = mLocalDirs ;
|
|
||||||
|
lst.clear();
|
||||||
|
|
||||||
|
for(std::map<std::string,SharedDirInfo>::iterator it(mLocalDirs.begin());it!=mLocalDirs.end();++it)
|
||||||
|
lst.push_back(it->second) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LocalDirectoryStorage::updateShareFlags(const SharedDirInfo& info)
|
||||||
|
{
|
||||||
|
RS_STACK_MUTEX(mDirStorageMtx) ;
|
||||||
|
|
||||||
|
std::map<std::string,SharedDirInfo>::iterator it = mLocalDirs.find(info.virtualname) ;
|
||||||
|
|
||||||
|
if(it == mLocalDirs.end())
|
||||||
|
{
|
||||||
|
std::cerr << "(EE) LocalDirectoryStorage::updateShareFlags: directory \"" << info.filename << "\" not found" << std::endl;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
it->second = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LocalDirectoryStorage::convertSharedFilePath(const std::string& path, std::string& fullpath)
|
||||||
|
{
|
||||||
|
std::string shpath = RsDirUtil::removeRootDir(path);
|
||||||
|
std::string basedir = RsDirUtil::getRootDir(path);
|
||||||
|
std::string realroot ;
|
||||||
|
{
|
||||||
|
RS_STACK_MUTEX(mDirStorageMtx) ;
|
||||||
|
realroot = locked_findRealRootFromVirtualFilename(basedir);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (realroot.empty())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
/* construct full name */
|
||||||
|
fullpath = realroot + "/";
|
||||||
|
fullpath += shpath;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LocalDirectoryStorage::locked_findRealRootFromVirtualFilename(const std::string& virtual_rootdir) const
|
||||||
|
{
|
||||||
|
/**** MUST ALREADY BE LOCKED ****/
|
||||||
|
|
||||||
|
std::map<std::string, SharedDirInfo>::const_iterator cit = mLocalDirs.find(virtual_rootdir) ;
|
||||||
|
|
||||||
|
if (cit == mLocalDirs.end())
|
||||||
|
{
|
||||||
|
std::cerr << "FileIndexMonitor::locked_findRealRoot() Invalid RootDir: " << virtual_rootdir << std::endl;
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
return cit->second.filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LocalDirectoryStorage::getFileInfo(DirectoryStorage::EntryIndex i,FileInfo& info)
|
||||||
|
{
|
||||||
|
NOT_IMPLEMENTED() ;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,8 @@ static const uint8_t DIRECTORY_STORAGE_TAG_DIR_NAME = 0x04 ;
|
|||||||
static const uint8_t DIRECTORY_STORAGE_TAG_MODIF_TS = 0x05 ;
|
static const uint8_t DIRECTORY_STORAGE_TAG_MODIF_TS = 0x05 ;
|
||||||
static const uint8_t DIRECTORY_STORAGE_TAG_RECURS_MODIF_TS = 0x06 ;
|
static const uint8_t DIRECTORY_STORAGE_TAG_RECURS_MODIF_TS = 0x06 ;
|
||||||
|
|
||||||
|
#define NOT_IMPLEMENTED() { std::cerr << __PRETTY_FUNCTION__ << ": not yet implemented." << std::endl; }
|
||||||
|
|
||||||
class InternalFileHierarchyStorage ;
|
class InternalFileHierarchyStorage ;
|
||||||
|
|
||||||
class DirectoryStorage
|
class DirectoryStorage
|
||||||
@ -29,9 +31,9 @@ class DirectoryStorage
|
|||||||
|
|
||||||
void save() const ;
|
void save() const ;
|
||||||
|
|
||||||
virtual int searchTerms(const std::list<std::string>& terms, std::list<EntryIndex> &results) const { return 0;}
|
virtual int searchTerms(const std::list<std::string>& terms, std::list<EntryIndex> &results) const { NOT_IMPLEMENTED() ; return 0;}
|
||||||
virtual int searchHash(const RsFileHash& hash, std::list<EntryIndex> &results) const { return 0;}
|
virtual int searchHash(const RsFileHash& hash, std::list<EntryIndex> &results) const { NOT_IMPLEMENTED() ; return 0; }
|
||||||
virtual int searchBoolExp(Expression * exp, std::list<EntryIndex> &results) const { return 0; }
|
virtual int searchBoolExp(Expression * exp, std::list<EntryIndex> &results) const { NOT_IMPLEMENTED() ; return 0; }
|
||||||
|
|
||||||
void getFileDetails(EntryIndex i) ;
|
void getFileDetails(EntryIndex i) ;
|
||||||
|
|
||||||
@ -112,7 +114,6 @@ class DirectoryStorage
|
|||||||
|
|
||||||
InternalFileHierarchyStorage *mFileHierarchy ;
|
InternalFileHierarchyStorage *mFileHierarchy ;
|
||||||
std::string mFileName;
|
std::string mFileName;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
RsMutex mDirStorageMtx ;
|
RsMutex mDirStorageMtx ;
|
||||||
};
|
};
|
||||||
@ -120,7 +121,7 @@ class DirectoryStorage
|
|||||||
class RemoteDirectoryStorage: public DirectoryStorage
|
class RemoteDirectoryStorage: public DirectoryStorage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RemoteDirectoryStorage(const RsPeerId& pid) ;
|
RemoteDirectoryStorage(const std::string& fname) : DirectoryStorage(fname) {}
|
||||||
virtual ~RemoteDirectoryStorage() {}
|
virtual ~RemoteDirectoryStorage() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -133,10 +134,20 @@ public:
|
|||||||
void setSharedDirectoryList(const std::list<SharedDirInfo>& lst) ;
|
void setSharedDirectoryList(const std::list<SharedDirInfo>& lst) ;
|
||||||
void getSharedDirectoryList(std::list<SharedDirInfo>& lst) ;
|
void getSharedDirectoryList(std::list<SharedDirInfo>& lst) ;
|
||||||
|
|
||||||
private:
|
void updateShareFlags(const SharedDirInfo& info) ;
|
||||||
std::list<SharedDirInfo> mLocalDirs ;
|
bool convertSharedFilePath(const std::string& path_with_virtual_name,std::string& fullpath) ;
|
||||||
|
|
||||||
std::map<RsFileHash,EntryIndex> mHashes ; // used for fast search access
|
/*!
|
||||||
|
* \brief getFileInfo Converts an index info a full file info structure.
|
||||||
|
* \param i index in the directory structure
|
||||||
|
* \param info structure to be filled in
|
||||||
|
* \return false if the file does not exist, or is a directory,...
|
||||||
|
*/
|
||||||
|
bool getFileInfo(DirectoryStorage::EntryIndex i,FileInfo& info) ;
|
||||||
|
private:
|
||||||
|
std::string locked_findRealRootFromVirtualFilename(const std::string& virtual_rootdir) const;
|
||||||
|
|
||||||
|
std::map<std::string,SharedDirInfo> mLocalDirs ; // map is better for search. it->first=it->second.filename
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "file_sharing/directory_updater.h"
|
#include "file_sharing/directory_updater.h"
|
||||||
|
|
||||||
#include "retroshare/rsids.h"
|
#include "retroshare/rsids.h"
|
||||||
|
#include "retroshare/rspeers.h"
|
||||||
|
|
||||||
#define P3FILELISTS_DEBUG() std::cerr << "p3FileLists: "
|
#define P3FILELISTS_DEBUG() std::cerr << "p3FileLists: "
|
||||||
|
|
||||||
@ -13,8 +14,6 @@ static const uint32_t P3FILELISTS_UPDATE_FLAG_REMOTE_MAP_CHANGED = 0x0001 ;
|
|||||||
static const uint32_t P3FILELISTS_UPDATE_FLAG_LOCAL_DIRS_CHANGED = 0x0002 ;
|
static const uint32_t P3FILELISTS_UPDATE_FLAG_LOCAL_DIRS_CHANGED = 0x0002 ;
|
||||||
static const uint32_t P3FILELISTS_UPDATE_FLAG_REMOTE_DIRS_CHANGED = 0x0004 ;
|
static const uint32_t P3FILELISTS_UPDATE_FLAG_REMOTE_DIRS_CHANGED = 0x0004 ;
|
||||||
|
|
||||||
#define NOT_IMPLEMENTED() { std::cerr << __PRETTY_FUNCTION__ << ": not implemented!" << std::endl; }
|
|
||||||
|
|
||||||
p3FileDatabase::p3FileDatabase(p3ServiceControl *mpeers)
|
p3FileDatabase::p3FileDatabase(p3ServiceControl *mpeers)
|
||||||
: mServCtrl(mpeers), mFLSMtx("p3FileLists")
|
: mServCtrl(mpeers), mFLSMtx("p3FileLists")
|
||||||
{
|
{
|
||||||
@ -41,6 +40,10 @@ void p3FileDatabase::getSharedDirectories(std::list<SharedDirInfo>& shared_dirs)
|
|||||||
{
|
{
|
||||||
mLocalSharedDirs->getSharedDirectoryList(shared_dirs) ;
|
mLocalSharedDirs->getSharedDirectoryList(shared_dirs) ;
|
||||||
}
|
}
|
||||||
|
void p3FileDatabase::updateShareFlags(const SharedDirInfo& info)
|
||||||
|
{
|
||||||
|
mLocalSharedDirs->updateShareFlags(info) ;
|
||||||
|
}
|
||||||
|
|
||||||
p3FileDatabase::~p3FileDatabase()
|
p3FileDatabase::~p3FileDatabase()
|
||||||
{
|
{
|
||||||
@ -86,12 +89,26 @@ int p3FileDatabase::tick()
|
|||||||
// cleanup
|
// cleanup
|
||||||
// - remove/delete shared file lists for people who are not friend anymore
|
// - remove/delete shared file lists for people who are not friend anymore
|
||||||
// -
|
// -
|
||||||
|
|
||||||
cleanup();
|
cleanup();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void p3FileDatabase::startThreads()
|
||||||
|
{
|
||||||
|
std::cerr << "Starting hash cache thread..." ;
|
||||||
|
|
||||||
|
mHashCache->start();
|
||||||
|
}
|
||||||
|
void p3FileDatabase::stopThreads()
|
||||||
|
{
|
||||||
|
std::cerr << "Stopping hash cache thread..." ; std::cerr.flush() ;
|
||||||
|
|
||||||
|
mHashCache->fullstop();
|
||||||
|
|
||||||
|
std::cerr << "Done." << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
void p3FileDatabase::tickWatchers()
|
void p3FileDatabase::tickWatchers()
|
||||||
{
|
{
|
||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
@ -156,7 +173,7 @@ void p3FileDatabase::cleanup()
|
|||||||
{
|
{
|
||||||
P3FILELISTS_DEBUG() << " adding missing remote dir entry for friend " << *it << std::endl;
|
P3FILELISTS_DEBUG() << " adding missing remote dir entry for friend " << *it << std::endl;
|
||||||
|
|
||||||
mRemoteDirectories[*it] = new RemoteDirectoryStorage(*it);
|
mRemoteDirectories[*it] = new RemoteDirectoryStorage(makeRemoteFileName(*it));
|
||||||
|
|
||||||
mUpdateFlags |= P3FILELISTS_UPDATE_FLAG_REMOTE_MAP_CHANGED ;
|
mUpdateFlags |= P3FILELISTS_UPDATE_FLAG_REMOTE_MAP_CHANGED ;
|
||||||
}
|
}
|
||||||
@ -165,11 +182,22 @@ void p3FileDatabase::cleanup()
|
|||||||
IndicateConfigChanged();
|
IndicateConfigChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string p3FileDatabase::makeRemoteFileName(const RsPeerId& pid) const
|
||||||
|
{
|
||||||
|
#warning we should use the default paths here. Ask p3config
|
||||||
|
return "dirlist_"+pid.toStdString()+".txt" ;
|
||||||
|
}
|
||||||
|
|
||||||
int p3FileDatabase::RequestDirDetails(void *ref, DirDetails&, FileSearchFlags) const
|
int p3FileDatabase::RequestDirDetails(void *ref, DirDetails&, FileSearchFlags) const
|
||||||
{
|
{
|
||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
int p3FileDatabase::RequestDirDetails(const RsPeerId& uid,const std::string& path, DirDetails &details)
|
||||||
|
{
|
||||||
|
NOT_IMPLEMENTED();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
int p3FileDatabase::RequestDirDetails(const std::string& path, DirDetails &details) const
|
int p3FileDatabase::RequestDirDetails(const std::string& path, DirDetails &details) const
|
||||||
{
|
{
|
||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
@ -189,7 +217,6 @@ bool p3FileDatabase::inDirectoryCheck()
|
|||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void p3FileDatabase::setWatchPeriod(uint32_t seconds)
|
void p3FileDatabase::setWatchPeriod(uint32_t seconds)
|
||||||
{
|
{
|
||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
@ -221,3 +248,94 @@ void p3FileDatabase::setRememberHashCache(bool)
|
|||||||
{
|
{
|
||||||
NOT_IMPLEMENTED();
|
NOT_IMPLEMENTED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool p3FileDatabase::findLocalFile(const RsFileHash& hash,FileSearchFlags flags,const RsPeerId& peer_id, std::string &fullpath, uint64_t &size,FileStorageFlags& storage_flags,std::list<std::string>& parent_groups) const
|
||||||
|
{
|
||||||
|
std::list<EntryIndex> firesults;
|
||||||
|
mLocalSharedDirs->searchHash(hash,firesults) ;
|
||||||
|
|
||||||
|
NOT_IMPLEMENTED();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int p3FileDatabase::SearchKeywords(const std::list<std::string>& keywords, std::list<DirDetails>& results,FileSearchFlags flags,const RsPeerId& client_peer_id)
|
||||||
|
{
|
||||||
|
std::list<EntryIndex> firesults;
|
||||||
|
mLocalSharedDirs->searchTerms(keywords,firesults) ;
|
||||||
|
|
||||||
|
return filterResults(firesults,results,flags,client_peer_id) ;
|
||||||
|
}
|
||||||
|
int p3FileDatabase::SearchBoolExp(Expression *exp, std::list<DirDetails>& results,FileSearchFlags flags,const RsPeerId& client_peer_id) const
|
||||||
|
{
|
||||||
|
std::list<EntryIndex> firesults;
|
||||||
|
mLocalSharedDirs->searchBoolExp(exp,firesults) ;
|
||||||
|
|
||||||
|
return filterResults(firesults,results,flags,client_peer_id) ;
|
||||||
|
}
|
||||||
|
bool p3FileDatabase::search(const RsFileHash &hash, FileSearchFlags hintflags, FileInfo &info) const
|
||||||
|
{
|
||||||
|
if(hintflags & RS_FILE_HINTS_LOCAL)
|
||||||
|
{
|
||||||
|
std::list<EntryIndex> res;
|
||||||
|
mLocalSharedDirs->searchHash(hash,res) ;
|
||||||
|
|
||||||
|
if(res.empty())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
EntryIndex indx = *res.begin() ; // no need to report dupicates
|
||||||
|
|
||||||
|
mLocalSharedDirs->getFileInfo(indx,info) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NOT_IMPLEMENTED();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int p3FileDatabase::filterResults(const std::list<EntryIndex>& firesults,std::list<DirDetails>& results,FileSearchFlags flags,const RsPeerId& peer_id) const
|
||||||
|
{
|
||||||
|
results.clear();
|
||||||
|
|
||||||
|
#ifdef P3FILELISTS_DEBUG
|
||||||
|
if((flags & ~RS_FILE_HINTS_PERMISSION_MASK) > 0)
|
||||||
|
std::cerr << "(EE) ***** FileIndexMonitor:: Flags ERROR in filterResults!!" << std::endl;
|
||||||
|
#endif
|
||||||
|
/* translate/filter results */
|
||||||
|
|
||||||
|
for(std::list<EntryIndex>::const_iterator rit(firesults.begin()); rit != firesults.end(); ++rit)
|
||||||
|
{
|
||||||
|
DirDetails cdetails ;
|
||||||
|
RequestDirDetails ((void*)*rit,cdetails,FileSearchFlags(0u));
|
||||||
|
#ifdef P3FILELISTS_DEBUG
|
||||||
|
std::cerr << "Filtering candidate " << (*rit) << ", flags=" << cdetails.flags << ", peer=" << peer_id ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(!peer_id.isNull())
|
||||||
|
{
|
||||||
|
FileSearchFlags permission_flags = rsPeers->computePeerPermissionFlags(peer_id,cdetails.flags,cdetails.parent_groups) ;
|
||||||
|
|
||||||
|
if (cdetails.type == DIR_TYPE_FILE && ( permission_flags & flags ))
|
||||||
|
{
|
||||||
|
cdetails.id.clear() ;
|
||||||
|
results.push_back(cdetails);
|
||||||
|
#ifdef P3FILELISTS_DEBUG
|
||||||
|
std::cerr << ": kept" << std::endl ;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#ifdef P3FILELISTS_DEBUG
|
||||||
|
else
|
||||||
|
std::cerr << ": discarded" << std::endl ;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
results.push_back(cdetails);
|
||||||
|
}
|
||||||
|
|
||||||
|
return !results.empty() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool p3FileDatabase::convertSharedFilePath(const std::string& path,std::string& fullpath)
|
||||||
|
{
|
||||||
|
return mLocalSharedDirs->convertSharedFilePath(path,fullpath) ;
|
||||||
|
}
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "services/p3service.h"
|
#include "services/p3service.h"
|
||||||
|
|
||||||
#include "file_sharing/hash_cache.h"
|
#include "file_sharing/hash_cache.h"
|
||||||
|
#include "file_sharing/directory_storage.h"
|
||||||
|
|
||||||
#include "pqi/p3cfgmgr.h"
|
#include "pqi/p3cfgmgr.h"
|
||||||
#include "pqi/p3linkmgr.h"
|
#include "pqi/p3linkmgr.h"
|
||||||
@ -41,7 +42,7 @@ class HashStorage ;
|
|||||||
class p3FileDatabase: public p3Service, public p3Config, public ftSearch //, public RsSharedFileService
|
class p3FileDatabase: public p3Service, public p3Config, public ftSearch //, public RsSharedFileService
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef uint64_t EntryIndex ; // this should probably be defined elsewhere
|
typedef DirectoryStorage::EntryIndex EntryIndex; // this should probably be defined elsewhere
|
||||||
|
|
||||||
virtual RsServiceInfo getServiceInfo();
|
virtual RsServiceInfo getServiceInfo();
|
||||||
|
|
||||||
@ -58,10 +59,10 @@ class p3FileDatabase: public p3Service, public p3Config, public ftSearch //, pub
|
|||||||
/*!
|
/*!
|
||||||
* \brief forceSyncWithPeers
|
* \brief forceSyncWithPeers
|
||||||
*
|
*
|
||||||
* Forces the synchronisation of the database with connected peers. This is triggered when e.g. a new gorup of friend is created, or when
|
* Forces the synchronisation of the database with connected peers. This is triggered when e.g. a new group of friend is created, or when
|
||||||
* a friend was added/removed from a group.
|
* a friend was added/removed from a group.
|
||||||
*/
|
*/
|
||||||
void forceSyncWithPeers();
|
void forceSyncWithPeers() { NOT_IMPLEMENTED() ; }
|
||||||
|
|
||||||
// derived from p3Service
|
// derived from p3Service
|
||||||
//
|
//
|
||||||
@ -92,6 +93,7 @@ class p3FileDatabase: public p3Service, public p3Config, public ftSearch //, pub
|
|||||||
uint32_t getType(void *) const ;
|
uint32_t getType(void *) const ;
|
||||||
|
|
||||||
// set/update shared directories
|
// set/update shared directories
|
||||||
|
|
||||||
void setSharedDirectories(const std::list<SharedDirInfo>& dirs);
|
void setSharedDirectories(const std::list<SharedDirInfo>& dirs);
|
||||||
void getSharedDirectories(std::list<SharedDirInfo>& dirs);
|
void getSharedDirectories(std::list<SharedDirInfo>& dirs);
|
||||||
void updateShareFlags(const SharedDirInfo& info) ;
|
void updateShareFlags(const SharedDirInfo& info) ;
|
||||||
@ -116,11 +118,15 @@ class p3FileDatabase: public p3Service, public p3Config, public ftSearch //, pub
|
|||||||
void full_print();
|
void full_print();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
int filterResults(const std::list<EntryIndex>& firesults,std::list<DirDetails>& results,FileSearchFlags flags,const RsPeerId& peer_id) const;
|
||||||
|
std::string makeRemoteFileName(const RsPeerId& pid) const;
|
||||||
|
|
||||||
// Derived from p3Config
|
// Derived from p3Config
|
||||||
//
|
//
|
||||||
virtual bool loadList(std::list<RsItem *>& items);
|
virtual bool loadList(std::list<RsItem *>& items);
|
||||||
virtual bool saveList(bool &cleanup, std::list<RsItem *>&);
|
virtual bool saveList(bool &cleanup, std::list<RsItem *>&);
|
||||||
virtual RsSerialiser *setupSerialiser() ;
|
virtual RsSerialiser *setupSerialiser() { return NULL;}
|
||||||
|
|
||||||
void cleanup();
|
void cleanup();
|
||||||
void tickRecv();
|
void tickRecv();
|
||||||
|
@ -551,10 +551,9 @@ uint32_t ftServer::getType(void *ref, FileSearchFlags flags)
|
|||||||
{
|
{
|
||||||
return mFileDatabase->getType(ref) ;
|
return mFileDatabase->getType(ref) ;
|
||||||
}
|
}
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
/******************** Search Interface *************************/
|
/******************** Search Interface *************************/
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
|
||||||
|
|
||||||
int ftServer::SearchKeywords(std::list<std::string> keywords, std::list<DirDetails> &results,FileSearchFlags flags)
|
int ftServer::SearchKeywords(std::list<std::string> keywords, std::list<DirDetails> &results,FileSearchFlags flags)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user