#ifndef DIYA_SESSION_SHELL_H #define DIYA_SESSION_SHELL_H #include #include "shell.h" #include "base.h" #define DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED "foreign-window-changed" #define DIYA_SIGNAL_FOREIGN_WINDOW_STATE_CHANGED "foreign-window-state-changed" #define DIYA_SIGNAL_FOREIGN_WINDOW_ADDED "foreign-window-added" #define DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED "foreign-window-removed" #define DIYA_SIGNAL_SESSION_LOCKED "session-locked" #define DIYA_SIGNAL_SESSION_UNLOCKED "session-unlocked" #define DIYA_PROP_SESSION_LAUNCHPAD "launchpad" #define DIYA_PROP_SESSION_BACKGROUND "background" #define DIYA_PROP_SESSION_LOCK "session-lock" #define DIYA_PROP_SESSION_WINDOWS "windows" #define SESSION_SHELL_SCHEMA_ID "dev.iohub.diya.session" #define DIYA_TYPE_SESSION_SHELL (diya_session_shell_get_type ()) G_DECLARE_FINAL_TYPE (DiyaSessionShell, diya_session_shell, DIYA, SESSION_SHELL, DiyaShell) USE_CLASS(DiyaForeignWindow); DiyaForeignWindow* diya_session_shell_get_window(DiyaSessionShell * shell, gpointer handle); gboolean diya_session_shell_add_window(DiyaSessionShell * shell, DiyaForeignWindow * win); gboolean diya_session_shell_remove_window(DiyaSessionShell * shell, DiyaForeignWindow * win); void diya_session_shell_remove_all_windows(DiyaSessionShell * shell); #endif