annotate playtreeparser.h @ 18265:1a14fde7680d

Doxygen Attack! - Chapter 3
author albeu
date Tue, 25 Apr 2006 01:26:10 +0000
parents 4bc481804519
children b3be7df634b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
1
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
2 /// \defgroup PlaytreeParser Playtree parser
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
3 /// \ingroup Playtree
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
4 ///
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
5 /// The playtree parser allow to read various playlist formats. It read from
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
6 /// stream allowing to handle playlist from local files and the network.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
7 ///@{
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
8
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
9 /// \file
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
10
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
11 #ifndef __PLAYTREEPARSER_H
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
12 #define __PLAYTREEPARSER_H
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
13
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents: 4782
diff changeset
14 struct stream_st;
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
15
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
16 typedef struct play_tree_parser {
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents: 4782
diff changeset
17 struct stream_st* stream;
4782
4b728967bd77 Playtree parser switch to a by line mode.
albeu
parents: 4308
diff changeset
18 char *buffer,*iter,*line;
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
19 int buffer_size , buffer_end;
4782
4b728967bd77 Playtree parser switch to a by line mode.
albeu
parents: 4308
diff changeset
20 int deep,keep;
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
21 } play_tree_parser_t;
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
22
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
23 /// Create a new parser.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
24 /** \param stream The stream to read from.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
25 * \param deep Parser depth. Some format allow including other files,
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
26 * this is used to track the inclusion depth.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
27 * \return The new parser.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
28 */
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
29 play_tree_parser_t*
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents: 4782
diff changeset
30 play_tree_parser_new(struct stream_st* stream,int deep);
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
31
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
32 /// Destroy a parser.
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
33 void
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
34 play_tree_parser_free(play_tree_parser_t* p);
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
35
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
36 /// Build a playtree from the playlist opened with the parser.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
37 /** \param p The parser.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
38 * \param forced If non-zero the playlist file was explicitly
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
39 * given by the user, allow falling back on
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
40 * one filename per line playlist.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
41 * \return A new playtree or NULL on error.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
42 */
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
43 play_tree_t*
8925
5c15777f1c07 this patch adds an fallback to playlist (any but the plaintext-list format)
arpi
parents: 8164
diff changeset
44 play_tree_parser_get_play_tree(play_tree_parser_t* p, int forced);
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
45
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
46 /// Wrapper for play_tree_add_basepath (add base path from file).
10211
4bc481804519 warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents: 8925
diff changeset
47 void
4bc481804519 warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents: 8925
diff changeset
48 play_tree_add_bpf(play_tree_t* pt, char* filename);
4bc481804519 warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
alex
parents: 8925
diff changeset
49
4308
d752f99fd535 Objectization of the play_tree_parser for more flexiblity
albeu
parents:
diff changeset
50 #endif
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
51
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 10211
diff changeset
52 ///@}