mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-11 18:45:17 -04:00
* Added Configurations to new file transfer.
* Enabled config in p3file-startup.cc * Enabled resumeTransfers * Added new RsFileConfigItem to serialiser. * extended ftFiMonitor to use Configuration. * bug fix to add/remove Shared Dirs. * Increased Channel/forum periods to 3/12 months. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@806 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
941e59f6e9
commit
66bf56207d
18 changed files with 768 additions and 111 deletions
|
@ -26,6 +26,8 @@
|
|||
#include "ft/ftdbase.h"
|
||||
#include "util/rsdir.h"
|
||||
|
||||
#include "serialiser/rsconfigitems.h"
|
||||
|
||||
#define DB_DEBUG 1
|
||||
|
||||
ftFiStore::ftFiStore(CacheStrapper *cs, CacheTransfer *cft, NotifyBase *cb_in,
|
||||
|
@ -118,7 +120,7 @@ bool ftFiStore::search(std::string hash, uint64_t size, uint32_t hintflags, File
|
|||
|
||||
|
||||
ftFiMonitor::ftFiMonitor(CacheStrapper *cs, std::string cachedir, std::string pid)
|
||||
:FileIndexMonitor(cs, cachedir, pid)
|
||||
:FileIndexMonitor(cs, cachedir, pid), p3Config(CONFIG_TYPE_FT_SHARED)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -154,6 +156,96 @@ bool ftFiMonitor::search(std::string hash, uint64_t size, uint32_t hintflags, Fi
|
|||
return false;
|
||||
};
|
||||
|
||||
/******* LOAD / SAVE CONFIG List.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
RsSerialiser *ftFiMonitor::setupSerialiser()
|
||||
{
|
||||
RsSerialiser *rss = new RsSerialiser();
|
||||
|
||||
/* add in the types we need! */
|
||||
rss->addSerialType(new RsFileConfigSerialiser());
|
||||
return rss;
|
||||
}
|
||||
|
||||
std::list<RsItem *> ftFiMonitor::saveList(bool &cleanup)
|
||||
{
|
||||
std::list<RsItem *> sList;
|
||||
|
||||
cleanup = true;
|
||||
|
||||
#ifdef DB_DEBUG
|
||||
std::cerr << "ftFiMonitor::saveList()";
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
/* get list of directories */
|
||||
std::list<std::string> dirList;
|
||||
std::list<std::string>::iterator it;
|
||||
|
||||
getSharedDirectories(dirList);
|
||||
|
||||
for(it = dirList.begin(); it != dirList.end(); it++)
|
||||
{
|
||||
RsFileConfigItem *fi = new RsFileConfigItem();
|
||||
fi->file.path = *it;
|
||||
|
||||
sList.push_back(fi);
|
||||
}
|
||||
|
||||
return sList;
|
||||
}
|
||||
|
||||
|
||||
bool ftFiMonitor::loadList(std::list<RsItem *> load)
|
||||
{
|
||||
/* for each item, check it exists ....
|
||||
* - remove any that are dead (or flag?)
|
||||
*/
|
||||
|
||||
#ifdef DEBUG_ELIST
|
||||
std::cerr << "ftFiMonitor::loadList()";
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
time_t ts = time(NULL);
|
||||
|
||||
std::list<std::string> dirList;
|
||||
|
||||
std::list<RsItem *>::iterator it;
|
||||
for(it = load.begin(); it != load.end(); it++)
|
||||
{
|
||||
RsFileConfigItem *fi = dynamic_cast<RsFileConfigItem *>(*it);
|
||||
if (!fi)
|
||||
{
|
||||
delete (*it);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ensure that it exists? */
|
||||
|
||||
dirList.push_back(fi->file.path);
|
||||
}
|
||||
|
||||
/* set directories */
|
||||
setSharedDirectories(dirList);
|
||||
return true;
|
||||
}
|
||||
|
||||
void ftFiMonitor::setSharedDirectories(std::list<std::string> dirList)
|
||||
{
|
||||
FileIndexMonitor::setSharedDirectories(dirList);
|
||||
|
||||
/* flag for config */
|
||||
IndicateConfigChanged();
|
||||
}
|
||||
|
||||
|
||||
|
||||
ftCacheStrapper::ftCacheStrapper(p3AuthMgr *am, p3ConnectMgr *cm)
|
||||
:CacheStrapper(am, cm)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue