示例#1
0
static void
chatroom_set_property (GObject      *object,
		       guint         param_id,
		       const GValue *value,
		       GParamSpec   *pspec)
{
	EmpathyChatroomPriv *priv;

	priv = GET_PRIV (object);

	switch (param_id) {
	case PROP_ACCOUNT:
		empathy_chatroom_set_account (EMPATHY_CHATROOM (object),
					     g_value_get_object (value));
		break;
	case PROP_ROOM:
		empathy_chatroom_set_room (EMPATHY_CHATROOM (object),
					  g_value_get_string (value));
		break;
	case PROP_NAME:
		empathy_chatroom_set_name (EMPATHY_CHATROOM (object),
					  g_value_get_string (value));
		break;
	case PROP_AUTO_CONNECT:
		empathy_chatroom_set_auto_connect (EMPATHY_CHATROOM (object),
						  g_value_get_boolean (value));
		break;
	case PROP_FAVORITE:
		empathy_chatroom_set_favorite (EMPATHY_CHATROOM (object),
					       g_value_get_boolean (value));
		break;
	case PROP_TP_CHAT:
		empathy_chatroom_set_tp_chat (EMPATHY_CHATROOM (object),
					      g_value_get_object (value));
		break;
  case PROP_SUBJECT:
    empathy_chatroom_set_subject (EMPATHY_CHATROOM (object),
        g_value_get_string (value));
    break;
  case PROP_MEMBERS_COUNT:
    empathy_chatroom_set_members_count (EMPATHY_CHATROOM (object),
        g_value_get_uint (value));
    break;
  case PROP_NEED_PASSWORD:
    empathy_chatroom_set_need_password (EMPATHY_CHATROOM (object),
        g_value_get_boolean (value));
    break;
  case PROP_INVITE_ONLY:
    empathy_chatroom_set_invite_only (EMPATHY_CHATROOM (object),
        g_value_get_boolean (value));
    break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
		break;
	};
}
示例#2
0
static void
chatroom_set_property (GObject      *object,
		       guint         param_id,
		       const GValue *value,
		       GParamSpec   *pspec)
{
	EmpathyChatroomPriv *priv;

	priv = GET_PRIV (object);

	switch (param_id) {
	case PROP_ACCOUNT:
		empathy_chatroom_set_account (EMPATHY_CHATROOM (object),
					     g_value_get_object (value));
		break;
	case PROP_ROOM:
		empathy_chatroom_set_room (EMPATHY_CHATROOM (object),
					  g_value_get_string (value));
		break;
	case PROP_NAME:
		empathy_chatroom_set_name (EMPATHY_CHATROOM (object),
					  g_value_get_string (value));
		break;
	case PROP_AUTO_CONNECT:
		empathy_chatroom_set_auto_connect (EMPATHY_CHATROOM (object),
						  g_value_get_boolean (value));
		break;
  case PROP_FAVORITE:
    priv->favorite = g_value_get_boolean (value);
    if (!priv->favorite)
      {
        empathy_chatroom_set_auto_connect (EMPATHY_CHATROOM (object),
            FALSE);
      }
    break;
	case PROP_TP_CHAT: {
		GObject *chat = g_value_dup_object (value);

		if (chat == (GObject *) priv->tp_chat)
			break;

		g_assert (chat == NULL || priv->tp_chat == NULL);

		if (priv->tp_chat != NULL) {
			g_object_unref (priv->tp_chat);
			priv->tp_chat = NULL;
		} else {
			priv->tp_chat = EMPATHY_TP_CHAT (chat);
		}
		break;
	}
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
		break;
	};
}