MacOSX/Framework: Support event collapsing, and save the media list thats own the...
[vlc.git] / extras / MacOSX / Framework / Headers / Public / VLCMediaListAspect.h
1 /*****************************************************************************
2  * VLCMediaLisAspect.h: VLC.framework VLCMediaLisAspect header
3  *****************************************************************************
4  * Copyright (C) 2007 Pierre d'Herbemont
5  * Copyright (C) 2007 the VideoLAN team
6  * $Id: VLCMediaList.h 21564 2007-08-29 21:09:27Z pdherbemont $
7  *
8  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24
25 #import "VLCMediaList.h"
26
27 @class VLCMedia;
28 @class VLCMediaList;
29
30 @interface VLCMediaListAspectNode : NSObject
31 {
32     VLCMedia * media;
33     VLCMediaListAspect * children;
34 }
35 @property (retain) VLCMedia * media;
36 @property (retain) VLCMediaListAspect * children;
37 - (BOOL)isLeaf;
38 @end
39
40 @interface VLCMediaListAspect : NSObject
41 {
42     void * p_mlv;                //< Internal instance of media list view
43     NSMutableArray * cachedNode;
44     VLCMediaList *parentMediaList;
45     BOOL ownHisMediaList;
46 }
47 - (VLCMedia *)mediaAtIndex:(int)index;
48 - (VLCMediaListAspectNode *)nodeAtIndex:(int)index;
49 - (int)count;
50
51 - (VLCMediaList *)parentMediaList;
52 @end