[gnome-online-accounts] Introduce org.gnome.OnlineAccounts.Todo
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-online-accounts] Introduce org.gnome.OnlineAccounts.Todo
- Date: Fri, 16 Jun 2017 17:08:10 +0000 (UTC)
commit d48871ce617d325b923f8863c1fda2ebdc5448a3
Author: Ekta Nandwani <mailnandwaniekta gmail com>
Date: Wed Jun 14 00:20:18 2017 +0530
Introduce org.gnome.OnlineAccounts.Todo
This is meant for accounts that can be used to access to-do lists. eg.,
Todoist.
https://bugzilla.gnome.org/show_bug.cgi?id=780138
data/dbus-interfaces.xml | 22 +++++++++++++++
doc/goa-docs.xml | 2 +
doc/goa-sections.txt | 45 +++++++++++++++++++++++++++++++
src/examples/introspect-providers.c | 4 +++
src/goabackend/goabackendenums.h | 1 +
src/goabackend/goaobjectskeletonutils.c | 23 ++++++++++++++++
src/goabackend/goaobjectskeletonutils.h | 3 ++
src/goabackend/goaprovider.c | 5 +++
8 files changed, 105 insertions(+), 0 deletions(-)
---
diff --git a/data/dbus-interfaces.xml b/data/dbus-interfaces.xml
index 5287428..205ce04 100644
--- a/data/dbus-interfaces.xml
+++ b/data/dbus-interfaces.xml
@@ -246,6 +246,18 @@
-->
<property name="TicketingDisabled" type="b" access="readwrite"/>
+ <!-- TodoDisabled:
+ @since: 3.26.0
+
+ If %TRUE, the account will not expose any
+ #org.gnome.OnlineAccounts.Todo interface. If the account does not
+ provide todo-like capabilities, this property does nothing.
+
+ Note that the #org.gnomeOnlineAccounts.Todo interface is added or
+ removed from the account asynchronously.
+ -->
+ <property name="TodoDisabled" type="b" access="readwrite"/>
+
<!-- ReadLaterDisabled:
@since: 3.12.0
@@ -780,6 +792,16 @@
</interface>
<!--
+ org.gnome.OnlineAccounts.Todo:
+ @since: 3.26.0
+
+ An account object implements this interface if it provides
+ todo-like capabilities.
+ -->
+ <interface name="org.gnome.OnlineAccounts.Todo">
+ </interface>
+
+ <!--
org.gnome.OnlineAccounts.ReadLater:
@since: 3.12.0
diff --git a/doc/goa-docs.xml b/doc/goa-docs.xml
index e762c40..0abb53a 100644
--- a/doc/goa-docs.xml
+++ b/doc/goa-docs.xml
@@ -129,6 +129,7 @@
<xi:include href="../src/goa/goa-generated-doc-org.gnome.OnlineAccounts.Exchange.xml"/>
<xi:include href="../src/goa/goa-generated-doc-org.gnome.OnlineAccounts.MediaServer.xml"/>
<xi:include href="../src/goa/goa-generated-doc-org.gnome.OnlineAccounts.Ticketing.xml"/>
+ <xi:include href="../src/goa/goa-generated-doc-org.gnome.OnlineAccounts.Todo.xml"/>
</chapter>
</part>
@@ -158,6 +159,7 @@
<xi:include href="xml/GoaExchange.xml"/>
<xi:include href="xml/GoaMediaServer.xml"/>
<xi:include href="xml/GoaTicketing.xml"/>
+ <xi:include href="xml/GoaTodo.xml"/>
<xi:include href="xml/GoaReadLater.xml"/>
<xi:include href="xml/GoaPrinters.xml"/>
</chapter>
diff --git a/doc/goa-sections.txt b/doc/goa-sections.txt
index d1411f8..f944ead 100644
--- a/doc/goa-sections.txt
+++ b/doc/goa-sections.txt
@@ -64,6 +64,7 @@ goa_object_get_photos
goa_object_get_printers
goa_object_get_files
goa_object_get_exchange
+goa_object_get_todo
goa_object_peek_manager
goa_object_peek_account
goa_object_peek_oauth_based
@@ -80,6 +81,7 @@ goa_object_peek_photos
goa_object_peek_printers
goa_object_peek_files
goa_object_peek_exchange
+goa_object_peek_todo
GoaObjectProxy
GoaObjectProxyClass
goa_object_proxy_new
@@ -176,6 +178,8 @@ goa_account_get_files_disabled
goa_account_set_files_disabled
goa_account_get_ticketing_disabled
goa_account_set_ticketing_disabled
+goa_account_get_todo_disabled
+goa_account_set_todo_disabled
goa_account_call_ensure_credentials
goa_account_call_ensure_credentials_finish
goa_account_call_ensure_credentials_sync
@@ -1090,6 +1094,47 @@ goa_ticketing_skeleton_get_type
</SECTION>
<SECTION>
+<FILE>GoaTodo</FILE>
+GoaTodo
+GoaTodoIface
+goa_todo_interface_info
+goa_todo_override_properties
+GoaTodoProxy
+GoaTodoProxyClass
+goa_todo_proxy_new
+goa_todo_proxy_new_finish
+goa_todo_proxy_new_sync
+goa_todo_proxy_new_for_bus
+goa_todo_proxy_new_for_bus_finish
+goa_todo_proxy_new_for_bus_sync
+GoaTodoSkeleton
+GoaTodoSkeletonClass
+goa_todo_skeleton_new
+<SUBSECTION Standard>
+GOA_TYPE_TODO
+GOA_IS_TODO
+GOA_TODO
+GOA_TODO_GET_IFACE
+GOA_TYPE_TODO_PROXY
+GOA_IS_TODO_PROXY
+GOA_IS_TODO_PROXY_CLASS
+GOA_TODO_PROXY
+GOA_TODO_PROXY_CLASS
+GOA_TODO_PROXY_GET_CLASS
+GOA_TYPE_TODO_SKELETON
+GOA_IS_TODO_SKELETON
+GOA_IS_TODO_SKELETON_CLASS
+GOA_TODO_SKELETON
+GOA_TODO_SKELETON_CLASS
+GOA_TODO_SKELETON_GET_CLASS
+GoaTodoProxyPrivate
+GoaTodoSkeletonPrivate
+goa_todo_get_type
+goa_todo_proxy_get_type
+goa_todo_skeleton_get_type
+</SECTION>
+
+<SECTION>
<FILE>GoaReadLater</FILE>
GoaReadLater
GoaReadLaterIface
diff --git a/src/examples/introspect-providers.c b/src/examples/introspect-providers.c
index e5960a8..56628a5 100644
--- a/src/examples/introspect-providers.c
+++ b/src/examples/introspect-providers.c
@@ -65,6 +65,10 @@ static struct
.key = "TicketingEnabled"
},
{
+ .feature = GOA_PROVIDER_FEATURE_TODO,
+ .key = "TodoEnabled"
+ },
+ {
.feature = GOA_PROVIDER_FEATURE_READ_LATER,
.key = "ReadLaterEnabled"
},
diff --git a/src/goabackend/goabackendenums.h b/src/goabackend/goabackendenums.h
index 52a0cf3..5ddfed5 100644
--- a/src/goabackend/goabackendenums.h
+++ b/src/goabackend/goabackendenums.h
@@ -96,6 +96,7 @@ typedef enum /*< flags >*/
GOA_PROVIDER_FEATURE_PRINTERS = 1 << 11,
GOA_PROVIDER_FEATURE_MAPS = 1 << 12,
GOA_PROVIDER_FEATURE_MUSIC = 1 << 13,
+ GOA_PROVIDER_FEATURE_TODO = 1 << 14,
GOA_PROVIDER_FEATURE_INVALID = 0
} GoaProviderFeatures;
diff --git a/src/goabackend/goaobjectskeletonutils.c b/src/goabackend/goaobjectskeletonutils.c
index 1bfff84..6004441 100644
--- a/src/goabackend/goaobjectskeletonutils.c
+++ b/src/goabackend/goaobjectskeletonutils.c
@@ -233,6 +233,29 @@ goa_object_skeleton_attach_maps (GoaObjectSkeleton *object,
}
void
+goa_object_skeleton_attach_todo (GoaObjectSkeleton *object,
+ gboolean todo_enabled)
+{
+ GoaTodo *todo = NULL;
+
+ todo = goa_object_get_todo (GOA_OBJECT (object));
+ if (todo_enabled)
+ {
+ if (todo == NULL)
+ {
+ todo = goa_todo_skeleton_new ();
+ goa_object_skeleton_set_todo (object, todo);
+ }
+ }
+ else
+ {
+ if (todo != NULL)
+ goa_object_skeleton_set_todo (object, NULL);
+ }
+ g_clear_object (&todo);
+}
+
+void
goa_object_skeleton_attach_read_later (GoaObjectSkeleton *object,
gboolean read_later_enabled)
{
diff --git a/src/goabackend/goaobjectskeletonutils.h b/src/goabackend/goaobjectskeletonutils.h
index b9deaa3..2ea2ce9 100644
--- a/src/goabackend/goaobjectskeletonutils.h
+++ b/src/goabackend/goaobjectskeletonutils.h
@@ -58,6 +58,9 @@ void goa_object_skeleton_attach_photos (GoaObjectSkeleton *o
void goa_object_skeleton_attach_printers (GoaObjectSkeleton *object,
gboolean printers_enabled);
+void goa_object_skeleton_attach_todo (GoaObjectSkeleton *object,
+ gboolean todo_enabled);
+
void goa_object_skeleton_attach_read_later (GoaObjectSkeleton *object,
gboolean read_later_enabled);
diff --git a/src/goabackend/goaprovider.c b/src/goabackend/goaprovider.c
index a7f4afb..e199f95 100644
--- a/src/goabackend/goaprovider.c
+++ b/src/goabackend/goaprovider.c
@@ -173,6 +173,11 @@ static struct {
.blurb = N_("_Maps"),
},
{
+ .feature = GOA_PROVIDER_FEATURE_TODO,
+ .property = "todo-disabled",
+ .blurb = N_("T_o Do"),
+ },
+ {
.feature = GOA_PROVIDER_FEATURE_INVALID,
.property = NULL,
.blurb = NULL,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]