The default address book #ESource.
The default calendar #ESource.
The default mail account #ESource.
The default mail identity #ESource.
The default memo list #ESource.
The default task list #ESource.
Creates a binding between source_property
on source
and target_property
on target
.
Whenever the source_property
is changed the target_property
is
updated using the same value. For instance:
g_object_bind_property (action, "active", widget, "sensitive", 0);
Will result in the "sensitive" property of the widget #GObject instance to be updated with the same value of the "active" property of the action #GObject instance.
If flags
contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual:
if target_property
on target
changes then the source_property
on source
will be updated as well.
The binding will automatically be removed when either the source
or the
target
instances are finalized. To remove the binding without affecting the
source
and the target
you can just call g_object_unref() on the returned
#GBinding instance.
Removing the binding by calling g_object_unref() on it must only be done if
the binding, source
and target
are only used from a single thread and it
is clear that both source
and target
outlive the binding. Especially it
is not safe to rely on this if the binding, source
or target
can be
finalized from different threads. Keep another reference to the binding and
use g_binding_unbind() instead to be on the safe side.
A #GObject can have multiple bindings.
the property on source
to bind
the target #GObject
the property on target
to bind
flags to pass to #GBinding
Creates a binding between source_property
on source
and target_property
on target,
allowing you to set the transformation functions to be used by
the binding.
This function is the language bindings friendly version of g_object_bind_property_full(), using #GClosures instead of function pointers.
the property on source
to bind
the target #GObject
the property on target
to bind
flags to pass to #GBinding
a #GClosure wrapping the transformation function from the source
to the target,
or %NULL to use the default
a #GClosure wrapping the transformation function from the target
to the source,
or %NULL to use the default
Determines whether source
is "effectively" enabled by examining its
own #ESource:enabled property as well as those of its ancestors in the
#ESource hierarchy. If all examined #ESource:enabled properties are
%TRUE, then the function returns %TRUE. If any are %FALSE, then the
function returns %FALSE.
Use this function instead of e_source_get_enabled() to determine things like whether to display an #ESource in a user interface or whether to act on the data set described by the #ESource.
an #ESource
See e_source_registry_commit_source_sync() for details.
When the operation is finished, callback
will be called. You can then
call e_source_registry_commit_source_finish() to get the result of the
operation.
an #ESource with changes to commit
optional #GCancellable object, or %NULL
a #GAsyncReadyCallback to call when the request is satisfied
Finishes the operation started with e_source_registry_commit_source().
If an error occurred, the function will set error
and return %FALSE.
a #GAsyncResult
This is a convenience function intended for use with graphical
#ESource editors. Call this function when the user is finished
making changes to source
.
If source
has a #GDBusObject, its contents are submitted to the D-Bus
service through e_source_write_sync().
If source
does NOT have a #GDBusObject (implying it's a scratch
#ESource), its contents are submitted to the D-Bus service through
either e_source_remote_create_sync() if source
is to be a collection
member, or e_source_registry_create_sources_sync() if source
to be an
independent data source.
If an error occurs, the function will set error
and return %FALSE.
an #ESource with changes to commit
optional #GCancellable object, or %NULL
Asynchronously requests the D-Bus service create new key files for each
#ESource in list_of_sources
. Each list element must be a scratch
#ESource with no #GDBusObject.
When the operation is finished, callback
will be called. You can then
call e_source_registry_create_sources_finish() to get the result of the
operation.
a list of #ESource instances with no #GDBusObject
optional #GCancellable object, or %NULL
a #GAsyncReadyCallback to call when the request is satisfied
Finishes the operation started with e_source_registry_create_sources().
If an error occurred, the function will set error
and return %FALSE.
a #GAsyncResult
Requests the D-Bus service create new key files for each #ESource in
list_of_sources
. Each list element must be a scratch #ESource with
no #GDBusObject.
If an error occurs, the function will set error
and return %FALSE.
a list of #ESource instances with no #GDBusObject
optional #GCancellable object, or %NULL
Handy debugging function that uses e_source_registry_build_display_tree() to print a tree of registered sources to standard output.
an extension name, or %NULL
Compares source'
s #ESource:display-name against other sources having
an #ESourceExtension named extension_name,
if given, or else against
all other sources in the registry
.
If sources'
s #ESource:display-name is unique among these other sources,
the function will return the #ESource:display-name verbatim. Otherwise
the function will construct a string that includes the sources'
s own
#ESource:display-name as well as those of its ancestors.
The function's return value is intended to be used in messages shown to
the user to help clarify which source is being referred to. It assumes
source'
s #ESource:display-name is at least unique among its siblings.
Free the returned string with g_free() when finished with it.
an #ESource
an extension name, or %NULL
Examines source
and its ancestors and returns the "deepest" #ESource
having an #ESourceExtension with the given extension_name
. If neither
source
nor any of its ancestors have such an extension, the function
returns %NULL.
This function is useful in cases when an #ESourceExtension is meant to apply to both the #ESource it belongs to and the #ESource's descendants.
A common example is the #ESourceCollection extension, where descendants
of an #ESource having an #ESourceCollection extension are implied to be
members of that collection. In that example, this function can be used
to test whether source
is a member of a collection.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Note the function returns the #ESource containing the #ESourceExtension instead of the #ESourceExtension itself because extension instances are not to be referenced directly (see e_source_get_extension()).
an #ESource
the extension name to find
This function is intended for #GObject implementations to re-enforce a [floating][floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling g_object_ref_sink().
Increases the freeze count on object
. If the freeze count is
non-zero, the emission of "notify" signals on object
is
stopped. The signals are queued until the freeze count is decreased
to zero. Duplicate notifications are squashed so that at most one
#GObject::notify signal is emitted for each property modified while the
object is frozen.
This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.
Gets a named field from the objects table of associations (see g_object_set_data()).
name of the key for that association
Gets a property of an object.
The value
can be:
In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling g_value_unset().
Note that g_object_get_property() is really intended for language bindings, g_object_get() is much more convenient for C programming.
the name of the property to get
return location for the property value
This function gets back user data pointers stored via g_object_set_qdata().
A #GQuark, naming the user data pointer
Gets n_properties
properties for an object
.
Obtained properties will be set to values
. All properties must be valid.
Warnings will be emitted and undefined behaviour may result if invalid
properties are passed in.
the names of each property to get
the values of each property to get
Initializes the object implementing the interface.
This method is intended for language bindings. If writing in C, g_initable_new() should typically be used instead.
The object must be initialized before any real use after initial construction, either with this function or g_async_initable_init_async().
Implementations may also support cancellation. If cancellable
is not %NULL,
then initialization can be cancelled by triggering the cancellable object
from another thread. If the operation was cancelled, the error
%G_IO_ERROR_CANCELLED will be returned. If cancellable
is not %NULL and
the object doesn't support cancellable initialization the error
%G_IO_ERROR_NOT_SUPPORTED will be returned.
If the object is not initialized, or initialization returns with an error, then all operations on the object except g_object_ref() and g_object_unref() are considered to be invalid, and have undefined behaviour. See the [introduction][ginitable] for more details.
Callers should not assume that a class which implements #GInitable can be initialized multiple times, unless the class explicitly documents itself as supporting this. Generally, a class’ implementation of init() can assume (and assert) that it will only be called once. Previously, this documentation recommended all #GInitable implementations should be idempotent; that recommendation was relaxed in GLib 2.54.
If a class explicitly supports being initialized multiple times, it is recommended that the method is idempotent: multiple calls with the same arguments should return the same results. Only the first call initializes the object; further calls return the result of the first call.
One reason why a class might need to support idempotent initialization is if it is designed to be used via the singleton pattern, with a #GObjectClass.constructor that sometimes returns an existing instance. In this pattern, a caller would expect to be able to call g_initable_init() on the result of g_object_new(), regardless of whether it is in fact a new instance.
optional #GCancellable object, %NULL to ignore.
Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements #GInitable you can optionally call g_initable_init() instead.
This method is intended for language bindings. If writing in C, g_async_initable_new_async() should typically be used instead.
When the initialization is finished, callback
will be called. You can
then call g_async_initable_init_finish() to get the result of the
initialization.
Implementations may also support cancellation. If cancellable
is not
%NULL, then initialization can be cancelled by triggering the cancellable
object from another thread. If the operation was cancelled, the error
%G_IO_ERROR_CANCELLED will be returned. If cancellable
is not %NULL, and
the object doesn't support cancellable initialization, the error
%G_IO_ERROR_NOT_SUPPORTED will be returned.
As with #GInitable, if the object is not initialized, or initialization returns with an error, then all operations on the object except g_object_ref() and g_object_unref() are considered to be invalid, and have undefined behaviour. They will often fail with g_critical() or g_warning(), but this must not be relied on.
Callers should not assume that a class which implements #GAsyncInitable can be initialized multiple times; for more information, see g_initable_init(). If a class explicitly supports being initialized multiple times, implementation requires yielding all subsequent calls to init_async() on the results of the first call.
For classes that also support the #GInitable interface, the default implementation of this method will run the g_initable_init() function in a thread, so if you want to support asynchronous initialization via threads, just implement the #GAsyncInitable interface without overriding any interface methods.
the [I/O priority][io-priority] of the operation
optional #GCancellable object, %NULL to ignore.
a #GAsyncReadyCallback to call when the request is satisfied
Finishes asynchronous initialization and returns the result. See g_async_initable_init_async().
a #GAsyncResult.
Checks whether object
has a [floating][floating-ref] reference.
Similar to e_source_registry_list_sources(), but returns only enabled sources according to e_source_registry_check_enabled().
The sources returned in the list are referenced for thread-safety. They must each be unreferenced with g_object_unref() when finished with them. Free the returned list itself with g_list_free().
An easy way to free the list properly in one step is as follows:
|[ g_list_free_full (list, g_object_unref);
@param extensionName an extension name, or %NULL
Returns a list of registered sources, sorted by display name. If
extension_name
is given, restrict the list to sources having that
extension name.
The sources returned in the list are referenced for thread-safety. They must each be unreferenced with g_object_unref() when finished with them. Free the returned list itself with g_list_free().
An easy way to free the list properly in one step is as follows:
|[ g_list_free_full (list, g_object_unref);
@param extensionName an extension name, or %NULL
Finishes the async construction for the various g_async_initable_new calls, returning the created object or %NULL on error.
the #GAsyncResult from the callback
Emits a "notify" signal for the property property_name
on object
.
When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.
Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.
the name of a property installed on the class of object
.
Emits a "notify" signal for the property specified by pspec
on object
.
This function omits the property name lookup, hence it is faster than g_object_notify().
One way to avoid using g_object_notify() from within the class that registered the properties, and using g_object_notify_by_pspec() instead, is to store the GParamSpec used with g_object_class_install_property() inside a static array, e.g.:
enum
{
PROP_0,
PROP_FOO,
PROP_LAST
};
static GParamSpec *properties[PROP_LAST];
static void
my_object_class_init (MyObjectClass *klass)
{
properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
0, 100,
50,
G_PARAM_READWRITE);
g_object_class_install_property (gobject_class,
PROP_FOO,
properties[PROP_FOO]);
}
and then notify a change on the "foo" property with:
g_object_notify_by_pspec (self, properties[PROP_FOO]);
the #GParamSpec of a property installed on the class of object
.
Returns the built-in address book #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the built-in calendar #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the built-in mail account #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the built-in memo list #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the built-in proxy profile #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the built-in task list #ESource.
This #ESource is always present and makes for a safe fallback.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the #ESource most recently passed to e_source_registry_set_default_address_book() either in this session or a previous session, or else falls back to the built-in address book.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the #ESource most recently passed to e_source_registry_set_default_calendar() either in this session or a previous session, or else falls back to the built-in calendar.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
This is a convenience function to return a default #ESource based on
extension_name
. This only works with a subset of extension names.
If extension_name
is #E_SOURCE_EXTENSION_ADDRESS_BOOK, the function
returns the current default address book, or else falls back to the
built-in address book.
If extension_name
is #E_SOURCE_EXTENSION_CALENDAR, the function returns
the current default calendar, or else falls back to the built-in calendar.
If extension_name
is #E_SOURCE_EXTENSION_MAIL_ACCOUNT, the function
returns the current default mail account, or else falls back to the
built-in mail account.
If extension_name
is #E_SOURCE_EXTENSION_MAIL_IDENTITY, the function
returns the current default mail identity, or else falls back to the
mail identity named by the current default mail account.
If extension_name
is #E_SOURCE_EXTENSION_MEMO_LIST, the function returns
the current default memo list, or else falls back to the built-in memo list.
If extension_name
is #E_SOURCE_EXTENSION_TASK_LIST, the function returns
the current default task list, or else falls back to the built-in task list.
For all other values of extension_name,
the function returns %NULL.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
an extension_name
Returns the #ESource most recently passed to e_source_registry_set_default_mail_account() either in this session or a previous session, or else falls back to the built-in mail account.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the #ESource most recently passed to
e_source_registry_set_default_mail_identity() either in this session
or a previous session, or else falls back to the mail identity named
by the default mail account. If even that fails it returns any mail
identity from registry,
or %NULL if there are none.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the #ESource most recently passed to e_source_registry_set_default_memo_list() either in this session or a previous session, or else falls back to the built-in memo list.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Returns the #ESource most recently passed to e_source_registry_set_default_task_list() either in this session or a previous session, or else falls back to the built-in task list.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
Increase the reference count of object,
and possibly remove the
[floating][floating-ref] reference, if object
has a floating reference.
In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.
Since GLib 2.56, the type of object
will be propagated to the return type
under the same conditions as for g_object_ref().
Looks up an #ESource in registry
by its unique identifier string.
The returned #ESource is referenced for thread-safety and must be unreferenced with g_object_unref() when finished with it.
a unique identifier string
Asynchronously requests the D-Bus service to refresh collection backend
for an #ESource with UID source_uid
. The result means that the refresh
had been scheduled not whether the refresh itself succeeded. The refresh
is not initiated when the collection backend is offline.
When the operation is finished, callback
will be called. You can then
call e_source_registry_refresh_backend_finish() to get the result of
the operation.
UID of a collection #ESource whose backend to refresh
optional #GCancellable object, or %NULL
a #GAsyncReadyCallback to call when the request is satisfied
Finishes the operation started with e_source_registry_refresh_backend().
If an error occurred, the function will set error
and return %FALSE.
a #GAsyncResult
Requests the D-Bus service to refresh collection backend for an #ESource
with UID source_uid
. The result means that the refresh had been scheduled
not whether the refresh itself succeeded. The refresh is not initiated
when the collection backend is offline.
If an error occurs, the function will set error
and return %FALSE.
UID of a collection #ESource whose backend to refresh
optional #GCancellable object, or %NULL
Releases all references to other objects. This can be used to break reference cycles.
This function should only be called from object system implementations.
Each object carries around a table of associations from strings to pointers. This function lets you set an association.
If the object already had an association with that name, the old association will be destroyed.
Internally, the key
is converted to a #GQuark using g_quark_from_string().
This means a copy of key
is kept permanently (even after object
has been
finalized) — so it is recommended to only use a small, bounded set of values
for key
in your program, to avoid the #GQuark storage growing unbounded.
name of the key
data to associate with that key
Sets default_source
as the default address book. If default_source
is %NULL, the default address book is reset to the built-in address book.
This setting will persist across sessions until changed.
an address book #ESource, or %NULL
Sets default_source
as the default calendar. If default_source
is %NULL, the default calendar is reset to the built-in calendar.
This setting will persist across sessions until changed.
a calendar #ESource, or %NULL
This is a convenience function to set a default #ESource based on
extension_name
. This only works with a subset of extension names.
If extension_name
is #E_SOURCE_EXTENSION_ADDRESS_BOOK, the function
sets default_source
as the default address book. If default_source
is %NULL, the default address book is reset to the built-in address book.
If extension_name
is #E_SOURCE_EXTENSION_CALENDAR, the function sets
default_source
as the default calendar. If default_source
is %NULL,
the default calendar is reset to the built-in calendar.
If extension_name
is #E_SOURCE_EXTENSION_MAIL_ACCOUNT, the function
sets default_source
as the default mail account. If default_source
is %NULL, the default mail account is reset to the built-in mail account.
If extension_name
is #E_SOURCE_EXTENSION_MAIL_IDENTITY, the function
sets default_source
as the default mail identity. If default_source
is %NULL, the next request for the default mail identity will return
the mail identity named by the default mail account.
If extension_name
is #E_SOURCE_EXTENSION_MEMO_LIST, the function sets
default_source
as the default memo list. If default_source
is %NULL,
the default memo list is reset to the built-in memo list.
If extension_name
is #E_SOURCE_EXTENSION_TASK_LIST, the function sets
default_source
as the default task list. If default_source
is %NULL,
the default task list is reset to the built-in task list.
For all other values of extension_name,
the function does nothing.
an extension name
an #ESource, or %NULL
Sets default_source
as the default mail account. If default_source
is %NULL, the default mail account is reset to the built-in mail account.
This setting will persist across sessions until changed.
a mail account #ESource, or %NULL
Sets default_source
as the default mail identity. If default_source
is %NULL, the next request for the default mail identity will use the
fallbacks described in e_source_registry_ref_default_mail_identity().
a mail identity #ESource, or %NULL
Sets default_source
as the default memo list. If default_source
is %NULL, the default memo list is reset to the built-in memo list.
This setting will persist across sessions until changed.
a memo list #ESource, or %NULL
Sets default_source
as the default task list. If default_source
is %NULL, the default task list is reset to the built-in task list.
This setting will persist across sessions until changed.
a task list #ESource, or %NULL
Sets a property on an object.
the name of the property to set
the value
Remove a specified datum from the object's data associations, without invoking the association's destroy handler.
name of the key
This function gets back user data pointers stored via
g_object_set_qdata() and removes the data
from object
without invoking its destroy() function (if any was
set).
Usually, calling this function is only required to update
user data pointers with a destroy notifier, for example:
void
object_add_to_user_list (GObject *object,
const gchar *new_string)
{
// the quark, naming the object data
GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
// retrieve the old string list
GList *list = g_object_steal_qdata (object, quark_string_list);
// prepend new string
list = g_list_prepend (list, g_strdup (new_string));
// this changed 'list', so we need to set it again
g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
}
static void
free_string_list (gpointer data)
{
GList *node, *list = data;
for (node = list; node; node = node->next)
g_free (node->data);
g_list_free (list);
}
Using g_object_get_qdata() in the above example, instead of g_object_steal_qdata() would have left the destroy function set, and thus the partial string list would have been freed upon g_object_set_qdata_full().
A #GQuark, naming the user data pointer
Reverts the effect of a previous call to
g_object_freeze_notify(). The freeze count is decreased on object
and when it reaches zero, queued "notify" signals are emitted.
Duplicate notifications for each property are squashed so that at most one #GObject::notify signal is emitted for each property, in the reverse order in which they have been queued.
It is an error to call this function when the freeze count is zero.
Decreases the reference count of object
. When its reference count
drops to 0, the object is finalized (i.e. its memory is freed).
If the pointer to the #GObject may be reused in future (for example, if it is an instance variable of another object), it is recommended to clear the pointer to %NULL rather than retain a dangling pointer to a potentially invalid #GObject instance. Use g_clear_object() for this.
This function essentially limits the life time of the closure
to
the life time of the object. That is, when the object is finalized,
the closure
is invalidated by calling g_closure_invalidate() on
it, in order to prevent invocations of the closure with a finalized
(nonexisting) object. Also, g_object_ref() and g_object_unref() are
added as marshal guards to the closure,
to ensure that an extra
reference count is held on object
during invocation of the
closure
. Usually, this function will be called on closures that
use this object
as closure data.
#GClosure to watch
Find the #GParamSpec with the given name for an
interface. Generally, the interface vtable passed in as g_iface
will be the default vtable from g_type_default_interface_ref(), or,
if you know the interface has already been loaded,
g_type_default_interface_peek().
any interface vtable for the interface, or the default vtable for the interface
name of a property to look up.
Add a property to an interface; this is only useful for interfaces that are added to GObject-derived types. Adding a property to an interface forces all objects classes with that interface to have a compatible property. The compatible property could be a newly created #GParamSpec, but normally g_object_class_override_property() will be used so that the object class only needs to provide an implementation and inherits the property description, default value, bounds, and so forth from the interface property.
This function is meant to be called from the interface's default
vtable initialization function (the class_init
member of
#GTypeInfo.) It must not be called after after class_init
has
been called for any object types implementing this interface.
If pspec
is a floating reference, it will be consumed.
any interface vtable for the interface, or the default vtable for the interface.
the #GParamSpec for the new property
Lists the properties of an interface.Generally, the interface
vtable passed in as g_iface
will be the default vtable from
g_type_default_interface_ref(), or, if you know the interface has
already been loaded, g_type_default_interface_peek().
any interface vtable for the interface, or the default vtable for the interface
Asynchronously creates a new #ESourceRegistry front-end for the registry D-Bus service.
When the operation is finished, callback
will be called. You can then
call e_source_registry_new_finish() to get the result of the operation.
Since 3.12 a singleton will be returned. No strong reference is kept internally, so it is the caller's responsibility to keep one.
optional #GCancellable object, or %NULL
a #GAsyncReadyCallback to call when the request is satisfied
Finishes the operation started with e_source_registry_new_finish().
If an error occurs in connecting to the D-Bus service, the function
sets error
and returns %NULL.
a #GAsyncResult
Creates a new #ESourceRegistry front-end for the registry D-Bus service.
If an error occurs in connecting to the D-Bus service, the function sets
error
and returns %NULL.
Since 3.12 a singleton will be returned. No strong reference is kept internally, so it is the caller's responsibility to keep one.
optional #GCancellable object, or %NULL
Creates a new instance of a #GObject subtype and sets its properties.
Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.
the type id of the #GObject subtype to instantiate
an array of #GParameter
Contains only private data that should be read and manipulated using the functions below.