Beispiel #1
0
        public static PluginCollection Parse(Config cn)
        {
            PluginCollection p = new PluginCollection();
            int i = 1;

            foreach (Section s in cn)
            {
                if (s.Name == "[Plugin #" + i + "]")
                {
                    if (s["Path"] != null && s["Username"] != null && s["Password"] != null)
                    {
                        if (s["UserDescription"] != null)
                        {
                            p.Add(new Plugin(s["Path"], s["Username"], s["Password"], s["UserDescription"]));
                        }
                        else
                        {
                            p.Add(new Plugin(s["Path"], s["Username"], s["Password"]));
                        }
                        i++;
                    }
                }
            }
            return(p);
        }
Beispiel #2
0
        /*public static PluginCollection operator -(PluginCollection lhs, PluginCollection rhs)
         * {
         *      PluginCollection pc = new PluginCollection();
         *      if (lhs > rhs)
         *      {
         *
         *              //A=lhs, B=rhs
         *              //A⊂ B
         *              foreach (Plugin ParametersInstance in lhs)
         *              {
         *                      Plugin pl = rhs[ParametersInstance.Name, ParametersInstance.Version];
         *                      if (ParametersInstance == pl)
         *                              continue;
         *                      else
         *                              return false;
         *              }
         *              //B⊂A
         *              foreach (Plugin ParametersInstance in rhs)
         *              {
         *                      Plugin pl = lhs[ParametersInstance.Name, ParametersInstance.Version];
         *                      if (ParametersInstance == pl)
         *                              continue;
         *                      else
         *                              return false;
         *              }
         *              return true;
         *      }
         *      else if (rhs > lhs)
         *      {
         *      }
         *      return pc;
         * }*/
        public static PluginCollection FindPlugins(string folder)
        {
            //TODO: добавить обработку исключений
            //MessageBox.Show(AppDomain.CurrentDomain.BaseDirectory);
            PluginCollection pc = new PluginCollection();

            string[] files = Directory.GetFiles(folder, "*.dll");
            foreach (string s in files)
            {
                Plugin p = new Plugin(s);
                if (p.Valid)
                {
                    pc.Add(p);
                }
            }
            return(pc);
        }
Beispiel #3
0
        public static PluginCollection Synchronize(PluginCollection from, PluginCollection to)
        {
            PluginCollection pc = new PluginCollection();

            foreach (Plugin p in to)
            {
                Plugin pl = from[p.Name];
                if (pl != null)
                {
                    p.Username        = pl.Username;
                    p.Password        = pl.Password;
                    p.UserDescription = pl.UserDescription;
                    p.Checked         = true;
                    p.Update();
                    pc.Add(p);
                }
            }
            return(pc);
        }