1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
/* asynchronous_method_main_async.c generated by valac, the Vala compiler
* generated from asynchronous_method_main_async.vala, do not modify */
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _ValaMainAsyncData ValaMainAsyncData;
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
struct _ValaMainAsyncData {
int _state_;
GObject* _source_object_;
GAsyncResult* _res_;
GTask* _async_result;
gchar** args;
gint args_length1;
gint result;
const gchar* _tmp0_;
gchar* foo;
const gchar* _tmp1_;
gchar* _tmp2_;
};
static gint _vala_main_async_result;
static void _vala_main_async_data_free (gpointer _data);
static void _vala_main_async (gchar** args,
gint args_length1,
GAsyncReadyCallback _callback_,
gpointer _user_data_);
static gint _vala_main_finish (GAsyncResult* _res_);
static gboolean _vala_main_async_co (ValaMainAsyncData* _data_);
static gboolean __vala_main_async_co_gsource_func (gpointer self);
static void
_vala_main_async_data_free (gpointer _data)
{
ValaMainAsyncData* _data_;
_data_ = _data;
g_slice_free (ValaMainAsyncData, _data_);
}
void
_vala_main_async (gchar** args,
gint args_length1,
GAsyncReadyCallback _callback_,
gpointer _user_data_)
{
ValaMainAsyncData* _data_;
_data_ = g_slice_new0 (ValaMainAsyncData);
_data_->_async_result = g_task_new (NULL, NULL, _callback_, _user_data_);
g_task_set_task_data (_data_->_async_result, _data_, _vala_main_async_data_free);
_data_->args = args;
_data_->args_length1 = args_length1;
_vala_main_async_co (_data_);
}
gint
_vala_main_finish (GAsyncResult* _res_)
{
gint result;
ValaMainAsyncData* _data_;
_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
result = _data_->result;
return result;
}
static gboolean
__vala_main_async_co_gsource_func (gpointer self)
{
gboolean result;
result = _vala_main_async_co (self);
return result;
}
static gboolean
_vala_main_async_co (ValaMainAsyncData* _data_)
{
switch (_data_->_state_) {
case 0:
goto _state_0;
case 1:
goto _state_1;
default:
g_assert_not_reached ();
}
_state_0:
_vala_assert (_data_->args_length1 >= 1, "args.length >= 1");
_data_->_tmp0_ = _data_->args[0];
_vala_assert (_data_->_tmp0_ != NULL, "args[0] != null");
_data_->_tmp1_ = _data_->args[0];
_data_->_tmp2_ = g_strdup (_data_->_tmp1_);
_data_->foo = _data_->_tmp2_;
g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, __vala_main_async_co_gsource_func, _data_, NULL);
_data_->_state_ = 1;
return FALSE;
_state_1:
;
_vala_assert (g_str_has_suffix (_data_->foo, "asynchronous_method_main_async"), "foo.has_suffix (\"asynchronous_method_main_async\")");
_data_->result = 0;
_g_free0 (_data_->foo);
g_task_return_pointer (_data_->_async_result, _data_, NULL);
if (_data_->_state_ != 0) {
while (!g_task_get_completed (_data_->_async_result)) {
g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
}
}
g_object_unref (_data_->_async_result);
return FALSE;
}
static void
_vala_main_async_callback (GObject* source_object,
GAsyncResult* res,
gpointer user_data)
{
GMainLoop* loop = user_data;
_vala_main_async_result = _vala_main_finish (res);
g_main_loop_quit (loop);
}
int
main (int argc,
char ** argv)
{
GMainLoop* loop = g_main_loop_new (NULL, FALSE);
_vala_main_async (argv, argc, _vala_main_async_callback, loop);
g_main_loop_run (loop);
g_main_loop_unref (loop);
return _vala_main_async_result;
}
|