Mercurial > audlegacy
diff libaudacious/beepctrl.c @ 1456:6fe7ba6e5489 trunk
[svn] - Don't poll the config database if not using TCP sockets.
| author | nhjm449 |
|---|---|
| date | Mon, 31 Jul 2006 17:06:44 -0700 |
| parents | 9bb6d5ce6d95 |
| children | f12d7e208b43 |
line wrap: on
line diff
--- a/libaudacious/beepctrl.c Sat Jul 29 16:23:16 2006 -0700 +++ b/libaudacious/beepctrl.c Mon Jul 31 17:06:44 2006 -0700 @@ -39,6 +39,7 @@ /* overrides audacious_get_session_uri(). */ gchar *audacious_session_uri = NULL; +gint *audacious_session_type = NULL; #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -314,11 +315,14 @@ return audacious_session_uri; } - db = bmp_cfg_db_open(); + if (audacious_session_type != AUDACIOUS_TYPE_UNIX) + { + db = bmp_cfg_db_open(); - bmp_cfg_db_get_string(db, NULL, "listen_uri_base", &value); + bmp_cfg_db_get_string(db, NULL, "listen_uri_base", &value); - bmp_cfg_db_close(db); + bmp_cfg_db_close(db); + } if (value == NULL) return g_strdup_printf("unix://localhost/%s/%s_%s.%d", g_get_tmp_dir(), @@ -329,19 +333,33 @@ return value; } -gint +void +audacious_set_session_type(gint *type) +{ + audacious_session_type = type; +} + +gint * audacious_determine_session_type(gint session) { gchar *uri; + if (audacious_session_type != NULL) + { + return audacious_session_type; + } + uri = audacious_get_session_uri(session); if (!g_strncasecmp(uri, "tcp://", 6)) - return AUDACIOUS_TYPE_TCP; + audacious_session_type = (gint *) AUDACIOUS_TYPE_TCP; else - return AUDACIOUS_TYPE_UNIX; + audacious_session_type = (gint *) AUDACIOUS_TYPE_UNIX; - return AUDACIOUS_TYPE_UNIX; + if (audacious_session_type == NULL) + audacious_session_type = (gint *) AUDACIOUS_TYPE_UNIX; + + return audacious_session_type; } /* tcp://192.168.100.1:5900/zyzychynxi389xvmfewqaxznvnw */ @@ -400,7 +418,7 @@ xmms_connect_to_session(gint session) { gint fd; - gint type = audacious_determine_session_type(session); + gint *type = audacious_determine_session_type(session); gchar *uri = audacious_get_session_uri(session); if (type == AUDACIOUS_TYPE_UNIX)
