Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
Classes | Macros | Functions | Variables
art.c File Reference
#include <assert.h>
#include <errno.h>
#include <glib.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <libaudcore/audstrings.h>
#include <libaudcore/hook.h>
#include "main.h"
#include "misc.h"
#include "playlist.h"
#include "scanner.h"
#include "util.h"

Go to the source code of this file.

Classes

struct  ArtItem
 

Macros

#define FLAG_DONE   1
 
#define FLAG_SENT   2
 

Functions

static void art_item_free (ArtItem *item)
 
static bool_t send_requests (void *unused)
 
static void request_callback (ScanRequest *request)
 
static ArtItemart_item_get (const char *file, bool_t blocking)
 
static void art_item_unref (const char *file, ArtItem *item)
 
static void release_current (void)
 
void art_init (void)
 
void art_cleanup (void)
 
void art_get_data_real (const char *file, const void **data, int64_t *len, bool_t blocking)
 
const char * art_get_file_real (const char *file, bool_t blocking)
 
void art_request_data (const char *file, const void **data, int64_t *len)
 
const char * art_request_file (const char *file)
 
void art_get_data (const char *file, const void **data, int64_t *len)
 
const char * art_get_file (const char *file)
 
void art_unref (const char *file)
 

Variables

static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
 
static pthread_cond_t cond = PTHREAD_COND_INITIALIZER
 
static GHashTable * art_items
 
static char * current_ref
 
static int send_source
 

Macro Definition Documentation

#define FLAG_DONE   1

Definition at line 38 of file art.c.

Referenced by request_callback(), and send_requests().

#define FLAG_SENT   2

Definition at line 39 of file art.c.

Referenced by send_requests().

Function Documentation

void art_cleanup ( void  )

Definition at line 208 of file art.c.

Referenced by shut_down().

void art_get_data ( const char *  file,
const void **  data,
int64_t *  len 
)

Definition at line 294 of file art.c.

void art_get_data_real ( const char *  file,
const void **  data,
int64_t *  len,
bool_t  blocking 
)

Definition at line 225 of file art.c.

Referenced by art_get_data(), and art_request_data().

const char* art_get_file ( const char *  file)

Definition at line 301 of file art.c.

const char* art_get_file_real ( const char *  file,
bool_t  blocking 
)

Definition at line 253 of file art.c.

Referenced by art_get_file(), and art_request_file().

void art_init ( void  )

Definition at line 199 of file art.c.

Referenced by init_two().

static void art_item_free ( ArtItem item)
static

Definition at line 61 of file art.c.

Referenced by art_init().

static ArtItem* art_item_get ( const char *  file,
bool_t  blocking 
)
static

Definition at line 153 of file art.c.

Referenced by art_get_data_real(), and art_get_file_real().

static void art_item_unref ( const char *  file,
ArtItem item 
)
static

Definition at line 183 of file art.c.

Referenced by art_get_data_real(), art_get_file_real(), and art_unref().

void art_request_data ( const char *  file,
const void **  data,
int64_t *  len 
)

Definition at line 284 of file art.c.

const char* art_request_file ( const char *  file)

Definition at line 289 of file art.c.

void art_unref ( const char *  file)

Definition at line 308 of file art.c.

Referenced by release_current(), and send_requests().

static void release_current ( void  )
static

Definition at line 189 of file art.c.

Referenced by art_cleanup(), and art_init().

static void request_callback ( ScanRequest *  request)
static

Definition at line 134 of file art.c.

Referenced by art_item_get().

static bool_t send_requests ( void *  unused)
static

Definition at line 79 of file art.c.

Referenced by request_callback().

Variable Documentation

GHashTable* art_items
static
pthread_cond_t cond = PTHREAD_COND_INITIALIZER
static

Definition at line 55 of file art.c.

Referenced by art_item_get(), and request_callback().

char* current_ref
static

Definition at line 58 of file art.c.

Referenced by release_current(), and send_requests().

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER
static
int send_source
static

Definition at line 59 of file art.c.

Referenced by art_cleanup(), request_callback(), and send_requests().