From 4196ceff00cbe8c25be45d9ea7ea3d304e090fa2 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sat, 3 Mar 2012 17:38:36 +0100 Subject: [PATCH] Added: #1440 Module shells for master and slave --HG-- branch : build_pipeline_v3 --- .../pipeline/service/database_status.cpp | 54 +++++++----- .../service/module_pipeline_master.cpp | 82 +++++++++++++++++ .../service/module_pipeline_master_itf.cpp | Bin 0 -> 5334 bytes .../service/module_pipeline_master_itf.h | Bin 0 -> 8610 bytes .../service/module_pipeline_master_itf.xml | 17 ++++ .../service/module_pipeline_slave.cpp | 83 ++++++++++++++++++ .../service/module_pipeline_slave_itf.cpp | Bin 0 -> 6230 bytes .../service/module_pipeline_slave_itf.h | Bin 0 -> 8922 bytes .../service/module_pipeline_slave_itf.xml | 19 ++++ .../tools/pipeline/service/module_update.bat | 4 + .../pipeline/service/pipeline_service.cpp | 6 +- 11 files changed, 240 insertions(+), 25 deletions(-) create mode 100644 code/nel/tools/pipeline/service/module_pipeline_master.cpp create mode 100644 code/nel/tools/pipeline/service/module_pipeline_master_itf.cpp create mode 100644 code/nel/tools/pipeline/service/module_pipeline_master_itf.h create mode 100644 code/nel/tools/pipeline/service/module_pipeline_master_itf.xml create mode 100644 code/nel/tools/pipeline/service/module_pipeline_slave.cpp create mode 100644 code/nel/tools/pipeline/service/module_pipeline_slave_itf.cpp create mode 100644 code/nel/tools/pipeline/service/module_pipeline_slave_itf.h create mode 100644 code/nel/tools/pipeline/service/module_pipeline_slave_itf.xml create mode 100644 code/nel/tools/pipeline/service/module_update.bat diff --git a/code/nel/tools/pipeline/service/database_status.cpp b/code/nel/tools/pipeline/service/database_status.cpp index ce8f54634..50d1dcf0b 100644 --- a/code/nel/tools/pipeline/service/database_status.cpp +++ b/code/nel/tools/pipeline/service/database_status.cpp @@ -339,6 +339,31 @@ public: } }; +void updateDirectoryStatus(CDatabaseStatus* ds, CDatabaseStatusUpdater &updater, const std::string &dir, bool recurse); +void updatePathStatus(CDatabaseStatus* ds, CDatabaseStatusUpdater &updater, const std::string &subPath, bool recurse, bool recurseOnce) +{ + if (CFile::isDirectory(subPath)) // if the file is a directory! + { + if (recurse || recurseOnce) + updateDirectoryStatus(ds, updater, subPath, recurse); + } + else + { + CFileStatus fileStatus; + if (!ds->getFileStatus(fileStatus, subPath)) + { + updater.Mutex.enter(); + if (!updater.CallbackCalled) // on abort. + { + ++updater.FilesRequested; + IRunnable *runnable = ds->updateFileStatus(TFileStatusCallback(&updater, &CDatabaseStatusUpdater::fileUpdated), subPath); + updater.RequestTasks.push_back(runnable); + } + updater.Mutex.leave(); + } + } +} + void updateDirectoryStatus(CDatabaseStatus* ds, CDatabaseStatusUpdater &updater, const std::string &dir, bool recurse) { std::string dirPath = CPath::standardizePath(dir, true); @@ -350,27 +375,8 @@ void updateDirectoryStatus(CDatabaseStatus* ds, CDatabaseStatusUpdater &updater, { const std::string subPath = *it; - if (CFile::isDirectory(subPath)) // if the file is a directory! - { - if (recurse) - updateDirectoryStatus(ds, updater, subPath, recurse); // lol recurse is true anyway - } - else - { - CFileStatus fileStatus; - if (!ds->getFileStatus(fileStatus, subPath)) - { - updater.Mutex.enter(); - if (!updater.CallbackCalled) // on abort. - { - ++updater.FilesRequested; - IRunnable *runnable = ds->updateFileStatus(TFileStatusCallback(&updater, &CDatabaseStatusUpdater::fileUpdated), subPath); - updater.RequestTasks.push_back(runnable); - } - updater.Mutex.leave(); - } - } - + updatePathStatus(ds, updater, subPath, recurse, false); + if (g_IsExiting) return; } @@ -393,14 +399,14 @@ void CDatabaseStatus::updateDatabaseStatus(const CCallback &callback, cons updater->FilesUpdated = 0; updater->Ready = false; updater->CallbackCalled = false; - + nlinfo("Starting iteration through database, queueing file status updates."); for (std::vector::const_iterator it = paths.begin(), end = paths.end(); it != end; ++it) - updateDirectoryStatus(this, *updater, unMacroPath(*it), recurse); + updatePathStatus(this, *updater, unMacroPath(*it), recurse, true); nlinfo("Iteration through database, queueing file status updates complete."); - + bool done = false; updater->Mutex.enter(); updater->Ready = true; diff --git a/code/nel/tools/pipeline/service/module_pipeline_master.cpp b/code/nel/tools/pipeline/service/module_pipeline_master.cpp new file mode 100644 index 000000000..7c71d2469 --- /dev/null +++ b/code/nel/tools/pipeline/service/module_pipeline_master.cpp @@ -0,0 +1,82 @@ +/** + * \file module_pipeline_master.cpp + * \brief CModulePipelineMaster + * \date 2012-03-03 16:26GMT + * \author Jan Boon (Kaetemi) + * CModulePipelineMaster + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 2 of + * the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RYZOM CORE PIPELINE; see the file COPYING. If not, see + * . + */ + +#include +#include "module_pipeline_master_itf.h" + +// STL includes + +// NeL includes +// #include + +// Project includes + +using namespace std; +using namespace NLMISC; +using namespace NLNET; + +namespace PIPELINE { + +/** + * \brief CModulePipelineMaster + * \date 2012-03-03 16:26GMT + * \author Jan Boon (Kaetemi) + * CModulePipelineMaster + */ +class CModulePipelineMaster : + public CEmptyModuleServiceBehav > >, + public CModulePipelineMasterSkel +{ +protected: + // pointers + // ... + + // instances + // ... +public: + CModulePipelineMaster() + { + + } + + virtual ~CModulePipelineMaster() + { + + } + + virtual void slaveFinishedBuildTask(NLNET::IModuleProxy *sender, uint32 taskId) + { + + } +}; /* class CModulePipelineMaster */ + +void module_pipeline_master_forceLink() { } +NLNET_REGISTER_MODULE_FACTORY(CModulePipelineMaster, "ModulePipelineMaster"); + +} /* namespace PIPELINE */ + +/* end of file */ diff --git a/code/nel/tools/pipeline/service/module_pipeline_master_itf.cpp b/code/nel/tools/pipeline/service/module_pipeline_master_itf.cpp new file mode 100644 index 0000000000000000000000000000000000000000..99979e0303741da74b62a68686e5973313d231df GIT binary patch literal 5334 zcmd5=YflqF6un>9#Q(5jf`up~`VEByl~=-}0Sq5WVJS4W1$SE>8vnX_&fLAs%$C-+ zF<_cyA2W03KF&S&4!?grmuIs0QTpNE8yP&gD$H zxN>P={7f=@Yht{O=ht}7-e^}-7GUd)lSrvu%;;cEft3wNr`$SxTbDK2 zc0OKnbAQ~gNS+)Ei%u8S0#lk5bTs8|CnEGl? zn-zt;FL6_qb^?!G!d7N}*JVj6%Xn*I$2N98D_5#c31&1gS_4Da{JDF{USr)QgLju) zZnfaaR6gJu$J<=Rd^P^M#A>pZ*L4MNImSb~l6yUpa!f6$dSbz8PRnxaQFGo^P01L< z1=*y5S$QSN^Rj zLxIgFMtYc$J1we6uvNMy3Gg)?lQiW9vD(94b?kWQJVHA|R*Jc%hC05DYYh=5>bIh~ zD&^KiW!`y*yhPkGmYy%tiWF)eG8(a|b}=MLADr|<<#RAopJV| zSG;ao$3tGwj->|sE>PVSc^UFEws)b_a2Lqq2pQLBkm+OGrajQIvrOf(o1#>%vDw~t z$~PWoRqiC}V_c55oU!d-KlLrOc_S-Pb{KLK=w#W>IrHVpIecf{hj@uSV(eko#FYdI><1KEb>0?o0zjIUy!?d@b~0?Ae&FZ{Z?@-cElAc z1X=im;XgCxP+D1OnI?=+Mw&RyjR=DFNIuD}oVX4NzR>!8t znCDC~$7H&W;^Gv!Rn4f-_dJJr-w$HNxaAmp&&ohAhjqa^Qu697qA_e9vz#5m78rsV zo#9Q-c%R*Ob}l{0=b4aax&t8O3P1KxdJ-JYVm#}SPpgts=xRC>CwGv{9a!VKxcd0U zE`oYh_cwk?hFWBnE60tW4>d>(J?JA(Nmh~k8F8cZ(+%!-j?4YLIxOsC4OeADq{dj* zo-dBM&p3}~_G-k9`N6Y?Vck%rCwcZ{F;lY_XY{n=?ckYl9OiF!bY%S$b8c~+!Y-a1 zv=37`VKl#C{H(-^>6rYrpBQ8iwcSfNfn4ofcOc)NuGXC`lQAD7&GURHhm7@*_q_(A z&|y9g@e}JAN1MA1>JYM`MLevOnoqIZm}gt^9aiP&TvGgBC+t;O)gQtF>ohy-+(*M5#SJyjAL>NnqMjnh+(U-5iyl9m50He%L(sP`R= z9OF3&dk;#`(@GDu{|=nTjxs(GdM?oFdjxOmnRXbOiAl~GReu>JLpUStd(J@(O#_ce Gefk3_t~ycx literal 0 HcmV?d00001 diff --git a/code/nel/tools/pipeline/service/module_pipeline_master_itf.h b/code/nel/tools/pipeline/service/module_pipeline_master_itf.h new file mode 100644 index 0000000000000000000000000000000000000000..4e5b9ea73222aea39dd8e4df76bbb6b8dfd730e9 GIT binary patch literal 8610 zcmeHMT~8ZV5WTNkssCY{NED)$MD0sOlSoNP8cRT|K-x#k7@Jx#*zyOIM(Iy)d(Mo< zbMJcB*x*1ODrCIgd-vY?ICEz1?7#nf9li>W@BPoD$iwg9MR*quLJgl^LmqbU8HYbY zH;izl|C_iv4efA_&oDGG-VP_Y*THxX*Wcm#B=j-_r3|X=lyC= zDfoE^xjK;X1TuCYUmX^xhgV@wEb%Hd!hU!gcEfwz;jgms7vV4*Ve}owYq)xi?>E!c zb=|JmZ2hZq-4<*=5&84*K=$bYS7+k07OuwODh#0A2vVJ6?l!#gAky75KY)gf@C&rv zhn9`-8?Jwnc{%JtJEeO)#U5>Z`oO|fcs^Z`=r|FZnsw8s$|NMp6j4LLOc(!~khB5W zyRyr$AocZYj_~YIWIn|@EkWgl>@vb#Vl=fw)r!RWSnNp)jvyD&yy~-k*kmFxa`Pt} z;TUT$(&(`vv>HH~A*37KLY{`$cO9BFU>W6vOMG8NG7$;qxJSHsN_sYK+fyXMI+M|-kNQz9S-FYF_N4AFI9lKj$>XlrAP^Ozfk;KdIzqMkJ0 z4uIohncqU5(J|9hvySGA^XV!?%K+D88jdTU*>m4t-UtPE7!01uMEzzsX46Q~44lJa)T{?v z<@lb!2DF^Asb=OjSn&hycBXdK=ro4o?523BJ=-f2?i<6yF&DnUJaRrOfFV3j=}hk| ze40Idf!)bg6U^^n-@k8Q>vGL?55vO+^yxw#RvhQ}j3E(on`5Gu;5QGCB#RlI%Wccd zUWTLXXcw!OSO+mL`iez+n5@bv^v(p9(`t%R&*OD8vm;}R_}P&tvm8hNXYl1E#$IAI z%@c8)GA?P4j(Cq&*@B#!8M$T#?j=^3?&O01d14hE84FsI59L(hD9sD8O!iDQ*eK}a zY(z_R!v*4i8fxY-&5BvXS!DADJjLjIgshOtmNMnmN=W=X7RdyO%-)tgJ>t(`rvY-J z-{F<<4LNSHewr5-S%8c*nC1%eL+t6r>+92b*jPF%#cZdHY`faGdwm3yH-VKlPIH<^ zMu=D1$=US?Ge*dv4f)Rs=L$igV?IGvs~d za?a+Nn0bxQP*-Zn48e75r>g2FgN)@_GqrxXq_%5$KD4?et>EYnju55FAh8bG#qdhj zzpyX_p&JNKox?@J4$RJof>QP`4v{sq zYm_7RvTnB1hUNxm`}hRIxmKAQ($g~)bG4s%T#mZb49o=O<7JtkzEG|nMzud!tYw)o zSlcnXok3z|D&|OP=z6)v9n5Cknj>%XT;y|HTdt)!MY|8|fmcc3C&$IMVHIU3C0b^0 zrcrDo%K{b&yO4xAoE?Pge8*~WDAfzI_`Ee}CGCR7m4MsBdIGG*dNX}lHS=5@Bg4?J zJVvc2l%Ybd(%t4bI&`1%jJW*Xj>}aT*3sY|*2psLtMN_7jibjkQUquYB_??)>;jSO zqx~hQEVsV-mZy2ex<#=0&!tjSZ${DkJv#O5V2_h{B(_-Hb4^Bs_6DAb>`$U@6MF={ zdNp>7TKlf$Sl5n1yfWWZFmtK4>{e7^h3}MT;{$m|vzK(AXyfJ4VW{Kjt*WMFx5ycU zw(`zoEQR{nqI}U4YIpj+1s%z3yrbR7lt)rcUdqfi*f zwup5h9~!FS`*y}Kz2?1C{#=!hVvkq(*Sw;bDqr9AslzH{NlJekRQaxp(B(a-414wj zt*h%4S7fxTuUf1oSLvC?Tvy~R-^HX&k(PEyeI=rQo;`e=7Pl2+rbxSri)(>-*_0z~ z-Oo``Q?Fu&Wlm$D&bOF3-V(SzBenztP}S|=FhuDy*8rvkm;D7f!PgNzIRg0!{oTQtHJ)x fe6NGur|bQb2^OibeHdHrJBu@pKE$r^o9q7o;cgb~ literal 0 HcmV?d00001 diff --git a/code/nel/tools/pipeline/service/module_pipeline_master_itf.xml b/code/nel/tools/pipeline/service/module_pipeline_master_itf.xml new file mode 100644 index 000000000..ca5098a26 --- /dev/null +++ b/code/nel/tools/pipeline/service/module_pipeline_master_itf.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/code/nel/tools/pipeline/service/module_pipeline_slave.cpp b/code/nel/tools/pipeline/service/module_pipeline_slave.cpp new file mode 100644 index 000000000..d4edc7249 --- /dev/null +++ b/code/nel/tools/pipeline/service/module_pipeline_slave.cpp @@ -0,0 +1,83 @@ +/** + * \file module_pipeline_slave.cpp + * \brief CModulePipelineSlave + * \date 2012-03-03 16:26GMT + * \author Jan Boon (Kaetemi) + * CModulePipelineSlave + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 2 of + * the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RYZOM CORE PIPELINE; see the file COPYING. If not, see + * . + */ + +#include +#include "module_pipeline_slave_itf.h" + +// STL includes + +// NeL includes +// #include + +// Project includes + +using namespace std; +using namespace NLMISC; +using namespace NLNET; + +namespace PIPELINE { + +/** + * \brief CModulePipelineSlave + * \date 2012-03-03 16:26GMT + * \author Jan Boon (Kaetemi) + * CModulePipelineSlave + */ +class CModulePipelineSlave : + public CEmptyModuleServiceBehav > >, + public CModulePipelineSlaveSkel +{ +protected: + // pointers + // ... + + // instances + // ... +public: + CModulePipelineSlave() + { + + } + + virtual ~CModulePipelineSlave() + { + + } + + virtual void startBuildTask(NLNET::IModuleProxy *sender, uint32 taskId, const std::string &projectName, const std::string &processHandler) + { + + } + +}; /* class CModulePipelineSlave */ + +void module_pipeline_slave_forceLink() { } +NLNET_REGISTER_MODULE_FACTORY(CModulePipelineSlave, "ModulePipelineSlave"); + +} /* namespace PIPELINE */ + +/* end of file */ diff --git a/code/nel/tools/pipeline/service/module_pipeline_slave_itf.cpp b/code/nel/tools/pipeline/service/module_pipeline_slave_itf.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e26d319d00e011ad2ada02006d5114f189f64904 GIT binary patch literal 6230 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 + + + + + + + + + + + + + + + + + + diff --git a/code/nel/tools/pipeline/service/module_update.bat b/code/nel/tools/pipeline/service/module_update.bat new file mode 100644 index 000000000..d9949fe89 --- /dev/null +++ b/code/nel/tools/pipeline/service/module_update.bat @@ -0,0 +1,4 @@ +d:\tools\msxsl R:\code\nel\tools\pipeline\service\module_pipeline_master_itf.xml R:\code\ryzom\common\src\game_share\generate_module_interface.xslt output=header filename=module_pipeline_master_itf -o R:\code\nel\tools\pipeline\service\module_pipeline_master_itf.h +d:\tools\msxsl R:\code\nel\tools\pipeline\service\module_pipeline_master_itf.xml R:\code\ryzom\common\src\game_share\generate_module_interface.xslt output=cpp filename=module_pipeline_master_itf -o R:\code\nel\tools\pipeline\service\module_pipeline_master_itf.cpp +d:\tools\msxsl R:\code\nel\tools\pipeline\service\module_pipeline_slave_itf.xml R:\code\ryzom\common\src\game_share\generate_module_interface.xslt output=header filename=module_pipeline_slave_itf -o R:\code\nel\tools\pipeline\service\module_pipeline_slave_itf.h +d:\tools\msxsl R:\code\nel\tools\pipeline\service\module_pipeline_slave_itf.xml R:\code\ryzom\common\src\game_share\generate_module_interface.xslt output=cpp filename=module_pipeline_slave_itf -o R:\code\nel\tools\pipeline\service\module_pipeline_slave_itf.cpp \ No newline at end of file diff --git a/code/nel/tools/pipeline/service/pipeline_service.cpp b/code/nel/tools/pipeline/service/pipeline_service.cpp index b7a71bc00..635741cc3 100644 --- a/code/nel/tools/pipeline/service/pipeline_service.cpp +++ b/code/nel/tools/pipeline/service/pipeline_service.cpp @@ -85,6 +85,9 @@ std::string macroPath(const std::string &path) return result; } +extern void module_pipeline_master_forceLink(); +extern void module_pipeline_slave_forceLink(); + // ****************************************************************** namespace { @@ -275,7 +278,8 @@ private: public: CPipelineService() { - + module_pipeline_master_forceLink(); + module_pipeline_slave_forceLink(); } virtual ~CPipelineService()