/*******************************************************************************
 *	BRefData.h		Referenced data storage
 *				T.Barnaby,	Beam Ltd,	6/10/94
 *******************************************************************************
 */
#ifndef BREFDATA_H
#define	BREFDATA_H	1

/// Referenced data storage
class BRefData {
public:
			BRefData();
			BRefData(int len);
			BRefData(const BRefData& refData);
			~BRefData();

	BRefData*	copy();					
	BRefData*	addRef();
	int		deleteRef();
	int		refCount(){ return oRefCount; }

	char*		data(){	return (char*)oData; }
	int		len(){ return oLen; }
	void		setLen(int len);

	BRefData&	operator=(BRefData& refData);

private:
	void*	oData;
	int	oLen;
	int	oSize;
	int	oRefCount;
};


#endif
