[Freeswitch-svn] [commit] r3854 - in freeswitch/trunk/src: include mod/languages/mod_spidermonkey
Freeswitch SVN
mikej at freeswitch.org
Wed Dec 27 17:47:47 EST 2006
Author: mikej
Date: Wed Dec 27 17:47:46 2006
New Revision: 3854
Modified:
freeswitch/trunk/src/include/switch_apr.h
freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
Log:
add FileDelete function to spidermonkey takes 1 param, the path of the file to delete, using / as the path seperator, regardless of unix vs. windows. returns true is it was successfull, otherwise false
Modified: freeswitch/trunk/src/include/switch_apr.h
==============================================================================
--- freeswitch/trunk/src/include/switch_apr.h (original)
+++ freeswitch/trunk/src/include/switch_apr.h Wed Dec 27 17:47:46 2006
@@ -193,6 +193,16 @@
#define switch_file_close apr_file_close
/**
+ * Delete the specified file.
+ * @param path The full path to the file (using / on all systems)
+ * @param pool The pool to use.
+ * @remark If the file is open, it won't be removed until all
+ * instances are closed.
+ */
+DoxyDefine(apr_status_t apr_file_remove(const char *path, apr_pool_t *pool);)
+#define switch_file_remove apr_file_remove
+
+/**
* Read data from the specified file.
* @param thefile The file descriptor to read from.
* @param buf The buffer to store the data to.
Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Wed Dec 27 17:47:46 2006
@@ -2239,6 +2239,20 @@
return JS_TRUE;
}
+static JSBool js_file_unlink(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+ const char *path;
+ *rval = BOOLEAN_TO_JSVAL( JS_FALSE );
+ if ( argc > 0 && (path = (const char *)JS_GetStringBytes(JS_ValueToString(cx, argv[0])))) {
+ if ((switch_file_remove(path, NULL)) == SWITCH_STATUS_SUCCESS) {
+ *rval = BOOLEAN_TO_JSVAL( JS_TRUE );
+ }
+ return JS_TRUE;
+ }
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Arguements\n");
+ return JS_FALSE;
+}
+
static JSFunctionSpec fs_functions[] = {
{"console_log", js_log, 2},
{"exit", js_exit, 0},
@@ -2246,6 +2260,7 @@
{"bridge", js_bridge, 2},
{"apiExecute", js_api_execute, 2},
{"use", js_api_use, 1},
+ {"FileDelete", js_file_unlink, 1},
#ifdef HAVE_CURL
{"fetchURLHash", js_fetchurl_hash, 1},
{"fetchURLFile", js_fetchurl_file, 1},
More information about the Freeswitch-svn
mailing list