view src/console/Vfs_File.h @ 894:f19e6748d8eb trunk

[svn] maintenance of build system: - link for OBJECTIVE_LIBS had not occurred even if OBJECTIVE_LIBS_NOINST was re-linked. LIBDEP macro is introduced to indicate dependency. - make rules such as $(AR) cq $@ $(OBJECTS) in individual Makefile have been removed. these linkage will be done through objective.mk. - *.h has been removed from SOURCES. these files had been passed to linker as object files.
author yaz
date Sat, 24 Mar 2007 09:08:58 -0700
parents 986f098da058
children 2ebeb7816c5e
line wrap: on
line source

// File_Reader wrapper over a VFSFile

#ifndef VFS_FILE_H
#define VFS_FILE_H

#include "Data_Reader.h"

#include "audacious/vfs.h"

class Vfs_File_Reader : public File_Reader {
public:
	void reset( VFSFile* ); // use already-open file and doesn't close it in close()
	error_t open( const char* path );
	VFSFile* file() const { return file_; }
	void close();
	
public:
	Vfs_File_Reader();
	~Vfs_File_Reader();
	long size() const;
	long read_avail( void*, long );
	long tell() const;
	error_t seek( long );
private:
	VFSFile* file_;
	VFSFile* owned_file_;
};

#endif