libmpd  11.8.17
Data Object

Data Structures

struct  _MpdData
 

Typedefs

typedef struct _MpdData MpdData
 

Enumerations

enum  MpdDataType {
  MPD_DATA_TYPE_NONE, MPD_DATA_TYPE_TAG, MPD_DATA_TYPE_DIRECTORY, MPD_DATA_TYPE_SONG,
  MPD_DATA_TYPE_PLAYLIST, MPD_DATA_TYPE_OUTPUT_DEV
}
 

Functions

int mpd_data_is_last (MpdData const *data)
 
void mpd_data_free (MpdData *data)
 
MpdDatampd_data_get_next (MpdData *data)
 
MpdDatampd_data_get_first (MpdData const *data)
 
MpdDatampd_data_delete_item (MpdData *data)
 

Detailed Description

This is a fast linked list implementation where data returned from mpd is stored in.

Typedef Documentation

◆ MpdData

typedef struct _MpdData MpdData

# A fast linked list that is used to pass data from libmpd to the client.

Enumeration Type Documentation

◆ MpdDataType

enumeration to determine what value the MpdData structure hold. The MpdData structure can hold only one type of value, but a list of MpdData structs can hold structs with different type of values. It's required to check every MpdData Structure.

Enumerator
MPD_DATA_TYPE_NONE 

The MpdData structure holds no value

MPD_DATA_TYPE_TAG 

Holds an Tag String. value->tag is filled value->tag_type defines what type of tag.

MPD_DATA_TYPE_DIRECTORY 

Holds an Directory String. value->directory is filled.

MPD_DATA_TYPE_SONG 

Holds an MpdSong Structure. value->song is valid.

MPD_DATA_TYPE_PLAYLIST 

Holds an Playlist String. value->playlist is filled.

MPD_DATA_TYPE_OUTPUT_DEV 

Holds an MpdOutputDevice structure. value->output_dev is valid.

Definition at line 121 of file libmpd.h.

Function Documentation

◆ mpd_data_delete_item()

MpdData* mpd_data_delete_item ( MpdData data)
Parameters
dataa MpdData item

removes the passed MpdData from the underlying list, and returns the element before data

Returns
a MpdData list

◆ mpd_data_free()

void mpd_data_free ( MpdData data)
Parameters
dataa MpdData

Free's a MpdData List

◆ mpd_data_get_first()

MpdData* mpd_data_get_first ( MpdData const *  data)
Parameters
dataa MpdData

Returns the first MpdData in the list.

Returns
The first MpdData or NULL

◆ mpd_data_get_next()

MpdData* mpd_data_get_next ( MpdData data)
Parameters
dataa MpdData

Returns the next MpdData in the list. If it's the last item in the list, it will free the list.

You can iterate through a list like this and have it freed afterwards.

for(data = mpd_database_get_albums(mi);data != NULL; data = mpd_data_get_next(data))
{
// do your thing
}
Returns
The next MpdData or NULL
Examples:
testcase.c.

◆ mpd_data_is_last()

int mpd_data_is_last ( MpdData const *  data)
Parameters
dataa MpdData

Checks if the passed MpdData is the last in a list

Returns
TRUE when data is the last in the list.

Copyright 2006 Qball Cow