From 8b672ee655aaee8e8a2002643846147997a8eaf8 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sat, 9 Apr 2016 15:15:33 +0000 Subject: Rewrite fl_open_uri.cxx under the driver model. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Darwin/Fl_Darwin_System_Driver.H | 3 +++ src/drivers/Darwin/Fl_Darwin_System_Driver.cxx | 10 ++++++++++ 2 files changed, 13 insertions(+) (limited to 'src/drivers/Darwin') diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.H b/src/drivers/Darwin/Fl_Darwin_System_Driver.H index 0bfce80d0..6cdd3b77f 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.H +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.H @@ -44,6 +44,8 @@ class Fl_Darwin_System_Driver : public Fl_System_Driver { +private: + int run_program(const char *program, char **argv, char *msg, int msglen); public: Fl_Darwin_System_Driver(); virtual int single_arg(const char *arg); @@ -71,6 +73,7 @@ public: virtual int filename_list(const char *d, dirent ***list, int (*sort)(struct dirent **, struct dirent **) ); virtual const char *getpwnam(const char *login); virtual int need_menu_handle_part2() {return 1;} + virtual int open_uri(const char *uri, char *msg, int msglen); }; #endif // FL_DARWIN_SYSTEM_DRIVER_H diff --git a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx index 2584a21c7..c8c8c0c32 100644 --- a/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx +++ b/src/drivers/Darwin/Fl_Darwin_System_Driver.cxx @@ -143,6 +143,16 @@ const char *Fl_Darwin_System_Driver::getpwnam(const char *login) { return pwd ? pwd->pw_dir : NULL; } +int Fl_Darwin_System_Driver::open_uri(const char *uri, char *msg, int msglen) +{ + char *argv[3]; // Command-line arguments + argv[0] = (char*)"open"; + argv[1] = (char*)uri; + argv[2] = (char*)0; + if (msg) snprintf(msg, msglen, "open %s", uri); + return run_program("/usr/bin/open", argv, msg, msglen) != 0; +} + // // End of "$Id$". -- cgit v1.2.3