Make a guess:


class BBSLocal : public BBSImpl {
public:
	BBSLocal();
	virtual ~BBSLocal();

	virtual bool look(const char*);

	virtual void txBegin(int16 *data);
	virtual void xxEnd(int16 *data);
	virtual void startFrames(int16 *data, int count);
	virtual void endFrames(int16 *data, int count);

	// resizable area
	virtual int16 *getResizableBuffer();

	// compressed area
	virtual void setCurPalette(int16 *curPalette);
	virtual int16 *getCurPalette();

	// physical framebuffer
	virtual void setFrameBuffer(int16 *src, int16 *dst);
	virtual void updatePalette(int16 *palette);
	virtual int16 *getFrameBuffer();

	// save/load game
	virtual bool save(const char *filename, const char *description);
	virtual bool load(const char *filename);

	// to write movie data
	virtual void writeMovi(Common::WriteStream *f);

	// to read movie data
	virtual bool readMovi(Common::SeekableReadStream *f);

protected:
	int16 _palette[128];
	int16 _x0, _y0, _x1, _y1;

	uint32 _width, _height;
	uint16 *_curPalette;
};

class BBSJInputBase : public BBSImpl {
public:
	BBSJInputBase();
	virtual ~BBSJInputBase();

	virtual bool look(const char*);

	virtual void txBegin(int16 *data);
	virtual void xxEnd(int16 *data);
	virtual void startFrames(int16 *data, int count);
	virtual void endFrames(int16 *data, int count);

	// resizable area
	virtual int16 *getResizableBuffer();

	// compressed area
	virtual void setCurPalette(int16 *curPalette);
	virtual int16 *getCurPalette();

	// physical framebuffer
	virtual void setFrameBuffer(int16 *src, int16 *dst);
	virtual void updatePalette(int16 *palette);
	virtual int16 *getFrameBuffer();

	// save/load game
	virtual bool save(const char *filename, const char *description);
	virtual bool load(const char *filename);

	// to write movie data
	virtual void writeMovi(Common::WriteStream *f);

	// to read movie data
	virtual bool readMovi(Common::SeekableReadStream *f);

protected:
	int16 _palette[128];
	int16 _x0, _y0, _x1, _y1;

	uint32 _width, _height;
	uint16 *_curPalette;
};

#pragma mark -
#pragma mark Loading functions

void loadBBSL(Common::SeekableReadStream *f, BBS &bbs);
void saveBBSL(Common::WriteStream *f, const BBS &bbs);

} // End of namespace Bbs

#endif