diff options
| author | Hannes Schulze <contact@haschu.me> | 2026-04-26 01:03:47 +0200 |
|---|---|---|
| committer | Hannes Schulze <contact@haschu.me> | 2026-04-26 01:03:47 +0200 |
| commit | e80a97f5603658af3a444a3a8213024c0c9d36d6 (patch) | |
| tree | 8b5326361b0f6a93533d7c31fd37b205fc9d290b /src/services/workspace-service.h | |
| parent | 77a4c25a2e5aeda0f0d1f1980eb7c85c99041c45 (diff) | |
split up workspace service
Diffstat (limited to 'src/services/workspace-service.h')
| -rw-r--r-- | src/services/workspace-service.h | 27 |
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 |
