summaryrefslogtreecommitdiff
path: root/src/backends/meta-remote-access-controller.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/meta-remote-access-controller.c')
-rw-r--r--src/backends/meta-remote-access-controller.c283
1 files changed, 0 insertions, 283 deletions
diff --git a/src/backends/meta-remote-access-controller.c b/src/backends/meta-remote-access-controller.c
deleted file mode 100644
index b2ac93d88..000000000
--- a/src/backends/meta-remote-access-controller.c
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2018 Red Hat Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- *
- */
-
-#include "config.h"
-
-#include "backends/meta-remote-access-controller-private.h"
-
-#ifdef HAVE_REMOTE_DESKTOP
-#include "backends/meta-remote-desktop.h"
-#include "backends/meta-screen-cast.h"
-#endif
-
-enum
-{
- HANDLE_STOPPED,
-
- N_HANDLE_SIGNALS
-};
-
-static int handle_signals[N_HANDLE_SIGNALS];
-
-enum
-{
- PROP_0,
-
- PROP_IS_RECORDING,
-
- N_PROPS
-};
-
-static GParamSpec *obj_props[N_PROPS];
-
-enum
-{
- CONTROLLER_NEW_HANDLE,
-
- N_CONTROLLER_SIGNALS
-};
-
-static int controller_signals[N_CONTROLLER_SIGNALS];
-
-typedef struct _MetaRemoteAccessHandlePrivate
-{
- gboolean has_stopped;
-
- gboolean disable_animations;
-
- gboolean is_recording;
-} MetaRemoteAccessHandlePrivate;
-
-G_DEFINE_TYPE_WITH_PRIVATE (MetaRemoteAccessHandle,
- meta_remote_access_handle,
- G_TYPE_OBJECT)
-
-struct _MetaRemoteAccessController
-{
- GObject parent;
-
- MetaRemoteDesktop *remote_desktop;
- MetaScreenCast *screen_cast;
-};
-
-G_DEFINE_TYPE (MetaRemoteAccessController,
- meta_remote_access_controller,
- G_TYPE_OBJECT)
-
-/**
- * meta_remote_access_handle_stop:
- * @handle: A #MetaRemoteAccessHandle
- *
- * Stop the associated remote access session.
- */
-void
-meta_remote_access_handle_stop (MetaRemoteAccessHandle *handle)
-{
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- if (priv->has_stopped)
- return;
-
- META_REMOTE_ACCESS_HANDLE_GET_CLASS (handle)->stop (handle);
-}
-
-/**
- * meta_remote_access_get_disable_animations:
- * @handle: A #MetaRemoteAccessHandle
- *
- * Returns: %TRUE if the remote access requested that animations should be
- * disabled.
- */
-gboolean
-meta_remote_access_handle_get_disable_animations (MetaRemoteAccessHandle *handle)
-{
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- return priv->disable_animations;
-}
-
-void
-meta_remote_access_handle_set_disable_animations (MetaRemoteAccessHandle *handle,
- gboolean disable_animations)
-{
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- priv->disable_animations = disable_animations;
-}
-
-void
-meta_remote_access_handle_notify_stopped (MetaRemoteAccessHandle *handle)
-{
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- priv->has_stopped = TRUE;
- g_signal_emit (handle, handle_signals[HANDLE_STOPPED], 0);
-}
-
-void
-meta_remote_access_controller_notify_new_handle (MetaRemoteAccessController *controller,
- MetaRemoteAccessHandle *handle)
-{
- g_signal_emit (controller, controller_signals[CONTROLLER_NEW_HANDLE], 0,
- handle);
-}
-
-/**
- * meta_remote_access_controller_inhibit_remote_access:
- * @controller: a #MetaRemoteAccessController
- *
- * Inhibits remote access sessions from being created and running. Any active
- * remote access session will be terminated.
- */
-void
-meta_remote_access_controller_inhibit_remote_access (MetaRemoteAccessController *controller)
-{
-#ifdef HAVE_REMOTE_DESKTOP
- meta_remote_desktop_inhibit (controller->remote_desktop);
- meta_screen_cast_inhibit (controller->screen_cast);
-#endif
-}
-
-/**
- * meta_remote_access_controller_uninhibit_remote_access:
- * @controller: a #MetaRemoteAccessController
- *
- * Uninhibits remote access sessions from being created and running. If this was
- * the last inhibitation that was inhibited, new remote access sessions can now
- * be created.
- */
-void
-meta_remote_access_controller_uninhibit_remote_access (MetaRemoteAccessController *controller)
-{
-#ifdef HAVE_REMOTE_DESKTOP
- meta_screen_cast_uninhibit (controller->screen_cast);
- meta_remote_desktop_uninhibit (controller->remote_desktop);
-#endif
-}
-
-MetaRemoteAccessController *
-meta_remote_access_controller_new (MetaRemoteDesktop *remote_desktop,
- MetaScreenCast *screen_cast)
-{
- MetaRemoteAccessController *remote_access_controller;
-
- remote_access_controller = g_object_new (META_TYPE_REMOTE_ACCESS_CONTROLLER,
- NULL);
- remote_access_controller->remote_desktop = remote_desktop;
- remote_access_controller->screen_cast = screen_cast;
-
- return remote_access_controller;
-}
-
-static void
-meta_remote_access_handle_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- MetaRemoteAccessHandle *handle = META_REMOTE_ACCESS_HANDLE (object);
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- switch (prop_id)
- {
- case PROP_IS_RECORDING:
- g_value_set_boolean (value, priv->is_recording);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-meta_remote_access_handle_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- MetaRemoteAccessHandle *handle = META_REMOTE_ACCESS_HANDLE (object);
- MetaRemoteAccessHandlePrivate *priv =
- meta_remote_access_handle_get_instance_private (handle);
-
- switch (prop_id)
- {
- case PROP_IS_RECORDING:
- priv->is_recording = g_value_get_boolean (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-meta_remote_access_handle_init (MetaRemoteAccessHandle *handle)
-{
-}
-
-static void
-meta_remote_access_handle_class_init (MetaRemoteAccessHandleClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->get_property = meta_remote_access_handle_get_property;
- object_class->set_property = meta_remote_access_handle_set_property;
-
- handle_signals[HANDLE_STOPPED] =
- g_signal_new ("stopped",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL, NULL,
- G_TYPE_NONE, 0);
-
- obj_props[PROP_IS_RECORDING] =
- g_param_spec_boolean ("is-recording",
- "is-recording",
- "Is a screen recording",
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS);
- g_object_class_install_properties (object_class, N_PROPS, obj_props);
-}
-
-static void
-meta_remote_access_controller_init (MetaRemoteAccessController *controller)
-{
-}
-
-static void
-meta_remote_access_controller_class_init (MetaRemoteAccessControllerClass *klass)
-{
- controller_signals[CONTROLLER_NEW_HANDLE] =
- g_signal_new ("new-handle",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0,
- NULL, NULL, NULL,
- G_TYPE_NONE, 1,
- META_TYPE_REMOTE_ACCESS_HANDLE);
-}