diff options
Diffstat (limited to 'include/Input.h')
-rw-r--r-- | include/Input.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/Input.h b/include/Input.h new file mode 100644 index 0000000..960bbb0 --- /dev/null +++ b/include/Input.h @@ -0,0 +1,56 @@ +#ifndef _INPUT_H_ +#define _INPUT_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <sys/types.h> // open +#include <sys/stat.h> // open +#include <fcntl.h> // open +#include <unistd.h> // read +#include <netdb.h> // for gethostbyname +#include <sys/socket.h> // socket + +#include <stdio.h> +#include <fcntl.h> +#include <unistd.h> + + +#include <string> // save filename +using namespace std; +#include "generic.h" + +class Input { + public: + Input(); + virtual ~ Input(); + + virtual int Open(const char *pathname); // open file or stream and return formt + virtual int Close(); // close or disconnect + virtual int Read(void *buf, unsigned int count); //read into buf count times. + + virtual long SeekSet(long offset); // lseek using SEEK_SET + virtual long SeekCur(long offset); // lseek using SEEK_CUR + virtual long SeekEnd(long offset); // lseek using SEEK_END + //int getEof() { return eof(fd); } + virtual float get_cachesize(); // return amount of buffer that is used. 0.0 for InputFile + + virtual bool get_recover( ) { return recover; } + void set_recover( bool x) { recover =x;} + + + void SetVerbosity(int d) { verbosity = d; } // set debug level 0-3 protected: + int get_fd() { return fd;} + int get_format() { return format;} + const char * get_filename() { return filename.c_str(); } + + protected: + int fd; //file descriptor for files and sockets + int format; //what format? OGG,MP3,NEXT etc. see defines above + int verbosity; //how much debugging/info to print + //we need to be able to set this dynamically for http + bool recover; // whether to recover connections on the net + string filename; // store the path/filename of what is opened for reading +}; +#endif |