comparison src/xs_config.c @ 720:0feeaf698a54

Clean up the XS_CFG_* macros a bit.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 10 Feb 2009 03:11:39 +0200
parents 06db79680afe
children 2b6a29eefffb
comparison
equal deleted inserted replaced
719:cab9d2b182e8 720:0feeaf698a54
22 */ 22 */
23 #include "xs_config.h" 23 #include "xs_config.h"
24 24
25 #ifdef AUDACIOUS_PLUGIN 25 #ifdef AUDACIOUS_PLUGIN
26 #include <audacious/plugin.h> 26 #include <audacious/plugin.h>
27 #define XS_CONFIG_FILE ConfigDb 27 #define XS_CONFIG_FILE mcs_handle_t
28 #define XS_CONFIG_OPEN aud_cfg_db_open 28 #define XS_CONFIG_OPEN aud_cfg_db_open
29 #define XS_CONFIG_FREE aud_cfg_db_close 29 #define XS_CONFIG_FREE aud_cfg_db_close
30 30
31 #define XS_CFG_SET_STRING aud_cfg_db_set_string 31 #define XS_CFG_SET_STRING(q,z) aud_cfg_db_set_string(cfg, XS_CONFIG_IDENT, q, z)
32 #define XS_CFG_SET_FLOAT aud_cfg_db_set_float 32 #define XS_CFG_SET_FLOAT(q,z) aud_cfg_db_set_float(cfg, XS_CONFIG_IDENT, q, z)
33 #define XS_CFG_SET_INT aud_cfg_db_set_int 33 #define XS_CFG_SET_INT(q,z) aud_cfg_db_set_int(cfg, XS_CONFIG_IDENT, q, z)
34 #define XS_CFG_SET_BOOL aud_cfg_db_set_bool 34 #define XS_CFG_SET_BOOL(q,z) aud_cfg_db_set_bool(cfg, XS_CONFIG_IDENT, q, z)
35 #define XS_CFG_GET_STRING aud_cfg_db_get_string 35 #define XS_CFG_GET_STRING(q,z) aud_cfg_db_get_string(cfg, XS_CONFIG_IDENT, q, z)
36 #define XS_CFG_GET_FLOAT aud_cfg_db_get_float 36 #define XS_CFG_GET_FLOAT(q,z) aud_cfg_db_get_float(cfg, XS_CONFIG_IDENT, q, z)
37 #define XS_CFG_GET_INT aud_cfg_db_get_int 37 #define XS_CFG_GET_INT(q,z) aud_cfg_db_get_int(cfg, XS_CONFIG_IDENT, q, z)
38 #define XS_CFG_GET_BOOL aud_cfg_db_get_bool 38 #define XS_CFG_GET_BOOL(q,z) aud_cfg_db_get_bool(cfg, XS_CONFIG_IDENT, q, z)
39 #else 39 #else
40 #include <xmms/configfile.h> 40 #include <xmms/configfile.h>
41 #define XS_CONFIG_FILE ConfigFile 41 #define XS_CONFIG_FILE ConfigFile
42 #define XS_CONFIG_OPEN xmms_cfg_open_default_file 42 #define XS_CONFIG_OPEN xmms_cfg_open_default_file
43 #define XS_CONFIG_FREE xmms_cfg_free 43 #define XS_CONFIG_FREE xmms_cfg_free
44 44
45 #define XS_CFG_SET_STRING xmms_cfg_write_string 45 #define XS_CFG_SET_STRING(q,z) xmms_cfg_write_string(cfg, XS_CONFIG_IDENT, q, z)
46 #define XS_CFG_SET_FLOAT xmms_cfg_write_float 46 #define XS_CFG_SET_FLOAT(q,z) xmms_cfg_write_float(cfg, XS_CONFIG_IDENT, q, z)
47 #define XS_CFG_SET_INT xmms_cfg_write_int 47 #define XS_CFG_SET_INT(q,z) xmms_cfg_write_int(cfg, XS_CONFIG_IDENT, q, z)
48 #define XS_CFG_SET_BOOL xmms_cfg_write_boolean 48 #define XS_CFG_SET_BOOL(q,z) xmms_cfg_write_boolean(cfg, XS_CONFIG_IDENT, q, z)
49 #define XS_CFG_GET_STRING xmms_cfg_read_string 49 #define XS_CFG_GET_STRING(q,z) xmms_cfg_read_string(cfg, XS_CONFIG_IDENT, q, z)
50 #define XS_CFG_GET_FLOAT xmms_cfg_read_float 50 #define XS_CFG_GET_FLOAT(q,z) xmms_cfg_read_float(cfg, XS_CONFIG_IDENT, q, z)
51 #define XS_CFG_GET_INT xmms_cfg_read_int 51 #define XS_CFG_GET_INT(q,z) xmms_cfg_read_int(cfg, XS_CONFIG_IDENT, q, z)
52 #define XS_CFG_GET_BOOL xmms_cfg_read_boolean 52 #define XS_CFG_GET_BOOL(q,z) xmms_cfg_read_boolean(cfg, XS_CONFIG_IDENT, q, z)
53 #endif 53 #endif
54 #include <stdio.h> 54 #include <stdio.h>
55 #include <ctype.h> 55 #include <ctype.h>
56 #include "xs_glade.h" 56 #include "xs_glade.h"
57 #include "xs_interface.h" 57 #include "xs_interface.h"
309 gchar tmpKey[64], *tmpStr; 309 gchar tmpKey[64], *tmpStr;
310 gint i, j; 310 gint i, j;
311 311
312 /* Get fields from config */ 312 /* Get fields from config */
313 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); 313 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter);
314 if (!XS_CFG_GET_INT(cfg, XS_CONFIG_IDENT, tmpKey, &(pResult->npoints))) 314 if (!XS_CFG_GET_INT(tmpKey, &(pResult->npoints)))
315 return FALSE; 315 return FALSE;
316 316
317 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); 317 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter);
318 if (!XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, &tmpStr)) 318 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
319 return FALSE; 319 return FALSE;
320 320
321 pResult->name = g_strdup(tmpStr); 321 pResult->name = g_strdup(tmpStr);
322 if (pResult->name == NULL) { 322 if (pResult->name == NULL) {
323 g_free(pResult); 323 g_free(pResult);
324 return FALSE; 324 return FALSE;
325 } 325 }
326 326
327 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); 327 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter);
328 if (!XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, &tmpStr)) 328 if (!XS_CFG_GET_STRING(tmpKey, &tmpStr))
329 return FALSE; 329 return FALSE;
330 330
331 for (i = 0, j = 0; i < pResult->npoints; i++, j += XS_FITEM) { 331 for (i = 0, j = 0; i < pResult->npoints; i++, j += XS_FITEM) {
332 if (sscanf(&tmpStr[j], "%4x%4x", 332 if (sscanf(&tmpStr[j], "%4x%4x",
333 &(pResult->points[i].x), 333 &(pResult->points[i].x),
372 pFilter->points[i].y); 372 pFilter->points[i].y);
373 } 373 }
374 374
375 /* Write into the configuration */ 375 /* Write into the configuration */
376 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); 376 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter);
377 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, pFilter->name); 377 XS_CFG_SET_STRING(tmpKey, pFilter->name);
378 378
379 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); 379 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter);
380 XS_CFG_SET_INT(cfg, XS_CONFIG_IDENT, tmpKey, pFilter->npoints); 380 XS_CFG_SET_INT(tmpKey, pFilter->npoints);
381 381
382 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter); 382 g_snprintf(tmpKey, sizeof(tmpKey), "filter%dPoints", nFilter);
383 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, tmpValue); 383 XS_CFG_SET_STRING(tmpKey, tmpValue);
384 384
385 g_free(tmpValue); 385 g_free(tmpValue);
386 return TRUE; 386 return TRUE;
387 } 387 }
388 #endif 388 #endif
543 543
544 /* Read the new settings from XMMS configuration file */ 544 /* Read the new settings from XMMS configuration file */
545 for (i = 0; i < xs_cfgtable_max; i++) { 545 for (i = 0; i < xs_cfgtable_max; i++) {
546 switch (xs_cfgtable[i].itemType) { 546 switch (xs_cfgtable[i].itemType) {
547 case CTYPE_INT: 547 case CTYPE_INT:
548 XS_CFG_GET_INT(cfg, XS_CONFIG_IDENT, 548 XS_CFG_GET_INT(xs_cfgtable[i].itemName,
549 xs_cfgtable[i].itemName,
550 (gint *) xs_cfgtable[i].itemData); 549 (gint *) xs_cfgtable[i].itemData);
551 break; 550 break;
552 551
553 case CTYPE_BOOL: 552 case CTYPE_BOOL:
554 XS_CFG_GET_BOOL(cfg, XS_CONFIG_IDENT, 553 XS_CFG_GET_BOOL(xs_cfgtable[i].itemName,
555 xs_cfgtable[i].itemName,
556 (gboolean *) xs_cfgtable[i].itemData); 554 (gboolean *) xs_cfgtable[i].itemData);
557 break; 555 break;
558 556
559 case CTYPE_FLOAT: 557 case CTYPE_FLOAT:
560 XS_CFG_GET_FLOAT(cfg, XS_CONFIG_IDENT, 558 XS_CFG_GET_FLOAT(xs_cfgtable[i].itemName,
561 xs_cfgtable[i].itemName,
562 (gfloat *) xs_cfgtable[i].itemData); 559 (gfloat *) xs_cfgtable[i].itemData);
563 break; 560 break;
564 561
565 case CTYPE_STR: 562 case CTYPE_STR:
566 if (XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, 563 if (XS_CFG_GET_STRING(xs_cfgtable[i].itemName,
567 xs_cfgtable[i].itemName, (gchar **) &tmpStr)) { 564 (gchar **) &tmpStr)) {
568 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr); 565 xs_pstrcpy((gchar **) xs_cfgtable[i].itemData, tmpStr);
569 g_free(tmpStr); 566 g_free(tmpStr);
570 } 567 }
571 break; 568 break;
572 } 569 }
613 610
614 /* Write the new settings to XMMS configuration file */ 611 /* Write the new settings to XMMS configuration file */
615 for (i = 0; i < xs_cfgtable_max; i++) { 612 for (i = 0; i < xs_cfgtable_max; i++) {
616 switch (xs_cfgtable[i].itemType) { 613 switch (xs_cfgtable[i].itemType) {
617 case CTYPE_INT: 614 case CTYPE_INT:
618 XS_CFG_SET_INT(cfg, XS_CONFIG_IDENT, 615 XS_CFG_SET_INT(xs_cfgtable[i].itemName,
619 xs_cfgtable[i].itemName,
620 *(gint *) xs_cfgtable[i].itemData); 616 *(gint *) xs_cfgtable[i].itemData);
621 break; 617 break;
622 618
623 case CTYPE_BOOL: 619 case CTYPE_BOOL:
624 XS_CFG_SET_BOOL(cfg, XS_CONFIG_IDENT, 620 XS_CFG_SET_BOOL(xs_cfgtable[i].itemName,
625 xs_cfgtable[i].itemName,
626 *(gboolean *) xs_cfgtable[i].itemData); 621 *(gboolean *) xs_cfgtable[i].itemData);
627 break; 622 break;
628 623
629 case CTYPE_FLOAT: 624 case CTYPE_FLOAT:
630 XS_CFG_SET_FLOAT(cfg, XS_CONFIG_IDENT, 625 XS_CFG_SET_FLOAT(xs_cfgtable[i].itemName,
631 xs_cfgtable[i].itemName,
632 *(gfloat *) xs_cfgtable[i].itemData); 626 *(gfloat *) xs_cfgtable[i].itemData);
633 break; 627 break;
634 628
635 case CTYPE_STR: 629 case CTYPE_STR:
636 XS_CFG_SET_STRING(cfg, XS_CONFIG_IDENT, 630 XS_CFG_SET_STRING(xs_cfgtable[i].itemName,
637 xs_cfgtable[i].itemName,
638 *(gchar **) xs_cfgtable[i].itemData); 631 *(gchar **) xs_cfgtable[i].itemData);
639 break; 632 break;
640 } 633 }
641 } 634 }
642 635