diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2008-09-29 19:35:30 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2008-09-29 19:35:30 +0000 |
commit | a0b8680a6d1f448491326cdfad7c7c31e38861a0 (patch) | |
tree | f57a312ad183e86223e870061c6db2be4ed04453 /amiga/arexx.c | |
parent | eca332c8d57225f37ce8d98c1bcd46d436be9f65 (diff) | |
download | netsurf-a0b8680a6d1f448491326cdfad7c7c31e38861a0.tar.gz netsurf-a0b8680a6d1f448491326cdfad7c7c31e38861a0.tar.bz2 |
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
Diffstat (limited to 'amiga/arexx.c')
-rwxr-xr-x | amiga/arexx.c | 65 |
1 files changed, 65 insertions, 0 deletions
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 <chris@unsatisfactorysoftware.co.uk> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#include "arexx.h" +#include <reaction/reaction_macros.h> +#include <string.h> +#include <proto/intuition.h> +#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); +} |