Plugin/file type association system. Patch #879411 by Henrik Backe
[kugel-rb.git] / apps / filetypes.h
blob30bb71a38e3b2122ca312d566b14a9dc8e4dc890
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id:
10 * Copyright (C) 2002 Henrik Backe
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
19 #ifndef _FILEHANDLE_H_
20 #define _FILEHANDLE_H_
22 #include <stdbool.h>
23 #include <tree.h>
24 #include <menu.h>
26 int filetype_get_attr(char*);
27 #ifdef HAVE_LCD_BITMAP
28 char* filetype_get_icon(int);
29 #else
30 int filetype_get_icon(int);
31 #endif
32 char* filetype_get_plugin(struct entry*);
33 void filetype_init(void);
34 bool filetype_supported(int);
35 int filetype_load_menu(struct menu_item*, int);
36 void filetype_load_plugin(char*,char*);
38 struct file_type {
39 #ifdef HAVE_LCD_BITMAP
40 unsigned char* icon; /* the icon which shall be used for it, NULL if unknown */
41 #else
42 int icon; /* the icon which shall be used for it, -1 if unknown */
43 #endif
44 char* plugin; /* Which plugin to use, NULL if unknown */
45 bool no_extension;
48 struct ext_type {
49 char* extension; /* extension for which the file type is recognized */
50 struct file_type* type;
53 #endif