X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/8098d5853359ee5b7b9c1ba3a57619af75a8374f..3361b80ae3610326f7ade972a6d10f454e20a048:/macosx/osxwin.m diff --git a/macosx/osxwin.m b/macosx/osxwin.m index e534c909..f61e6bff 100644 --- a/macosx/osxwin.m +++ b/macosx/osxwin.m @@ -232,15 +232,9 @@ /* * Set up a backend. */ - { - int i; + back = backend_from_proto(cfg.protocol); + if (!back) back = &pty_backend; - for (i = 0; backends[i].backend != NULL; i++) - if (backends[i].protocol == cfg.protocol) { - back = backends[i].backend; - break; - } - } { const char *error; @@ -794,6 +788,11 @@ return term_data(term, is_stderr, data, len); } +- (int)fromBackendUntrusted:(const char *)data len:(int)len +{ + return term_data_untrusted(term, data, len); +} + - (void)startAlert:(NSAlert *)alert withCallback:(void (*)(void *, int))callback andCtx:(void *)ctx { @@ -885,6 +884,11 @@ // FIXME: else show restart menu item } +- (Terminal *)term +{ + return term; +} + @end int from_backend(void *frontend, int is_stderr, const char *data, int len) @@ -893,6 +897,19 @@ int from_backend(void *frontend, int is_stderr, const char *data, int len) return [win fromBackend:data len:len isStderr:is_stderr]; } +int from_backend_untrusted(void *frontend, const char *data, int len) +{ + SessionWindow *win = (SessionWindow *)frontend; + return [win fromBackendUntrusted:data len:len]; +} + +int get_userpass_input(prompts_t *p, unsigned char *in, int inlen) +{ + SessionWindow *win = (SessionWindow *)p->frontend; + Terminal *term = [win term]; + return term_get_userpass_input(term, p, in, inlen); +} + void frontend_keypress(void *handle) { /* FIXME */ @@ -915,7 +932,7 @@ void ldisc_update(void *frontend, int echo, int edit) char *get_ttymode(void *frontend, const char *mode) { - SessionWindow *win = (SessionWindow *)ctx; + SessionWindow *win = (SessionWindow *)frontend; Terminal *term = [win term]; return term_get_ttymode(term, mode); } @@ -932,7 +949,7 @@ void update_specials_menu(void *frontend) * may want to perform additional actions on any kind of bell (for * example, taskbar flashing in Windows). */ -void beep(void *frontend, int mode) +void do_beep(void *frontend, int mode) { //SessionWindow *win = (SessionWindow *)frontend; if (mode != BELL_VISUAL) @@ -1169,7 +1186,7 @@ void get_clip(void *frontend, wchar_t ** p, int *len) /* FIXME */ } -void write_clip(void *frontend, wchar_t * data, int len, int must_deselect) +void write_clip(void *frontend, wchar_t *data, int *attr, int len, int must_deselect) { //SessionWindow *win = (SessionWindow *)frontend; /* FIXME */