decompressor.h

00001 /*
00002  * libopenraw - decompressor.h
00003  *
00004  * Copyright (C) 2007 Hubert Figuiere
00005  *
00006  * This library is free software: you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public License
00008  * as published by the Free Software Foundation, either version 3 of
00009  * the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library.  If not, see
00018  * <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 #ifndef __OPENRAW_DECOMPRESS_H__
00022 #define __OPENRAW_DECOMPRESS_H__
00023 
00024 #include <boost/noncopyable.hpp>
00025 
00026 #include <libopenraw/libopenraw.h>
00027 
00028 
00029 namespace OpenRaw {
00030 
00031     class RawData;
00032 
00033     namespace IO {
00034         class Stream;
00035     }
00036 
00037     namespace Internals {
00038 
00039         class RawContainer;
00040 
00041         class Decompressor
00042             : private boost::noncopyable
00043         {
00044         public:
00045             Decompressor(IO::Stream * stream,
00046                                      RawContainer * container);
00047             virtual ~Decompressor();
00048             
00056             virtual RawData *decompress(RawData *in = NULL) = 0;
00057         protected:
00058             IO::Stream *m_stream;
00059             RawContainer *m_container;
00060 
00062             Decompressor(const Decompressor& f);
00064             Decompressor & operator=(const Decompressor&);
00065         };
00066 
00067     }
00068 }
00069 
00070 
00071 
00072 #endif
Generated on Thu Jul 29 20:40:27 2010 for libopenraw by  doxygen 1.6.3