Main Page | Class List | File List | Class Members | File Members

cddb_conn.h

Go to the documentation of this file.
00001 /* 00002 $Id: cddb_conn.h,v 1.22 2004/10/15 18:40:08 airborne Exp $ 00003 00004 Copyright (C) 2003, 2004 Kris Verbeeck <airborne@advalvas.be> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the 00018 Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00019 Boston, MA 02111-1307, USA. 00020 */ 00021 00022 #ifndef CDDB_CONN_H 00023 #define CDDB_CONN_H 1 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 00030 #include <stdio.h> 00031 #include <netinet/in.h> 00032 00033 #define CACHE_OFF 0 00035 #define CACHE_ON 1 00036 #define CACHE_ONLY 2 00043 typedef struct cddb_iconv_s *cddb_iconv_t; 00044 00049 typedef struct cddb_conn_s 00050 { 00051 unsigned int buf_size; 00053 char *line; 00055 int is_connected; 00056 struct sockaddr_in sa; 00058 int socket; 00059 char *server_name; 00061 int server_port; 00063 int timeout; 00067 char *http_path_query; 00070 char *http_path_submit; 00073 int is_http_enabled; 00075 int is_http_proxy_enabled; 00077 char *http_proxy_server; 00078 int http_proxy_server_port; 00081 FILE *cache_fp; 00083 int use_cache; 00085 char *cache_dir; 00087 int cache_read; 00090 char *cname; 00092 char *cversion; 00094 char *user; 00097 char *hostname; 00101 cddb_error_t errnum; 00103 cddb_disc_t **query_data; 00104 int query_idx; 00105 int query_cnt; 00107 cddb_iconv_t charset; 00108 } cddb_conn_t; 00109 00110 00111 /* --- construction / destruction --- */ 00112 00113 00122 cddb_conn_t *cddb_new(void); 00123 00128 void cddb_destroy(cddb_conn_t *c); 00129 00130 00131 /* --- getters & setters --- */ 00132 00133 00145 int cddb_set_charset(cddb_conn_t *c, const char *cs); 00146 00153 void cddb_set_buf_size(cddb_conn_t *c, unsigned int size); 00154 00163 #define cddb_get_server_name(c) (c)->server_name 00164 00174 void cddb_set_server_name(cddb_conn_t *c, const char *server); 00175 00184 #define cddb_get_server_port(c) (c)->server_port 00185 00194 void cddb_set_server_port(cddb_conn_t *c, int port); 00195 00204 #define cddb_get_timeout(c) (c)->timeout 00205 00215 #define cddb_set_timeout(c, t) (c)->timeout = t 00216 00225 #define cddb_get_http_path_query(c) (c)->http_path_query 00226 00236 void cddb_set_http_path_query(cddb_conn_t *c, const char *path); 00237 00246 #define cddb_get_http_path_submit(c) (c)->http_path_submit 00247 00257 void cddb_set_http_path_submit(cddb_conn_t *c, const char *path); 00258 00269 #define cddb_is_http_enabled(c) (c)->is_http_enabled 00270 00280 void cddb_http_enable(cddb_conn_t *c); 00281 00291 void cddb_http_disable(cddb_conn_t *c); 00292 00305 #define cddb_is_http_proxy_enabled(c) (c)->is_http_proxy_enabled 00306 00318 void cddb_http_proxy_enable(cddb_conn_t *c); 00319 00329 void cddb_http_proxy_disable(cddb_conn_t *c); 00330 00339 #define cddb_get_http_proxy_server_name(c) (c)->http_proxy_server 00340 00350 void cddb_set_http_proxy_server_name(cddb_conn_t *c, const char *server); 00351 00360 #define cddb_get_http_proxy_server_port(c) (c)->http_proxy_server_port 00361 00370 void cddb_set_http_proxy_server_port(cddb_conn_t *c, int port); 00371 00378 #define cddb_errno(c) (c)->errnum 00379 00392 void cddb_set_client(cddb_conn_t *c, const char *cname, const char *cversion); 00393 00402 int cddb_set_email_address(cddb_conn_t *c, const char *email); 00403 00417 #define cddb_cache_mode(c) (c)->use_cache 00418 00430 #define cddb_cache_enable(c) (c)->use_cache = CACHE_ON 00431 00443 #define cddb_cache_only(c) (c)->use_cache = CACHE_ONLY 00444 00456 #define cddb_cache_disable(c) (c)->use_cache = CACHE_OFF 00457 00466 #define cddb_cache_get_dir(c) (c)->cache_dir; 00467 00480 int cddb_cache_set_dir(cddb_conn_t *c, const char *dir); 00481 00482 00483 #ifdef __cplusplus 00484 } 00485 #endif 00486 00487 #endif /* CDDB_CONN_H */

Generated on Sat Oct 16 18:12:36 2004 for libcddb by doxygen 1.3.8