2 Copyright 2004-2005 Chris Tallon, Andreas Vogel
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef MEDIALAUNCHER_H
22 #define MEDIALAUNCHER_H
31 MediaLauncher(Config *c);
33 //let the launcher read it's config
34 //return != 0 if nothing handled
36 //init as a copy of another launcher
37 int init(MediaLauncher *cp);
38 //get the type for a file (if the launcher can handle it)
39 //return MEDIA_TYPE_UNKNOWN if it cannot be handled
40 ULONG getTypeForName(const char *name);
41 //open a stream, return PID of child , <0 on error
42 int openStream(const char *filename,ULONG xsize, ULONG ysize,const char * command=NULL);
44 //if *buffer!= NULL - use this one, else allocate an own (with malloc!)
45 //return read len (can be 0!)
46 //return <0 on error, >0 on stream end,0 on OK
47 int getNextBlock(ULONG size,unsigned char **buffer,ULONG *readLen);
58 MCommand(const char *name,ULONG type,const char *ext);
61 typedef MCommand *Pcmd;
66 int findCommand(const char *name); //return -1 if not found