1 $NetBSD: patch-ad,v 1.1 2009/09/03 01:29:34 joerg Exp $
3 --- src/gbemol-mpd.c.orig 2009-04-25 04:38:51.000000000 +0200
7 #include "gbemol-mpd.h"
8 #include "gbemol-marshal.h"
9 +#include "gbemol-utils.h"
13 @@ -454,51 +455,31 @@ gboolean gbemol_mpd_connect (GbemolMpd*
14 obj->priv->conn = mpd_newConnection (obj->priv->host, obj->priv->port, obj->priv->timeout);
16 if (gbemol_mpd_finish_and_handle (obj))
17 - obj->priv->connected = FALSE;
20 - gbemol_mpd_get_not_commands_list (obj);
22 - mpd_freeStatus (obj->status);
23 - obj->status = gbemol_mpd_get_status (obj);
24 - obj->priv->connected = TRUE;
25 - /* Emit a song-changed signal */
26 - g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
29 - return obj->priv->connected;
33 -gboolean gbemol_mpd_connect_and_authenticate (GbemolMpd* obj)
35 - if (obj->priv->conn)
36 - mpd_closeConnection (obj->priv->conn);
38 - obj->priv->conn = mpd_newConnection (obj->priv->host, obj->priv->port, obj->priv->timeout);
40 - if (gbemol_mpd_finish_and_handle (obj))
42 obj->priv->connected = FALSE;
46 - obj->priv->connected = TRUE;
48 - /* Not authenticated, yet connected, so return TRUE, but mark as disconnected */
49 - if (!gbemol_mpd_authenticate (obj))
50 - obj->priv->connected = FALSE;
52 + if (gbemol_cfg_get_bool("mpd", "use_auth"))
54 - gbemol_mpd_get_not_commands_list (obj);
56 - mpd_freeStatus (obj->status);
57 - obj->status = gbemol_mpd_get_status (obj);
58 - /* Emit a song-changed signal */
59 - g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
60 + if (!obj->priv->pass)
61 + obj->priv->pass = gbemol_cfg_get_string("mpd", "pass");
62 + if (!obj->priv->pass || !gbemol_mpd_authenticate (obj))
64 + obj->priv->connected = FALSE;
70 + gbemol_mpd_get_not_commands_list (obj);
72 + mpd_freeStatus (obj->status);
73 + obj->status = gbemol_mpd_get_status (obj);
74 + obj->priv->connected = TRUE;
75 + /* Emit a song-changed signal */
76 + g_signal_emit (obj, gbemol_mpd_signals [SONG_CHANGED_SIGNAL], 0, NULL);
78 + return obj->priv->connected;
81 void gbemol_mpd_disconnect (GbemolMpd *obj)