DoxyDefine(apr_status_t switch_file_close(switch_file_t *file);)
#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.
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},
{"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},