summaryrefslogtreecommitdiff
path: root/src/services/workspace-service.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/workspace-service.h')
-rw-r--r--src/services/workspace-service.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/services/workspace-service.h b/src/services/workspace-service.h
index c80e7dc..62259d7 100644
--- a/src/services/workspace-service.h
+++ b/src/services/workspace-service.h
@@ -26,7 +26,18 @@ typedef enum
GType foobar_workspace_flags_get_type( void );
-G_DECLARE_FINAL_TYPE( FoobarWorkspace, foobar_workspace, FOOBAR, WORKSPACE, GObject )
+G_DECLARE_INTERFACE( FoobarWorkspace, foobar_workspace, FOOBAR, WORKSPACE, GObject )
+
+struct _FoobarWorkspaceInterface
+{
+ GTypeInterface parent_iface;
+
+ gint64 ( *get_id ) ( FoobarWorkspace* self );
+ gchar const* ( *get_name ) ( FoobarWorkspace* self );
+ gchar const* ( *get_monitor )( FoobarWorkspace* self );
+ FoobarWorkspaceFlags ( *get_flags ) ( FoobarWorkspace* self );
+ void ( *activate ) ( FoobarWorkspace* self );
+};
gint64 foobar_workspace_get_id ( FoobarWorkspace* self );
gchar const* foobar_workspace_get_name ( FoobarWorkspace* self );
@@ -34,9 +45,17 @@ gchar const* foobar_workspace_get_monitor( FoobarWorkspace* self );
FoobarWorkspaceFlags foobar_workspace_get_flags ( FoobarWorkspace* self );
void foobar_workspace_activate ( FoobarWorkspace* self );
-G_DECLARE_FINAL_TYPE( FoobarWorkspaceService, foobar_workspace_service, FOOBAR, WORKSPACE_SERVICE, GObject )
+G_DECLARE_INTERFACE( FoobarWorkspaceService, foobar_workspace_service, FOOBAR, WORKSPACE_SERVICE, GObject )
+
+struct _FoobarWorkspaceServiceInterface
+{
+ GTypeInterface parent_iface;
+
+ GListModel* ( *get_workspaces )( FoobarWorkspaceService* self );
+ gboolean ( *is_available ) ( FoobarWorkspaceService* self );
+};
-FoobarWorkspaceService* foobar_workspace_service_new ( void );
-GListModel* foobar_workspace_service_get_workspaces( FoobarWorkspaceService* self );
+GListModel* foobar_workspace_service_get_workspaces( FoobarWorkspaceService* self );
+gboolean foobar_workspace_service_is_available ( FoobarWorkspaceService* self );
G_END_DECLS