Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
            }
        }