public int test() { NameXml p1 = new NameXml { name = "pp1" }; NameXml p2 = new NameXml { name = "pp2" }; NameXml p3 = new NameXml { name = "pp3" }; NameXml p4 = new NameXml { name = "pp4" }; ModuleCfgXml t1 = new ModuleCfgXml { name = "t1", id = 100, init = 8, version = "0.1", depends = new DependsXml { depend = new List <string> { "dd1", "dd2" } }, subs = new SubsXml { sub = new List <NameXml> { p1, p2 } }, pub = new NameXml { name = "publish1" }, subpubs = new SubPubsXml { subpub = new List <SubPubXml> { new SubPubXml { pub = p1, sub = new List <NameXml> { p1, p2 } } } }, requests = new RequestsXml { request = new List <NameXml> { p3, p4 } }, responses = new NameXml { name = "response1" }, fanins = new FaninsXml { fanin = new List <NameXml> { p2, p3 } }, faninpubs = new FaninPubsXml { faninpub = new List <FaninPubXml> { new FaninPubXml { fanin = p1, pub = p2 } } }, fanout = new FanoutXml { fanout = new List <NameXml> { p4, p1 } } //works = new WorksXml { work = new List<WorkXml> { new WorkXml { number = 1, pull = p1, push = p2 }, new WorkXml { number = 1, push = p3, pull = p4 } } } }; string xml1 = XmlHelper.XmlSerialize(t1, Encoding.UTF8); string xml2 = XmlHelper.XmlSerialize(t1, Encoding.UTF8); Console.Out.WriteLine(xml1); Console.Out.WriteLine(xml2); return(0); }
private int InitMod2(ModuleCfgXml mx, ref ModInfo mod) { if (mod == null || mx == null) { Logging.logger.Error("the in put mod is null"); return(-1); } //2 mod.subs = new List <Point>(); if (mx.subs != null) { foreach (NameXml p in mx.subs.sub) { Point point = GetPubsPoint(p.name); if (point != null) { mod.subs.Add(point); } } } else { } //4 if (mx.subpubs != null) { foreach (SubPubXml s in mx.subpubs.subpub) { foreach (NameXml nx in s.sub) { Point p = GetPubsPoint(nx.name); if (p != null) { foreach (SubPub sp in mod.subpubs) { if (sp.pub.name == s.pub.name) { sp.subs.Add(p); } } } } } } else { } //5 mod.reqs = new List <Point>(); if (mx.requests != null) { foreach (NameXml r in mx.requests.request) { Point point = GetResponsePoint(r.name); mod.reqs.Add(point); } } //8 mod.faninc = new List <Point>(); if (mx.faninc != null) { foreach (NameXml f in mx.faninc.fanin) { Point p = GetFaninSPoint(f.name); if (p != null) { mod.faninc.Add(p); } } } //11 mod.fanoutc = new List <Point>(); if (mx.fanoutc != null) { foreach (NameXml fp in mx.fanoutc.fanout) { Point p = GetFanoutSPoint(fp.name); if (p != null) { mod.fanoutc.Add(p); } } } mod.usertasks = new List <string>(); if (mx.usertasks != null) { foreach (string s in mx.usertasks.name) { mod.usertasks.Add(s); } } else { } mod.status = ModStatus.Init; return(0); }
private int InitCfg() { string[] fs = Files.GetAllFileNames(this.CfgPath, ModConst.ModFileFlag); if (fs == null) { Logging.logger.Error("Read mod config failed"); return(-1); } List <ModuleCfgXml> rl = new List <ModuleCfgXml>(); foreach (string f in fs) { ModuleCfgXml aa = XmlHelper.XmlDeserializeFromFile <ModuleCfgXml>(f, Encoding.UTF8); if (aa != null) { rl.Add(aa); } } int modid = 0; int rlt; ModInfo mod; foreach (ModuleCfgXml mx in rl) { rlt = NewModIdWithName(mx.name, out modid); if (rlt < 0) { Logging.logger.Error("get mod id failed"); continue; } mod = GetModinfoWithID(modid); InitMod(mx, ref mod); } foreach (ModuleCfgXml mx in rl) { mod = GetModinfoWithName(mx.name); InitMod2(mx, ref mod); if (Initlevel.ContainsKey(mod.init)) { if (Initlevel[mod.init].Contains(mod.modid)) { Logging.logger.Warn("the mod id alread exist"); } else { Initlevel[mod.init].Add(mod.modid); } } else { Initlevel.Add(mod.init, new List <int>()); Initlevel[mod.init].Add(mod.modid); } } return(0); }
private int InitMod(ModuleCfgXml mx, ref ModInfo mod) { mod.modname = mx.name; mod.init = mx.init; mod.status = ModStatus.Generate; mod.depends = new List <string>(); mod.cls = mx.cls; mod.ipaddr = mx.ipaddr; int modport = mod.modid + 10; //1 mod.depends = new List <string>(); if (mx.depends != null) { foreach (string d in mx.depends.depend) { mod.depends.Add(d); } } //3 if (mx.pub != null) { mod.pub = new Point(); { mod.pub.ip = mx.ipaddr; mod.pub.port = modport++; mod.pub.name = mx.pub.name; } } else { mod.pub = null; } //4 mod.subpubs = new List <SubPub>(); if (mx.subpubs != null) { foreach (SubPubXml s in mx.subpubs.subpub) { SubPub sp = new SubPub(); sp.subs = new List <Point>(); sp.pub = new Point(); sp.pub.name = s.pub.name; sp.pub.ip = mx.ipaddr; sp.pub.port = modport++; mod.subpubs.Add(sp); } } else { } //6 if (mx.responses != null) { mod.Res = new Point(); mod.Res.name = mx.responses.name; mod.Res.ip = mx.ipaddr; mod.Res.port = modport++; } else { mod.Res = null; } //7 mod.fanins = new List <Point>(); if (mx.fanins != null) { foreach (NameXml f in mx.fanins.fanin) { Point point = new Point(); point.name = f.name; point.ip = mx.ipaddr; point.port = modport++; mod.fanins.Add(point); } } //9 mod.faninpubs = new List <FaninPub>(); if (mx.faninpubs != null) { foreach (FaninPubXml fp in mx.faninpubs.faninpub) { FaninPub f = new FaninPub(); f.fanin = new Point(); f.fanin.ip = mx.ipaddr; f.fanin.name = fp.fanin.name; f.fanin.port = modport++; f.pub = new Point(); f.pub.ip = mx.ipaddr; f.pub.name = fp.pub.name; f.pub.port = modport++; mod.faninpubs.Add(f); } } //10 mod.fanouts = new List <Point>(); if (mx.fanout != null) { foreach (NameXml p in mx.fanout.fanout) { Point point = new Point(); point.ip = mx.ipaddr; point.name = p.name; point.port = modport++; mod.fanouts.Add(point); } } mod.modport = modport; return(0); }