示例#1
0
 public ConnectionTag OpenConnection(TerminalParam param)
 {
     lock(this) {
         _terminalParam = param;
         SendMessageCore(CService.OpenConnection);
     }
     return _resultConnection;
 }
示例#2
0
 internal void Import(TerminalParam r)
 {
     _encoding      = r._encoding;
     _logtype       = r._logtype;
     _logpath       = r._logpath;
     _localecho     = r._localecho;
     _transmitnl    = r._transmitnl;
     _lineFeedRule  = r._lineFeedRule;
     _terminalType  = r._terminalType;
     _renderProfile = r._renderProfile == null ? null : new RenderProfile(r._renderProfile);
     _caption       = r._caption;
 }
示例#3
0
 public static ConnectionTag CreateNewConnection(TerminalParam param)
 {
     if(param is SerialTerminalParam)
         return CreateNewSerialConnection(GEnv.Frame, (SerialTerminalParam)param);
     else if(param is LocalShellTerminalParam)
         return CreateNewLocalShellConnection(GEnv.Frame, (LocalShellTerminalParam)param);
     else {
         SilentClient s = new SilentClient();
         SocketWithTimeout swt = StartNewConnection(s, (TCPTerminalParam)param, null, null);
         if(swt==null) return null;
         else return s.Wait(swt);
     }
 }
示例#4
0
        public override bool Equals(object t_)
        {
            TerminalParam t = t_ as TerminalParam;

            if (t == null)
            {
                return(false);
            }

            return
                (_encoding == t.Encoding &&
                 _localecho == t.LocalEcho &&
                 _transmitnl == t.TransmitNL &&
                 _lineFeedRule == t.LineFeedRule &&
                 _terminalType == t.TerminalType);
        }
示例#5
0
 private string ReturnLogPath(TerminalParam p)
 {
     return p.LogPath;
 }
示例#6
0
 private string ReturnAccount(TerminalParam p)
 {
     SSHTerminalParam pp = p as SSHTerminalParam;
     return pp==null? null : pp.Account;
 }
示例#7
0
 public void ReplaceIdenticalParam(TerminalParam newparam_)
 {
     int n = 0;
     TerminalParam newparam = (TerminalParam)newparam_.Clone();
     newparam.LogPath = "";
     newparam.LogType = LogType.None;
     foreach(TerminalParam p in _history) {
         if(p.Equals(newparam)) {
             _history[n] = newparam;
             return;
         }
         n++;
     }
 }
示例#8
0
 internal void Import(TerminalParam r)
 {
     _encoding = r._encoding;
     _logtype = r._logtype;
     _logpath = r._logpath;
     _localecho = r._localecho;
     _transmitnl = r._transmitnl;
     _lineFeedRule = r._lineFeedRule;
     _terminalType = r._terminalType;
     _renderProfile = r._renderProfile==null? null : new RenderProfile(r._renderProfile);
     _caption = r._caption;
 }
示例#9
0
 /// <summary>
 /// <ja>�V�����ڑ���J���܂��B</ja>
 /// <en>Opens a new connection.</en>
 /// </summary>
 /// <remarks>
 /// <ja>���s�����Ƃ��̓��b�Z�[�W�{�b�N�X�Œʒm��������null���Ԃ�܂��B</ja>
 /// <en>If the connection fails, Poderosa shows an error message box and returns null to the macro.</en>
 /// </remarks>
 /// <seealso cref="TerminalParam"/>
 /// <seealso cref="TCPTerminalParam"/>
 /// <seealso cref="TelnetTerminalParam"/>
 /// <seealso cref="SSHTerminalParam"/>
 /// <seealso cref="SerialTerminalParam"/>
 /// <param name="param"><ja>�ڑ��ɕK�v�ȃp�����[�^����^����<see cref="TerminalParam"/>�I�u�W�F�N�g</ja><en>The <see cref="TerminalParam"/> object that contains parameters for the connection.</en></param>
 /// <returns><ja>�V�����J���ꂽ<see cref="Connection"/>�I�u�W�F�N�g</ja><en>A <see cref="Connection"/> object that describes the new connection.</en></returns>
 public abstract Connection Open(TerminalParam param);
示例#10
0
文件: Log.cs 项目: nospy/EasyConnect
        public XmlLogger(StreamWriter w, TerminalParam p)
        {
            _writer = new XmlTextWriter(w);
            _writer.WriteStartDocument();
            _writer.WriteStartElement("terminal-log");

            //�ڑ����̃A�g���r���[�g���������
            _writer.WriteAttributeString("time", DateTime.Now.ToString());
        }
示例#11
0
 public override PConnection Open(TerminalParam param) {
     ITerminalSession ts = MacroUtil.InvokeOpenSessionOrNull(MacroPlugin.Instance.WindowManager.ActiveWindow, param);
     return ts == null ? null : new ConnectionImpl(ts);
 }
示例#12
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="parameters">Parameters describing the terminal.</param>
 public StreamConnection(TerminalParam parameters)
     : base(parameters, 80, 25)
 {
     Capture = true;
 }
示例#13
0
        public static ITerminalSession InvokeOpenSessionOrNull(ICommandTarget target, TerminalParam param)
        {
            ITerminalParameter tp = param.ConvertToTerminalParameter();
            ITerminalSettings ts = CreateTerminalSettings(param);

            IViewManager pm = CommandTargetUtil.AsWindow(target).ViewManager;
            //�Ɨ��E�B���h�E�Ƀ|�b�v�A�b�v������悤�Ȃ��Ƃ͍l���Ă��Ȃ�
            IContentReplaceableView rv = (IContentReplaceableView)pm.GetCandidateViewForNewDocument().GetAdapter(typeof(IContentReplaceableView));
            TerminalControl tc = (TerminalControl)rv.GetCurrentContent().GetAdapter(typeof(TerminalControl));
            if (tc != null) { //�^�[�~�i���R���g���[�����Ȃ��Ƃ��͖����ɐݒ肵�ɂ����Ȃ�
                RenderProfile rp = ts.UsingDefaultRenderProfile ? MacroPlugin.Instance.TerminalEmulatorService.TerminalEmulatorOptions.CreateRenderProfile() : ts.RenderProfile;
                Size sz = tc.CalcTerminalSize(rp);
                tp.SetTerminalSize(sz.Width, sz.Height);
            }

            return (ITerminalSession)MacroPlugin.Instance.WindowManager.ActiveWindow.AsForm().Invoke(new OpenSessionDelegate(OpenSessionOrNull), tp, ts);
        }
示例#14
0
 /*
 public TelnetCode[] RefusedOptions {
     get {
         return (TelnetCode[])_refusedOptions.ToArray(typeof(TelnetCode));
     }
 }
 */
 public TelnetNegotiator(TerminalParam param, int width, int height)
 {
     _param = param;
     _refusedOptions = new ArrayList();
     _width = width;
     _height = height;
     _warnings = new ArrayList();
     _state = TelnetCode.NA;
     _sequenceBuffer = new MemoryStream();
     _optionWriter = new TelnetOptionWriter();
     _defaultOptionSent = false;
 }
示例#15
0
 public override PConnection Open(TerminalParam param)
 {
     ConnectionTag con = GApp.InterThreadUIService.OpenConnection(param);
     return con==null? null : new ConnectionImpl(con);
 }
        public ConnectionTag SilentNewConnection(TerminalParam p)
        {
            if(!CheckPaneCount()) return null;

            ConnectionTag con = null;
            if(p is SSHTerminalParam) {
                SSHTerminalParam tp = (SSHTerminalParam)p;
                con = CommunicationUtil.CreateNewConnection(tp, null);
            }
            else if(p is TelnetTerminalParam) {
                TelnetTerminalParam tp = (TelnetTerminalParam)p;
                con = CommunicationUtil.CreateNewConnection(tp);
            }
            else if(p is SerialTerminalParam) {
                SerialTerminalParam tp = (SerialTerminalParam)p;
                con = CommunicationUtil.CreateNewSerialConnection(_frame, tp);
            }
            else if(p is LocalShellTerminalParam) {
                LocalShellTerminalParam tp = (LocalShellTerminalParam)p;
                con = CommunicationUtil.CreateNewLocalShellConnection(_frame, tp);
            }

            if(con!=null)
            {
                AddNewTerminal(con);

            }
            return con;
        }
示例#17
0
 public FakeConnection(TerminalParam param)
     : base(param, 80, 25)
 {
 }
示例#18
0
 internal TerminalParam(TerminalParam r)
 {
     Import(r);
 }
示例#19
0
 protected TCPTerminalConnection(TerminalParam p, int w, int h)
     : base(p, w, h)
 {
     _usingSocks = false;
 }
示例#20
0
 public TelnetTerminalConnection(TerminalParam p, TelnetNegotiator neg, AbstractGuevaraSocket s, int width, int height)
     : base(p, width, height)
 {
     _socket = s;
     _negotiator = neg;
 }
示例#21
0
 protected TerminalConnection(TerminalParam p, int width, int height)
 {
     _param = p;
     _width = width;
     _height = height;
     ResetLog(p.LogType, p.LogPath, p.LogAppend);
     _logsuspended = false;
 }
示例#22
0
 internal TerminalParam(TerminalParam r)
 {
     Import(r);
 }
示例#23
0
        public static ITerminalSession InvokeOpenSessionOrNull(ICommandTarget target, TerminalParam param)
        {
            ITerminalParameter tp = param.ConvertToTerminalParameter();
            ITerminalSettings ts = CreateTerminalSettings(param);

            IViewManager pm = CommandTargetUtil.AsWindow(target).ViewManager;
            //独立ウィンドウにポップアップさせるようなことは考えていない
            IContentReplaceableView rv = (IContentReplaceableView)pm.GetCandidateViewForNewDocument().GetAdapter(typeof(IContentReplaceableView));
            TerminalControl tc = (TerminalControl)rv.GetCurrentContent().GetAdapter(typeof(TerminalControl));
            if (tc != null) { //ターミナルコントロールがないときは無理に設定しにいかない
                RenderProfile rp = ts.UsingDefaultRenderProfile ? MacroPlugin.Instance.TerminalEmulatorService.TerminalEmulatorOptions.CreateRenderProfile() : ts.RenderProfile;
                Size sz = tc.CalcTerminalSize(rp);
                tp.SetTerminalSize(sz.Width, sz.Height);
            }

            return (ITerminalSession)MacroPlugin.Instance.WindowManager.ActiveWindow.AsForm().Invoke(new OpenSessionDelegate(OpenSessionOrNull), tp, ts);
        }
示例#24
0
 public void Append(TerminalParam tp)
 {
     _history.Add(tp);
 }
示例#25
0
 private static ISimpleLogSettings CreateSimpleLogSettings(TerminalParam param)
 {
     ISimpleLogSettings logsettings = MacroPlugin.Instance.TerminalEmulatorService.CreateDefaultSimpleLogSettings();
     logsettings.LogPath = param.LogPath;
     logsettings.LogType = param.LogType;
     logsettings.LogAppend = param.LogAppend;
     return logsettings;
 }
示例#26
0
        //�ŐV��MRU���X�g�ɍX�V
        public void Update(TerminalParam newparam_)
        {
            int n = 0;
            TerminalParam newparam = (TerminalParam)newparam_.Clone();
            newparam.LogPath = "";
            newparam.LogType = LogType.None;
            foreach(TerminalParam p in _history) {
                if(p.Equals(newparam)) {
                    _history.RemoveAt(n);
                    _history.Insert(0, newparam);
                    return;
                }
                n++;
            }

            _history.Insert(0, newparam);
            //�����^�C���ɏo�Ă����␔�͖������ɂ���
            if(_history.Count > 100)
                _history.RemoveRange(GApp.Options.MRUSize, _history.Count-100);
        }
示例#27
0
 private static ITerminalSettings CreateTerminalSettings(TerminalParam param)
 {
     ITerminalSettings ts = MacroPlugin.Instance.TerminalEmulatorService.CreateDefaultTerminalSettings(param.Caption, null);
     ts.BeginUpdate();
     ts.RenderProfile = param.RenderProfile;
     ts.TransmitNL = param.TransmitNL;
     ts.LocalEcho = param.LocalEcho;
     ts.Encoding = param.Encoding;
     if (param.LogType != LogType.None)
         ts.LogSettings.Reset(CreateSimpleLogSettings(param));
     ts.EndUpdate();
     return ts;
 }
示例#28
0
 private string ReturnHost(TerminalParam p)
 {
     TCPTerminalParam pp = p as TCPTerminalParam;
     return pp==null? null : pp.Host;
 }
        public CommandResult NewConnection(TerminalParam p)
        {
            if(!CheckPaneCount()) return CommandResult.Denied;

            ConnectionTag con = null;
            if(p is TCPTerminalParam) {
                TCPTerminalParam param = (TCPTerminalParam)p;
                if(param.IsSSH) {
                    SSHShortcutLoginDialog dlg = new SSHShortcutLoginDialog((SSHTerminalParam)param);
                    if(GCUtil.ShowModalDialog(_frame, dlg)==DialogResult.OK)
                        con = dlg.Result;
                }
                else
                    con = CommunicationUtil.CreateNewConnection(param);
            }
            else if(p is SerialTerminalParam) {
                SerialTerminalParam param = (SerialTerminalParam)p;
                con = CommunicationUtil.CreateNewSerialConnection(_frame, param);
            }
            else if(p is LocalShellTerminalParam) {
                LocalShellTerminalParam param = (LocalShellTerminalParam)p;
                con = CommunicationUtil.CreateNewLocalShellConnection(_frame, param);
            }

            if(con!=null) {
                AddNewTerminal(con);
                return CommandResult.Success;
            }
            else
                return CommandResult.Cancelled;
        }
示例#30
0
 private int ReturnPort(TerminalParam p)
 {
     TCPTerminalParam pp = p as TCPTerminalParam;
     return pp==null? -1 : pp.Port;
 }
 protected TerminalConnection(TerminalParam p, int width, int height)
 {
     _param = p;
     _width = width;
     _height = height;
     ResetLog(p.LogType, p.LogPath, p.LogAppend, p.ControlName);//edited by xavier
     _logsuspended = false;
 }