public void WriteJsonRelays(JsonCustomRelaysSet relays, string targetfile) { JsonSerializer serializer = new JsonSerializer(); using StreamWriter sw = new StreamWriter(@"" + root_folder + "/" + targetfile); using JsonWriter writer = new JsonTextWriter(sw) { Formatting = Formatting.Indented }; serializer.Serialize(writer, relays); }
protected void loadRelayConfigFromFile() { JsonCustomRelays Demo = new JsonCustomRelays() { sourceFilter = "all", sourceType = "localchat", targetType = "groupchat", targetConfig = UUID.Zero.ToString() }; JsonCustomRelaysSet LoadedRelays = new JsonCustomRelaysSet { Entrys = new JsonCustomRelays[] { Demo } }; string targetfile = "customrelays.json"; SimpleIO io = new SimpleIO(); io.ChangeRoot(controler.getFolderUsed()); if (SimpleIO.FileType(targetfile, "json") == false) { io.WriteJsonRelays(LoadedRelays, targetfile); return; } if (io.Exists(targetfile) == false) { io.WriteJsonRelays(LoadedRelays, targetfile); return; } string json = io.ReadFile(targetfile); if (json.Length > 0) { try { LoadedRelays = JsonConvert.DeserializeObject <JsonCustomRelaysSet>(json); int loop = 1; foreach (JsonCustomRelays loaded in LoadedRelays.Entrys) { LogFormater.Info("Relay " + loop.ToString() + " [OK] sending to attach"); ApplyRelayConfig(loaded.sourceType, loaded.sourceFilter, loaded.targetType, loaded.targetConfig, loaded.encodeJson); loop++; } } catch { io.MarkOld(targetfile); io.WriteJsonRelays(LoadedRelays, targetfile); } return; } }