예제 #1
0
        public void Pluginsフォルダの中のdllファイルを列挙()
        {
            //setUp
            const string currentDir = @"C:\tmp2\bjd5\BJD\out";

            var sut = new ListPlugin(currentDir);
            const int expected = 17;
            //exercise
            var actual = sut.Count;
            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
예제 #2
0
        public void Pluginsフォルダの中のdllファイルを列挙()
        {
            //setUp
            const string currentDir = @"C:\tmp2\bjd5\BJD\out";

            var       sut      = new ListPlugin(currentDir);
            const int expected = 17;
            //exercise
            var actual = sut.Count;

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
예제 #3
0
        public void Option及びServerインスタンスの生成()
        {
            var kernel = new Kernel();
            const string currentDir = @"C:\tmp2\bjd5\BJD\out";

            var sut = new ListPlugin(string.Format("{0}\\bin\\plugins", currentDir));
            foreach (var onePlugin in sut) {
            //Optionインスタンス生成
            var oneOption = onePlugin.CreateOption(kernel,"Option","nameTag");
            Assert.NotNull(oneOption);

            //Serverインスタンス生成
            var conf = new Conf(oneOption);
            var oneBind = new OneBind(new Ip(IpKind.V4Localhost), ProtocolKind.Tcp);
            var oneServer = onePlugin.CreateServer(kernel, conf, oneBind);
            Assert.NotNull(oneServer);
            }
        }
예제 #4
0
        public void Option及びServerインスタンスの生成()
        {
            var          kernel     = new Kernel();
            const string currentDir = @"C:\tmp2\bjd5\BJD\out";


            var sut = new ListPlugin(string.Format("{0}\\bin\\plugins", currentDir));

            foreach (var onePlugin in sut)
            {
                //Optionインスタンス生成
                var oneOption = onePlugin.CreateOption(kernel, "Option", "nameTag");
                Assert.NotNull(oneOption);

                //Serverインスタンス生成
                var conf      = new Conf(oneOption);
                var oneBind   = new OneBind(new Ip(IpKind.V4Localhost), ProtocolKind.Tcp);
                var oneServer = onePlugin.CreateServer(kernel, conf, oneBind);
                Assert.NotNull(oneServer);
            }
        }
예제 #5
0
파일: Kernel.cs 프로젝트: schifflee/bjd5
        //�T�[�o�ċN���ŁA�ēx���s����鏉����
        public void ListInitialize()
        {
            //Logger���g�p�ł��Ȃ��Ԃ̃��O�́A������ɕۑ����āA���Logger�ɑ���
            var tmpLogger = new TmpLogger();

            //************************************************************
            // �j��
            //************************************************************
            if (ListOption != null)
            {
                ListOption.Dispose();
                ListOption = null;
            }
            //Java fix
            if (ListTool != null)
            {
                ListTool.Dispose();
                ListTool = null;
            }
            if (ListServer != null)
            {
                ListServer.Dispose();
                ListServer = null;
            }
            if (MailBox != null)
            {
                MailBox = null;
            }
            if (LogFile != null)
            {
                LogFile.Dispose();
                LogFile = null;
            }

            //************************************************************
            // ������
            //************************************************************
            //ListPlugin �́BListOption��ListServer�����������Ԃ�����������
            //isTest=true�̏ꍇ�A�p�X��""�ɂ��āA�v���O�C��0�‚ŏ�������������

            //ListPlugin listPlugin = new ListPlugin((isTest) ? "" : string.Format("%s\\plugins", getProgDir()));
            var listPlugin = new ListPlugin(ProgDir());

            foreach (var o in listPlugin)
            {
                //�����[�g�N���C�A���g�̏ꍇ�A���̃��O�́A��₱�����̂ŕ\�����Ȃ�
                if (RunMode == RunMode.Normal)
                {
                    tmpLogger.Set(LogKind.Detail, null, 9000008, string.Format("{0}Server", o.Name));
                }
            }

            //ListOption�Ŋe�I�v�V���������������O�ɁAisJp�����͏��������Ă����K�v������̂�
            //�ŏ���OptionBasic��lang������ǂݏo��
            //Ver5.8.6 Java fix
            //_isJp = OptionIni.GetInstance().IsJp();
            _isJp = IniDb.IsJp();

            ListOption = new ListOption(this, listPlugin);

            //Ver5.9.1
            //���߂Ă�����ʉ߂���Ƃ��A�ߋ��̃o�[�W������Option��ǂݍ��ނ�
            //���I�v�V�����̓I�u�W�F�N�g�̒���OneOption�ɂ̂ݕێ������
            //���̏�ԂŁA�����̃I�v�V�����w���OK����ƁA���̃I�v�V�����ȊO��
            //Option.ini�ɕۑ�����Ȃ����ߔj������Ă��܂�
            //���̖��ɑΏ����邽�߁A�����ň�x�AOption.ini��ۑ����邱�Ƃɂ���
            if (!_isTest)
            {
                ListOption.Save(IniDb);
            }


            //OptionBasic
            var confBasic = new Conf(ListOption.Get("Basic"));

            EditBrowse = (bool)confBasic.Get("editBrowse");

            //OptionLog
            var confOption = new Conf(ListOption.Get("Log"));

            LogView.SetFont((Font)confOption.Get("font"));

            if (RunMode == RunMode.Normal || RunMode == RunMode.Service)
            {
                //LogFile�̏�����
                var saveDirectory = (String)confOption.Get("saveDirectory");
                saveDirectory = ReplaceOptionEnv(saveDirectory);
                var normalLogKind = (int)confOption.Get("normalLogKind");
                var secureLogKind = (int)confOption.Get("secureLogKind");
                var saveDays      = (int)confOption.Get("saveDays");
                //Ver6.0.7
                var useLogFile  = (bool)confOption.Get("useLogFile");
                var useLogClear = (bool)confOption.Get("useLogClear");
                if (!useLogClear)
                {
                    saveDays = 0; //���O�̎����폜�������ȏꍇ�AsaveDays��0��Z�b�g����
                }
                if (saveDirectory == "")
                {
                    tmpLogger.Set(LogKind.Error, null, 9000045, "It is not appointed");
                }
                else
                {
                    tmpLogger.Set(LogKind.Detail, null, 9000032, saveDirectory);
                    try{
                        LogFile = new LogFile(saveDirectory, normalLogKind, secureLogKind, saveDays, useLogFile);
                    } catch (IOException e) {
                        LogFile = null;
                        tmpLogger.Set(LogKind.Error, null, 9000031, e.Message);
                    }
                }

                //Ver5.8.7 Java fix
                //mailBox������
                foreach (var o in ListOption)
                {
                    //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X�����������
                    if (o.NameTag == "Smtp" || o.NameTag == "Pop3")
                    {
                        if (o.UseServer)
                        {
                            var conf    = new Conf(ListOption.Get("MailBox"));
                            var dir     = ReplaceOptionEnv((String)conf.Get("dir"));
                            var datUser = (Dat)conf.Get("user");
                            var logger  = CreateLogger("MailBox", (bool)conf.Get("useDetailsLog"), null);
                            MailBox = new MailBox(logger, datUser, dir);
                            break;
                        }
                    }
                }
            }
            _logger = CreateLogger("kernel", true, null);
            tmpLogger.Release(_logger);


            //Ver5.8.7 Java fix �����[�g�N���C�A���g�̏ꍇ����[���{�b�N�X��쐬���Ă��܂��o�O��C��
//            //mailBox������
//            foreach (var o in ListOption){
//                //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X�����������
//                if (o.NameTag == "Smtp" || o.NameTag == "Pop3"){
//                    if (o.UseServer){
//                        var conf = new Conf(ListOption.Get("MailBox"));
//                        MailBox = new MailBox(this, conf);
//                        break;
//                    }
//                }
//            }

            ListServer = new ListServer(this, listPlugin);

            ListTool = new ListTool();
            ListTool.Initialize(this);

            View.SetColumnText();    //Log�r���[�̃J�����e�L�X�g�̏�����
            Menu.Initialize(IsJp()); //���j���[�\�z�i����e�[�u���̏������j

            WebApi = new WebApi();
        }
예제 #6
0
파일: Kernel.cs 프로젝트: jsakamoto/bjd5
        //�T�[�o�ċN���ŁA�ēx���s����鏉����
        public void ListInitialize()
        {
            //Logger���g�p�ł��Ȃ��Ԃ̃��O�́A������ɕۑ����āA���Logger�ɑ���
            var tmpLogger = new TmpLogger();

            //************************************************************
            // �j��
            //************************************************************
            if (ListOption != null){
                ListOption.Dispose();
                ListOption = null;
            }
            //Java fix
            if (ListTool != null){
                ListTool.Dispose();
                ListTool = null;
            }
            if (ListServer != null){
                ListServer.Dispose();
                ListServer = null;
            }
            if (MailBox != null){
                MailBox = null;
            }
            if (LogFile != null){
                LogFile.Dispose();
                LogFile = null;
            }

            //************************************************************
            // ������
            //************************************************************
            //ListPlugin �́BListOption��ListServer�����������Ԃ�����������
            //isTest=true�̏ꍇ�A�p�X��""�ɂ��āA�v���O�C��0�‚ŏ�������������

            //ListPlugin listPlugin = new ListPlugin((isTest) ? "" : string.Format("%s\\plugins", getProgDir()));
            var listPlugin = new ListPlugin(ProgDir());
            foreach (var o in listPlugin){
                //�����[�g�N���C�A���g�̏ꍇ�A���̃��O�́A��₱�����̂ŕ\�����Ȃ�
                if (RunMode == RunMode.Normal){
                    tmpLogger.Set(LogKind.Detail, null, 9000008, string.Format("{0}Server", o.Name));
                }
            }

            //ListOption�Ŋe�I�v�V���������������O�ɁAisJp�����͏��������Ă����K�v������̂�
            //�ŏ���OptionBasic��lang������ǂݏo��
            //Ver5.8.6 Java fix
            //_isJp = OptionIni.GetInstance().IsJp();
            _isJp = IniDb.IsJp();

            ListOption = new ListOption(this, listPlugin);

            //Ver5.9.1
            //���߂Ă�����ʉ߂���Ƃ��A�ߋ��̃o�[�W������Option��ǂݍ��ނ�
            //���I�v�V�����̓I�u�W�F�N�g�̒���OneOption�ɂ̂ݕێ������
            //���̏�ԂŁA�����̃I�v�V�����w���OK����ƁA���̃I�v�V�����ȊO��
            //Option.ini�ɕۑ�����Ȃ����ߔj������Ă��܂�
            //���̖��ɑΏ����邽�߁A�����ň�x�AOption.ini��ۑ����邱�Ƃɂ���
            if (!_isTest){
                ListOption.Save(IniDb);
            }

            //OptionBasic
            var confBasic = new Conf(ListOption.Get("Basic"));
            EditBrowse = (bool) confBasic.Get("editBrowse");

            //OptionLog
            var confOption = new Conf(ListOption.Get("Log"));
            LogView.SetFont((Font) confOption.Get("font"));

            if (RunMode == RunMode.Normal || RunMode == RunMode.Service){
                //LogFile�̏�����
                var saveDirectory = (String) confOption.Get("saveDirectory");
                saveDirectory = ReplaceOptionEnv(saveDirectory);
                var normalLogKind = (int) confOption.Get("normalLogKind");
                var secureLogKind = (int) confOption.Get("secureLogKind");
                var saveDays = (int) confOption.Get("saveDays");
                //Ver6.0.7
                var useLogFile = (bool)confOption.Get("useLogFile");
                var useLogClear = (bool) confOption.Get("useLogClear");
                if (!useLogClear){
                    saveDays = 0; //���O�̎����폜�������ȏꍇ�AsaveDays��0��Z�b�g����
                }
                if (saveDirectory == ""){
                    tmpLogger.Set(LogKind.Error, null, 9000045, "It is not appointed");
                } else{
                    tmpLogger.Set(LogKind.Detail, null, 9000032, saveDirectory);
                    try{
                        LogFile = new LogFile(saveDirectory, normalLogKind, secureLogKind, saveDays,useLogFile);
                    } catch (IOException e){
                        LogFile = null;
                        tmpLogger.Set(LogKind.Error, null, 9000031, e.Message);
                    }
                }

                //Ver5.8.7 Java fix
                //mailBox������
                foreach (var o in ListOption) {
                    //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X�����������
                    if (o.NameTag == "Smtp" || o.NameTag == "Pop3") {
                        if (o.UseServer) {
                            var conf = new Conf(ListOption.Get("MailBox"));
                            var dir = ReplaceOptionEnv((String) conf.Get("dir"));
                            var datUser = (Dat) conf.Get("user");
                            var logger = CreateLogger("MailBox", (bool)conf.Get("useDetailsLog"), null);
                            MailBox = new MailBox(logger,datUser, dir);
                            break;
                        }
                    }
                }

            }
            _logger = CreateLogger("kernel", true, null);
            tmpLogger.Release(_logger);

            //Ver5.8.7 Java fix �����[�g�N���C�A���g�̏ꍇ����[���{�b�N�X��쐬���Ă��܂��o�O��C��
            //            //mailBox������
            //            foreach (var o in ListOption){
            //                //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X�����������
            //                if (o.NameTag == "Smtp" || o.NameTag == "Pop3"){
            //                    if (o.UseServer){
            //                        var conf = new Conf(ListOption.Get("MailBox"));
            //                        MailBox = new MailBox(this, conf);
            //                        break;
            //                    }
            //                }
            //            }

            ListServer = new ListServer(this, listPlugin);

            ListTool = new ListTool();
            ListTool.Initialize(this);

            View.SetColumnText(); //Log�r���[�̃J�����e�L�X�g�̏�����
            Menu.Initialize(IsJp()); //���j���[�\�z�i����e�[�u���̏������j

            WebApi = new WebApi();
        }
예제 #7
0
        // 初期化
        private void Initialize(ListPlugin listPlugin)
        {
            Ar.Clear();

            //Java fix
            if (kernel.RunMode == RunMode.Remote)
            {
                return;
            }

            foreach (OneOption op in kernel.ListOption)
            {
                if (!op.UseServer)
                {
                    //サーバオプション以外は対象外にする
                    continue;
                }

                //プラグイン情報の検索
                OnePlugin onePlugin = listPlugin.Get(op.NameTag);
                //			if (onePlugin == null) {
                //				//設計上の問題
                //				Util.RuntimeException(string.Format("ListServer.initialize() listPlugin.get(%s)==null", op.getNameTag()));
                //			}

                if (op.NameTag.IndexOf("Web-") == 0)
                {
                    //既に同一ポートで仮想サーバがリストされている場合はサーバの生成は行わない
                    bool     find     = false;
                    int      port     = (int)op.GetValue("port");
                    BindAddr bindAddr = (BindAddr)op.GetValue("bindAddress2");
                    foreach (OneServer sv in Ar)
                    {
                        if (sv.NameTag.IndexOf("Web-") == 0)
                        {
                            OneOption o = kernel.ListOption.Get(sv.NameTag);
                            if (o != null)
                            {
                                //同一ポートの設定が既にリストされているかどうか
                                if (port == (int)o.GetValue("port"))
                                {
                                    // バインドアドレスが競合しているかどうか
                                    if (bindAddr.CheckCompetition((BindAddr)o.GetValue("bindAddress2")))
                                    {
                                        find = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (!find)
                    {
                        AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成
                    }
                }
                else
                {
                    AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成
                }
            }
        }
예제 #8
0
        public ListServer(Kernel kernel, ListPlugin listPlugin)
        {
            this.kernel = kernel;

            Initialize(listPlugin);
        }
예제 #9
0
        //サーバ再起動で、再度実行される初期化
        public void ListInitialize()
        {
            //Loggerが使用できない間のログは、こちらに保存して、後でLoggerに送る
            var tmpLogger = new TmpLogger();

            //************************************************************
            // 破棄
            //************************************************************
            if (ListOption != null)
            {
                ListOption.Dispose();
                ListOption = null;
            }
            //Java fix
            if (ListTool != null)
            {
                ListTool.Dispose();
                ListTool = null;
            }
            if (ListServer != null)
            {
                ListServer.Dispose();
                ListServer = null;
            }
            if (MailBox != null)
            {
                MailBox = null;
            }
            if (LogFile != null)
            {
                LogFile.Dispose();
                LogFile = null;
            }

            //************************************************************
            // 初期化
            //************************************************************
            //ListPlugin は。ListOptionとListServerを初期化する間だけ生存する
            //isTest=trueの場合、パスを""にして、プラグイン0個で初期化さあせる

            //ListPlugin listPlugin = new ListPlugin((isTest) ? "" : string.Format("%s\\plugins", getProgDir()));
            var listPlugin = new ListPlugin(ProgDir());

            foreach (var o in listPlugin)
            {
                //リモートクライアントの場合、このログは、ややこしいので表示しない
                if (RunMode == RunMode.Normal)
                {
                    tmpLogger.Set(LogKind.Detail, null, 9000008, string.Format("{0}Server", o.Name));
                }
            }

            //ListOptionで各オプションを初期化する前に、isJpだけは初期化しておく必要があるので
            //最初にOptionBasicのlangだけを読み出す
            //Ver5.8.6 Java fix
            //_isJp = OptionIni.GetInstance().IsJp();
            _isJp = IniDb.IsJp();

            ListOption = new ListOption(this, listPlugin);

            //Ver5.9.1
            //初めてここを通過するとき、過去のバージョンのOptionを読み込むと
            //旧オプションはオブジェクトの中のOneOptionにのみ保持される
            //この状態で、何かのオプション指定でOKすると、そのオプション以外が
            //Option.iniに保存されないため破棄されてしまう
            //この問題に対処するため、ここで一度、Option.iniを保存することにする
            if (!_isTest)
            {
                ListOption.Save(IniDb);
            }


            //OptionBasic
            var confBasic = new Conf(ListOption.Get("Basic"));

            EditBrowse = (bool)confBasic.Get("editBrowse");

            //OptionLog
            var confOption = new Conf(ListOption.Get("Log"));

            LogView.SetFont((Font)confOption.Get("font"));

            if (RunMode == RunMode.Normal || RunMode == RunMode.Service)
            {
                //LogFileの初期化
                var saveDirectory = (String)confOption.Get("saveDirectory");
                saveDirectory = ReplaceOptionEnv(saveDirectory);
                var normalLogKind = (int)confOption.Get("normalLogKind");
                var secureLogKind = (int)confOption.Get("secureLogKind");
                var saveDays      = (int)confOption.Get("saveDays");
                //Ver6.0.7
                var useLogFile  = (bool)confOption.Get("useLogFile");
                var useLogClear = (bool)confOption.Get("useLogClear");
                if (!useLogClear)
                {
                    saveDays = 0; //ログの自動削除が無効な場合、saveDaysに0をセットする
                }
                if (saveDirectory == "")
                {
                    tmpLogger.Set(LogKind.Error, null, 9000045, "It is not appointed");
                }
                else
                {
                    tmpLogger.Set(LogKind.Detail, null, 9000032, saveDirectory);
                    try
                    {
                        LogFile = new LogFile(saveDirectory, normalLogKind, secureLogKind, saveDays, useLogFile);
                    }
                    catch (IOException e)
                    {
                        LogFile = null;
                        tmpLogger.Set(LogKind.Error, null, 9000031, e.Message);
                    }
                }

                //Ver5.8.7 Java fix
                //mailBox初期化
                foreach (var o in ListOption)
                {
                    //SmtpServer若しくは、Pop3Serverが使用される場合のみメールボックスを初期化する
                    if (o.NameTag == "Smtp" || o.NameTag == "Pop3")
                    {
                        if (o.UseServer)
                        {
                            var conf    = new Conf(ListOption.Get("MailBox"));
                            var dir     = ReplaceOptionEnv((String)conf.Get("dir"));
                            var datUser = (Dat)conf.Get("user");
                            var logger  = CreateLogger("MailBox", (bool)conf.Get("useDetailsLog"), null);
                            MailBox = new MailBox(logger, datUser, dir);
                            break;
                        }
                    }
                }
            }
            _logger = CreateLogger("kernel", true, null);
            tmpLogger.Release(_logger);


            //Ver5.8.7 Java fix リモートクライアントの場合もメールボックスを作成してしまうバグを修正
            //            //mailBox初期化
            //            foreach (var o in ListOption){
            //                //SmtpServer若しくは、Pop3Serverが使用される場合のみメールボックスを初期化する
            //                if (o.NameTag == "Smtp" || o.NameTag == "Pop3"){
            //                    if (o.UseServer){
            //                        var conf = new Conf(ListOption.Get("MailBox"));
            //                        MailBox = new MailBox(this, conf);
            //                        break;
            //                    }
            //                }
            //            }

            ListServer = new ListServer(this, listPlugin);

            ListTool = new ListTool();
            ListTool.Initialize(this);

            View.SetColumnText();    //Logビューのカラムテキストの初期化
            Menu.Initialize(IsJp()); //メニュー構築(内部テーブルの初期化)

            WebApi = new WebApi();
        }
예제 #10
0
        //オプションリストの初期化
        private void Initialize(ListPlugin listPlugin)
        {
            Ar.Clear();

            //固定的にBasicとLogを生成する
            const string executePath = "";              // Application.ExecutablePath

            Add(new OptionBasic(_kernel, executePath)); //「基本」オプション
            Add(new OptionLog(_kernel, executePath));   //「ログ」オプション

            foreach (var onePlugin in listPlugin)
            {
                var oneOption = onePlugin.CreateOption(_kernel, "Option", onePlugin.Name);
                if (oneOption.NameTag == "Web")
                {
                    //WebServerの場合は、バーチャルホストごとに1つのオプションを初期化する
                    OneOption o = onePlugin.CreateOption(_kernel, "OptionVirtualHost", "VirtualHost");
                    if (Add(o))
                    {
                        var dat = (Dat)o.GetValue("hostList");
                        if (dat != null)
                        {
                            foreach (var e in dat)
                            {
                                if (e.Enable)
                                {
                                    string name = string.Format("Web-{0}:{1}", e.StrList[1], e.StrList[2]);
                                    Add(onePlugin.CreateOption(_kernel, "Option", name));
                                }
                            }
                        }
                    }
                }
                else if (oneOption.NameTag == "Tunnel")
                {
                    //TunnelServerの場合は、1トンネルごとに1つのオプションを初期化する
                    OneOption o = onePlugin.CreateOption(_kernel, "OptionTunnel", "TunnelList");
                    if (Add(o))
                    {
                        var dat = (Dat)o.GetValue("tunnelList");
                        if (dat != null)
                        {
                            foreach (var e in dat)
                            {
                                if (e.Enable)
                                {
                                    string name = string.Format("{0}:{1}:{2}:{3}", (e.StrList[0] == "0") ? "TCP" : "UDP", e.StrList[1], e.StrList[2], e.StrList[3]);
                                    Add(onePlugin.CreateOption(_kernel, "Option", String.Format("Tunnel-{0}", name)));
                                }
                            }
                        }
                    }
                }
                else
                {
                    Add(oneOption);

                    //DnsServerのプラグイン固有オプションの生成
                    if (oneOption.NameTag == "Dns")
                    {
                        OneOption o = onePlugin.CreateOption(_kernel, "OptionDnsDomain", "DnsDomain");
                        if (Add(o))
                        {
                            var dat = (Dat)o.GetValue("domainList");
                            if (dat != null)
                            {
                                foreach (var e in dat)
                                {
                                    if (e.Enable)
                                    {
                                        Add(onePlugin.CreateOption(_kernel, "OptionDnsResource", String.Format("Resource-{0}", e.StrList[0])));
                                    }
                                }
                            }
                        }
                    }
                    else if (oneOption.NameTag == "Smtp")
                    {
                        //Ver6.0.0
                        OneOption o = onePlugin.CreateOption(_kernel, "OptionMl", "Ml");
                        //var o = (OneOption)Util.CreateInstance(kernel, path, "OptionMl", new object[] { kernel, path, "Ml" });
                        if (Add(o))
                        {
                            var dat = (Dat)o.GetValue("mlList");
                            if (dat != null)
                            {
                                foreach (var e in dat)
                                {
                                    if (e.Enable)
                                    {
                                        Add(onePlugin.CreateOption(_kernel, "OptionOneMl", String.Format("Ml-{0}", e.StrList[0])));
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (Get("Smtp") != null || Get("Pop") != null)
            {
                Add(new OptionMailBox(_kernel, Application.ExecutablePath)); //メールボックス
            }
        }
예제 #11
0
 public ListOption(Kernel kernel, ListPlugin listPlugin)
 {
     _kernel = kernel;
     Initialize(listPlugin);
 }