mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-06 21:58:57 -04:00
Completed most of ftserver class.
Also changes to make everything fit together. changes to Interface to support srcId list. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@675 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d7e1a90c28
commit
189dcbb482
15 changed files with 512 additions and 166 deletions
|
@ -77,11 +77,11 @@ bool ftDataMultiplex::addTransferModule(ftTransferModule *mod, ftFileCreator *f)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool ftDataMultiplex::removeTransferModule(ftTransferModule *mod, ftFileCreator *f)
|
||||
bool ftDataMultiplex::removeTransferModule(std::string hash)
|
||||
{
|
||||
RsStackMutex stack(dataMtx); /******* LOCK MUTEX ******/
|
||||
std::map<std::string, ftClient>::iterator it;
|
||||
if (mClients.end() == (it = mClients.find(mod->hash())))
|
||||
if (mClients.end() == (it = mClients.find(hash)))
|
||||
{
|
||||
/* error */
|
||||
return false;
|
||||
|
@ -91,6 +91,51 @@ bool ftDataMultiplex::removeTransferModule(ftTransferModule *mod, ftFileCreator
|
|||
}
|
||||
|
||||
|
||||
bool ftDataMultiplex::FileUploads(std::list<std::string> &hashs)
|
||||
{
|
||||
RsStackMutex stack(dataMtx); /******* LOCK MUTEX ******/
|
||||
std::map<std::string, ftFileProvider *>::iterator sit;
|
||||
for(sit = mServers.begin(); sit != mServers.end(); sit++)
|
||||
{
|
||||
hashs.push_back(sit->first);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ftDataMultiplex::FileDownloads(std::list<std::string> &hashs)
|
||||
{
|
||||
RsStackMutex stack(dataMtx); /******* LOCK MUTEX ******/
|
||||
std::map<std::string, ftClient>::iterator cit;
|
||||
for(cit = mClients.begin(); cit != mClients.end(); cit++)
|
||||
{
|
||||
hashs.push_back(cit->first);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool ftDataMultiplex::FileDetails(std::string hash, uint32_t hintsflag, FileInfo &info)
|
||||
{
|
||||
RsStackMutex stack(dataMtx); /******* LOCK MUTEX ******/
|
||||
std::map<std::string, ftFileProvider *>::iterator sit;
|
||||
sit = mServers.find(hash);
|
||||
if (sit != mServers.end())
|
||||
{
|
||||
(sit->second)->FileDetails(info);
|
||||
return true;
|
||||
}
|
||||
|
||||
std::map<std::string, ftClient>::iterator cit;
|
||||
if (mClients.end() != (cit = mClients.find(hash)))
|
||||
{
|
||||
//(cit->second).mModule->FileDetails(info);
|
||||
(cit->second).mCreator->FileDetails(info);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* data interface */
|
||||
|
||||
/*************** SEND INTERFACE (calls ftDataSend) *******************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue