static void destroy_and_quit(VteTerminal *terminal, GtkWidget *window) { const char *output_file = g_object_get_data (G_OBJECT (terminal), "output_file"); if (output_file) { GFile *file; GOutputStream *stream; GError *error = NULL; file = g_file_new_for_commandline_arg (output_file); stream = G_OUTPUT_STREAM (g_file_replace (file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &error)); if (stream) { vte_terminal_write_contents (terminal, stream, VTE_TERMINAL_WRITE_DEFAULT, NULL, &error); g_object_unref (stream); } if (error) { g_printerr ("%s\n", error->message); g_error_free (error); } g_object_unref (file); } gtk_widget_destroy (window); gtk_main_quit (); }
static VALUE rg_write_contents(int argc, VALUE *argv, VALUE self) { VALUE stream, flags, rb_cancellable; GCancellable *cancellable; gboolean result; GError *error = NULL; rb_scan_args(argc, argv, "21", &stream, &flags, &rb_cancellable); cancellable = NIL_P(rb_cancellable) ? NULL : RVAL2GCANCELLABLE(rb_cancellable); result = vte_terminal_write_contents(_SELF(self), RVAL2GOUTPUTSTREAM(stream), RVAL2VTETERMINALWRITEFLAGS(flags), cancellable, &error); if (error) RAISE_GERROR(error); return CBOOL2RVAL(result); }
static VALUE rg_write_contents(int argc, VALUE *argv, VALUE self) { VALUE stream, flags, rb_cancellable; GCancellable *cancellable; gboolean result; GError *error = NULL; rb_scan_args(argc, argv, "21", &stream, &flags, &rb_cancellable); cancellable = NIL_P(rb_cancellable) ? NULL : RVAL2GOBJ(rb_cancellable); result = vte_terminal_write_contents(_SELF(self), RVAL2GOBJ(stream), RVAL2GENUM(flags, VTE_TYPE_TERMINAL_WRITE_FLAGS), cancellable, &error); if (error) RAISE_GERROR(error); return CBOOL2RVAL(result); }