From a0b8680a6d1f448491326cdfad7c7c31e38861a0 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Mon, 29 Sep 2008 19:35:30 +0000 Subject: Minimal ARexx port. Port name: NETSURF Commands supported: OPEN OPEN URL/A Opens URL specified by URL argument in new browser window. svn path=/trunk/netsurf/; revision=5462 --- amiga/arexx.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 amiga/arexx.c (limited to 'amiga/arexx.c') diff --git a/amiga/arexx.c b/amiga/arexx.c new file mode 100755 index 000000000..3c3c77c35 --- /dev/null +++ b/amiga/arexx.c @@ -0,0 +1,65 @@ +/* + * Copyright 2008 Chris Young + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "arexx.h" +#include +#include +#include +#include "desktop/browser.h" + +enum +{ + RX_OPEN=0, +}; + +STATIC VOID rx_open(struct ARexxCmd *, struct RexxMsg *); + +STATIC struct ARexxCmd Commands[] = +{ + {"OPEN",RX_OPEN,rx_open,"URL/A", 0, NULL, 0, 0, NULL }, + { NULL, 0, NULL, NULL, 0, NULL, 0, 0, NULL } +}; + +void ami_arexx_init() +{ + if(arexx_obj = ARexxObject, + AREXX_HostName,"NETSURF", + AREXX_Commands,Commands, + AREXX_NoSlot,TRUE, + AREXX_ReplyHook,NULL, + AREXX_DefExtension,"nsrx", + End) + { + GetAttr(AREXX_SigMask, arexx_obj, &rxsig); + } +} + +void ami_arexx_handle() +{ + RA_HandleRexx(arexx_obj); +} + +void ami_arexx_cleanup() +{ + if(arexx_obj) DisposeObject(arexx_obj); +} + +STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unused))) +{ + browser_window_create((char *)cmd->ac_ArgList[0],NULL,NULL,true,false); +} -- cgit v1.2.3