예제 #1
0
gboolean
byzanz_session_is_recording (ByzanzSession *session)
{
  g_return_val_if_fail (BYZANZ_IS_SESSION (session), FALSE);

  return session->error == NULL &&
    byzanz_recorder_get_recording (session->recorder);
}
예제 #2
0
static void
byzanz_session_set_error (ByzanzSession *session, const GError *error)
{
  GObject *object = G_OBJECT (session);

  if (session->error != NULL)
    return;

  session->error = g_error_copy (error);
  g_object_ref (session);
  g_object_freeze_notify (object);
  g_object_notify (object, "error");
  if (byzanz_recorder_get_recording (session->recorder))
    byzanz_session_stop (session);
  g_object_thaw_notify (object);
  g_object_unref (session);
}
예제 #3
0
static void
byzanz_recorder_get_property (GObject *object, guint param_id, GValue *value, 
    GParamSpec * pspec)
{
  ByzanzRecorder *recorder = BYZANZ_RECORDER (object);

  switch (param_id) {
    case PROP_WINDOW:
      g_value_set_object (value, recorder->window);
      break;
    case PROP_AREA:
      g_value_set_boxed (value, &recorder->area);
      break;
    case PROP_RECORDING:
      g_value_set_boolean (value, byzanz_recorder_get_recording (recorder));
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
      break;
  }
}