From professional translators, enterprises, web pages and freely available translation repositories.
hamstring
ιγνυακος τενων
Last Update: 2015-11-29
Usage Frequency: 1
Quality:
abruptly pulled
abruptly pulled
Last Update: 2020-12-18
Usage Frequency: 1
Quality:
Reference:
charles, attempting to rally his men, rode forward but as he did so, lord carnwath seized his bridle and pulled him back, fearing for the king's safety.
charles, attempting to rally his men, rode forward but as he did so, lord carnwath seized his bridle and pulled him back, fearing for the king's safety.
Last Update: 2016-03-03
Usage Frequency: 1
Quality:
Reference:
fleuss tested his device in 1879 by spending an hour submerged in a water tank, then one week later by diving to a depth of 5.5m in open water, upon which occasion he was slightly injured when his assistants abruptly pulled him to the surface.
fleuss tested his device in 1879 by spending an hour submerged in a water tank, then one week later by diving to a depth of 5.5m in open water, upon which occasion he was slightly injured when his assistants abruptly pulled him to the surface.
Last Update: 2016-03-03
Usage Frequency: 1
Quality:
Reference:
/** * messagequeuesource: * * this is a #gsource which wraps a #gasyncqueue and is dispatched whenever a * message can be pulled off the queue. messages can be enqueued from any * thread. * * the callbacks dispatched by a #messagequeuesource have type * #messagequeuesourcefunc. * * #messagequeuesource supports adding a #gcancellable child source which will * additionally dispatch if a provided #gcancellable is cancelled. */typedef struct { gsource parent; gasyncqueue *queue; /* owned */ gdestroynotify destroy_message;} messagequeuesource;/** * messagequeuesourcefunc: * @message: (transfer full) (nullable): message pulled off the queue * @user_data: user data provided to g_source_set_callback() * * callback function type for #messagequeuesource. */typedef gboolean (*messagequeuesourcefunc) (gpointer message, gpointer user_data);static gbooleanmessage_queue_source_prepare (gsource *source, gint *timeout_){ messagequeuesource *message_queue_source = (messagequeuesource *) source; return (g_async_queue_length (message_queue_source->queue) > 0);}static gbooleanmessage_queue_source_dispatch (gsource *source, gsourcefunc callback, gpointer user_data){ messagequeuesource *message_queue_source = (messagequeuesource *) source; gpointer message; messagequeuesourcefunc func = (messagequeuesourcefunc) callback; /* pop a message off the queue. */ message = g_async_queue_try_pop (message_queue_source->queue); /* if there was no message, bail. */ if (message == null) { /* keep the source around to handle the next message. */ return true; } /* @func may be %null if no callback was specified. * if so, drop the message. */ if (func == null) { if (message_queue_source->destroy_message != null) { message_queue_source->destroy_message (message); } /* keep the source around to consume the next message. */ return true; } return func (message, user_data);}static voidmessage_queue_source_finalize (gsource *source){ messagequeuesource *message_queue_source = (messagequeuesource *) source; g_async_queue_unref (message_queue_source->queue);}static gbooleanmessage_queue_source_closure_callback (gpointer message, gpointer user_data){ gclosure *closure = user_data; gvalue param_value = g_value_init; gvalue result_value = g_value_init; gboolean retval; /* the invoked function is responsible for freeing @message. */ g_value_init (&result_value, g_type_boolean); g_value_init (&param_value, g_type_pointer); g_value_set_pointer (&param_value, message); g_closure_invoke (closure, &result_value, 1, &param_value, null); retval = g_value_get_boolean (&result_value); g_value_unset (&param_value); g_value_unset (&result_value); return retval;}static gsourcefuncs message_queue_source_funcs = { message_queue_source_prepare, null, /* check */ message_queue_source_dispatch, message_queue_source_finalize, (gsourcefunc) message_queue_source_closure_callback, null, };/** * message_queue_source_new: * @queue: the queue to check * @destroy_message: (nullable): function to free a message, or %null * @cancellable: (nullable): a #gcancellable, or %null * * create a new #messagequeuesource, a type of #gsource which dispatches for * each message queued to it. * * if a callback function of type #messagequeuesourcefunc is connected to the * returned #gsource using g_source_set_callback(), it will be invoked for each * message, with the message passed as its first argument. it is responsible for * freeing the message. if no callback is set, messages are automatically freed * as they are queued. * * returns: (transfer full): a new #messagequeuesource */gsource *message_queue_source_new (gasyncqueue *queue, gdestroynotify destroy_message, gcancellable *cancellable){ gsource *source; /* alias of @message_queue_source */ messagequeuesource *message_queue_source; /* alias of @source */ g_return_val_if_fail (queue != null, null); g_return_val_if_fail (cancellable == null || g_is_cancellable (cancellable), null); source = g_source_new (&message_queue_source_funcs, sizeof (messagequeuesource)); message_queue_source = (messagequeuesource *) source; /* the caller can overwrite this name with something more useful later. */ g_source_set_name (source, \"messagequeuesource\"); message_queue_source->queue = g_async_queue_ref (queue); message_queue_source->destroy_message = destroy_message; /* add a cancellable source. */ if (cancellable != null) { gsource *cancellable_source; cancellable_source = g_cancellable_source_new (cancellable); g_source_set_dummy_callback (cancellable_source); g_source_add_child_source (source, cancellable_source); g_source_unref (cancellable_source); } return source;}
/** * messagequeuesource: * * this is a #gsource which wraps a #gasyncqueue and is dispatched whenever a * message can be pulled off the queue. messages can be enqueued from any * thread. * * the callbacks dispatched by a #messagequeuesource have type * #messagequeuesourcefunc. * * #messagequeuesource supports adding a #gcancellable child source which will * additionally dispatch if a provided #gcancellable is cancelled. */typedef struct { gsource parent; gasyncqueue *queue; /* owned */ gdestroynotify destroy_message;} messagequeuesource;/** * messagequeuesourcefunc: * @message: (transfer full) (nullable): message pulled off the queue * @user_data: user data provided to g_source_set_callback() * * callback function type for #messagequeuesource. */typedef gboolean (*messagequeuesourcefunc) (gpointer message, gpointer user_data);static gbooleanmessage_queue_source_prepare (gsource *source, gint *timeout_){ messagequeuesource *message_queue_source = (messagequeuesource *) source; return (g_async_queue_length (message_queue_source->queue) > 0);}static gbooleanmessage_queue_source_dispatch (gsource *source, gsourcefunc callback, gpointer user_data){ messagequeuesource *message_queue_source = (messagequeuesource *) source; gpointer message; messagequeuesourcefunc func = (messagequeuesourcefunc) callback; /* pop a message off the queue. */ message = g_async_queue_try_pop (message_queue_source->queue); /* if there was no message, bail. */ if (message == null) { /* keep the source around to handle the next message. */ return true; } /* @func may be %null if no callback was specified. * if so, drop the message. */ if (func == null) { if (message_queue_source->destroy_message != null) { message_queue_source->destroy_message (message); } /* keep the source around to consume the next message. */ return true; } return func (message, user_data);}static voidmessage_queue_source_finalize (gsource *source){ messagequeuesource *message_queue_source = (messagequeuesource *) source; g_async_queue_unref (message_queue_source->queue);}static gbooleanmessage_queue_source_closure_callback (gpointer message, gpointer user_data){ gclosure *closure = user_data; gvalue param_value = g_value_init; gvalue result_value = g_value_init; gboolean retval; /* the invoked function is responsible for freeing @message. */ g_value_init (&result_value, g_type_boolean); g_value_init (&param_value, g_type_pointer); g_value_set_pointer (&param_value, message); g_closure_invoke (closure, &result_value, 1, &param_value, null); retval = g_value_get_boolean (&result_value); g_value_unset (&param_value); g_value_unset (&result_value); return retval;}static gsourcefuncs message_queue_source_funcs = { message_queue_source_prepare, null, /* check */ message_queue_source_dispatch, message_queue_source_finalize, (gsourcefunc) message_queue_source_closure_callback, null, };/** * message_queue_source_new: * @queue: the queue to check * @destroy_message: (nullable): function to free a message, or %null * @cancellable: (nullable): a #gcancellable, or %null * * create a new #messagequeuesource, a type of #gsource which dispatches for * each message queued to it. * * if a callback function of type #messagequeuesourcefunc is connected to the * returned #gsource using g_source_set_callback(), it will be invoked for each * message, with the message passed as its first argument. it is responsible for * freeing the message. if no callback is set, messages are automatically freed * as they are queued. * * returns: (transfer full): a new #messagequeuesource */gsource *message_queue_source_new (gasyncqueue *queue, gdestroynotify destroy_message, gcancellable *cancellable){ gsource *source; /* alias of @message_queue_source */ messagequeuesource *message_queue_source; /* alias of @source */ g_return_val_if_fail (queue != null, null); g_return_val_if_fail (cancellable == null || g_is_cancellable (cancellable), null); source = g_source_new (&message_queue_source_funcs, sizeof (messagequeuesource)); message_queue_source = (messagequeuesource *) source; /* the caller can overwrite this name with something more useful later. */ g_source_set_name (source, \"messagequeuesource\"); message_queue_source->queue = g_async_queue_ref (queue); message_queue_source->destroy_message = destroy_message; /* add a cancellable source. */ if (cancellable != null) { gsource *cancellable_source; cancellable_source = g_cancellable_source_new (cancellable); g_source_set_dummy_callback (cancellable_source); g_source_add_child_source (source, cancellable_source); g_source_unref (cancellable_source); } return source;}
Last Update: 2020-04-20
Usage Frequency: 1
Quality:
Reference:
Warning: Contains invisible HTML formatting