mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 22:25:04 -04:00
p3GxsMails queues persistents accross RS sessions
RsServer properly handle deletion (childs are not yet) p3GxsMails properly handle deletion RsControl::instance() use proper static initialization p3GxsMails register configuration files at right time RsGxsMailBaseItem take in account offset in header pointer RsGxsMailSerializer use C++11 safe enum class for items types RsGxsMailItem take in account offset in header pointer RsGxsMailItem::deserialize(...) properly calculate final offset p3GxsMails::handleResponse(...) delete group items after usage move ex inner struct OutgoingRecord to gxs mail items header p3MsgService::saveList removed unused variable p3MsgService::notifyDataStatus(...) take in account multiple backends p3MsgService::receiveGxsMail(...) take in account multiple backends p3MsgService::receiveGRouterData(...) take in account multiple backends Added prersistence to p3MsgService::gxsOngoingMessages
This commit is contained in:
parent
748e75d3e1
commit
379fb97062
10 changed files with 535 additions and 201 deletions
|
@ -122,7 +122,7 @@ RsServer::RsServer()
|
|||
|
||||
RsServer::~RsServer()
|
||||
{
|
||||
return;
|
||||
delete mGxsMails;
|
||||
}
|
||||
|
||||
/* General Internal Helper Functions
|
||||
|
|
|
@ -179,6 +179,7 @@ class RsServer: public RsControl, public RsTickingThread
|
|||
// p3GxsForums *mGxsForums;
|
||||
// p3GxsChannels *mGxsChannels;
|
||||
// p3Wire *mWire;
|
||||
p3GxsMails* mGxsMails;
|
||||
|
||||
/* Config */
|
||||
p3ConfigMgr *mConfigMgr;
|
||||
|
|
|
@ -944,14 +944,11 @@ RsGRouter *rsGRouter = NULL ;
|
|||
|
||||
RsControl *RsControl::instance()
|
||||
{
|
||||
static RsServer *rsicontrol = NULL ;
|
||||
|
||||
if(rsicontrol == NULL)
|
||||
rsicontrol = new RsServer();
|
||||
|
||||
return rsicontrol;
|
||||
static RsServer rsicontrol;
|
||||
return &rsicontrol;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* The Real RetroShare Startup Function.
|
||||
*/
|
||||
|
@ -1491,14 +1488,13 @@ int RsServer::StartupRetroShare()
|
|||
RsGeneralDataService* gxsmail_ds = new RsDataService(
|
||||
currGxsDir + "/", "gxsmails_db", RS_SERVICE_TYPE_GXS_MAIL,
|
||||
NULL, rsInitConfig->gxs_passwd );
|
||||
p3GxsMails* mGxsMails = new p3GxsMails(gxsmail_ds, NULL, *mGxsIdService);
|
||||
mGxsMails = new p3GxsMails(gxsmail_ds, NULL, *mGxsIdService);
|
||||
RsGxsNetService* gxsmails_ns = new RsGxsNetService(
|
||||
RS_SERVICE_TYPE_GXS_MAIL, gxsmail_ds, nxsMgr, mGxsMails,
|
||||
mGxsMails->getServiceInfo(), mReputations, mGxsCircles,
|
||||
mGxsIdService, pgpAuxUtils);
|
||||
mGxsMails->setNetworkExchangeService(gxsmails_ns);
|
||||
pqih->addService(gxsmails_ns, true);
|
||||
mConfigMgr->addConfiguration("gxs_mail.cfg", gxsmails_ns);
|
||||
|
||||
TestGxsMailClientService* tgms =
|
||||
new TestGxsMailClientService(*mGxsMails, *mGxsIdService);
|
||||
|
@ -1673,13 +1669,20 @@ int RsServer::StartupRetroShare()
|
|||
#ifdef ENABLE_GROUTER
|
||||
mConfigMgr->addConfiguration("grouter.cfg", gr);
|
||||
#endif
|
||||
mConfigMgr->addConfiguration("p3identity.cfg", mGxsIdService);
|
||||
|
||||
#ifdef RS_USE_BITDHT
|
||||
mConfigMgr->addConfiguration("bitdht.cfg", mBitDht);
|
||||
mConfigMgr->addConfiguration("bitdht.cfg", mBitDht);
|
||||
#endif
|
||||
|
||||
#ifdef RS_ENABLE_GXS
|
||||
|
||||
# ifdef RS_GXS_MAIL
|
||||
mConfigMgr->addConfiguration("gxs_mail_ns.cfg", gxsmails_ns);
|
||||
mConfigMgr->addConfiguration("gxs_mail.cfg", mGxsMails);
|
||||
# endif
|
||||
|
||||
mConfigMgr->addConfiguration("p3identity.cfg", mGxsIdService);
|
||||
|
||||
mConfigMgr->addConfiguration("identity.cfg", gxsid_ns);
|
||||
mConfigMgr->addConfiguration("gxsforums.cfg", gxsforums_ns);
|
||||
mConfigMgr->addConfiguration("gxschannels.cfg", gxschannels_ns);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue