ObjectiveLib
1.0.0
|
00001 // 00002 // $Id: BzlibOutStream.h,v 1.11 2007/03/06 20:42:19 will_mason Exp $ 00003 // 00004 // vi: set ft=objc: 00005 00006 /* 00007 * ObjectiveLib - a library of containers and algorithms for Objective-C 00008 * 00009 * Copyright (c) 2004-2007 00010 * Will Mason 00011 * 00012 * Portions: 00013 * 00014 * Copyright (c) 1994 00015 * Hewlett-Packard Company 00016 * 00017 * Copyright (c) 1996,1997 00018 * Silicon Graphics Computer Systems, Inc. 00019 * 00020 * Copyright (c) 1997 00021 * Moscow Center for SPARC Technology 00022 * 00023 * Copyright (c) 1999 00024 * Boris Fomitchev 00025 * 00026 * This library is free software; you can redistribute it and/or 00027 * modify it under the terms of the GNU Lesser General Public 00028 * License as published by the Free Software Foundation; either 00029 * version 2.1 of the License, or (at your option) any later version. 00030 * 00031 * This library is distributed in the hope that it will be useful, 00032 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00033 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00034 * Lesser General Public License for more details. 00035 * 00036 * You should have received a copy of the GNU Lesser General Public 00037 * License along with this library; if not, write to the Free Software 00038 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00039 * 00040 * You may contact the author at will_mason@users.sourceforge.net. 00041 */ 00042 00043 #if !defined(BZLIBOUTSTREAM_OL_GUARD) 00044 #define BZLIBOUTSTREAM_OL_GUARD 00045 00046 #include <ObjectiveLib/LayeredOutStream.h> 00047 00063 @interface OLBzlibOutStream : OLLayeredOutStream 00064 { 00065 @protected 00069 void* bzstream; 00070 00074 uint8_t* buffer; 00075 00079 unsigned bufferSize; 00080 } 00081 00094 + (id) streamWithOutStream: (OLOutStream*)underStream; 00095 00116 + (id) streamWithOutStream: (OLOutStream*)underStream blockSize: (int)block; 00117 00121 /* @{ */ 00131 - (id) initWithOutStream: (OLOutStream*)underStream; 00132 00145 - (id) initWithOutStream: (OLOutStream*)underStream blockSize: (int)block; 00146 00160 - (id) initWithOutStream: (OLOutStream*)underStream blockSize: (int)block bufferSize: (unsigned)size; 00161 #if !defined(OL_NO_OPENSTEP) 00162 - (void) dealloc; 00163 #endif 00164 /* @} */ 00165 00166 - (void) close; 00167 #if defined(OL_NO_OPENSTEP) 00168 - (void) freeStreamResources; 00169 #endif 00170 00180 - (unsigned) writeBytes: (const uint8_t*)bytes count: (unsigned)num; 00181 00182 @end 00183 00184 #endif
|