コード例 #1
0
        public void Test1_DLLList()
        {
            PluginManifest           pm   = PluginManifest.CreateByFileSystem(PoderosaAppDir());
            TextWriter               strm = new StringWriter();
            TextStructuredTextWriter wr   = new TextStructuredTextWriter(strm);

            wr.Write(pm.RawData);
            strm.Close();
            UnitTestUtil.Trace(strm.ToString());
            //NOTE これはさすがに目視しかないか
        }
コード例 #2
0
        public static IPoderosaApplication CreatePoderosaApplication(string[] args)
        {
            string         home_directory  = AppDomain.CurrentDomain.BaseDirectory;
            string         preference_home = ResolveProfileDirectory("appdata");
            string         open_file       = null;
            PluginManifest pm = PluginManifest.CreateByFileSystem(home_directory);

            //コマンドライン引数を読む
            int i = 0;

            while (i < args.Length)
            {
                string t = args[i];
                string v = i < args.Length - 1? args[i + 1] : "";
                switch (t)
                {
                case "-p":
                case "--profile":
                    preference_home = ResolveProfileDirectory(v);
                    i += 2;
                    break;

                case "-a":
                case "--addasm":
                    pm.AddAssembly(home_directory, v.Split(';'));
                    i += 2;
                    break;

                case "-r":
                case "--remasm":
                    pm.RemoveAssembly(home_directory, v.Split(';'));
                    i += 2;
                    break;

                case "-open":
                    open_file = v;
                    i        += 2;
                    break;

                default:
                    i++;
                    break;
                }
            }

            if (open_file != null && TryToSendOpenFileMessage(open_file))
            {
                return(null);                                                       //別インスタンスに送信
            }
            PoderosaStartupContext ctx = new PoderosaStartupContext(pm, home_directory, preference_home, args, open_file);

            return(new InternalPoderosaWorld(ctx));
        }