// // G A M E.O.N.E - LOW LEVEL LIB V1.0 // Copyright (C) 2001 LEVEL ONE ENTERTAINMENT, // Licensed under the terms of LGPL. //:--------------------------------------------------------------------------- //:Description // // LOW LEVEL CStream CLASS INCLUDE FILE // //:--------------------------------------------------------------------------- #ifndef _STRMOD_H #define _STRMOD_H //------------------------------------------------------------------------------------------------- // Stream class declaration //------------------------------------------------------------------------------------------------- class CStreamModule { //------------------------------------------------------------------------------------------------- // construction / destruction //------------------------------------------------------------------------------------------------- public: CStreamModule(); virtual ~CStreamModule(); //------------------------------------------------------------------------------------------------- // virtual member functions //------------------------------------------------------------------------------------------------- virtual int read(void *ioBuf, int iNum); virtual int write(void *ioBuf, int iNum); virtual int ioCtl( char *iCmd, void *ioOption );// send a command down the stream virtual CStreamModule * Clone(); //------------------------------------------------------------------------------------------------- // public member functions //------------------------------------------------------------------------------------------------- public: CStreamModule *link( CStreamModule *iPrev, CStreamModule *iNext ); CStreamModule *unlink(void); CStreamModule *Next(void); // iterator CStreamModule *Prev(void); // iterator //------------------------------------------------------------------------------------------------- // instance variables //------------------------------------------------------------------------------------------------- CStreamModule *mNext; // Pointer to the next module in the stream CStreamModule *mPrev; // Pointer to the previous module in the stream }; #endif