libpcidsk

pcidsk_interfaces.h

00001 /******************************************************************************
00002  *
00003  * Purpose:  Declaration of hookable interfaces for the library
00004  * 
00005  ******************************************************************************
00006  * Copyright (c) 2009
00007  * PCI Geomatics, 50 West Wilmot Street, Richmond Hill, Ont, Canada
00008  *
00009  * Permission is hereby granted, free of charge, to any person obtaining a
00010  * copy of this software and associated documentation files (the "Software"),
00011  * to deal in the Software without restriction, including without limitation
00012  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00013  * and/or sell copies of the Software, and to permit persons to whom the
00014  * Software is furnished to do so, subject to the following conditions:
00015  *
00016  * The above copyright notice and this permission notice shall be included
00017  * in all copies or substantial portions of the Software.
00018  *
00019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00020  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00022  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00024  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00025  * DEALINGS IN THE SOFTWARE.
00026  ****************************************************************************/
00027 
00028 #ifndef __INCLUDE_PCIDSK_INTERFACES_H
00029 #define __INCLUDE_PCIDSK_INTERFACES_H
00030 
00031 #include "pcidsk_io.h"
00032 #include "pcidsk_mutex.h"
00033 
00034 namespace PCIDSK
00035 {
00036     /************************************************************************/
00037     /*                           PCIDSKInterfaces                           */
00038     /************************************************************************/
00039 
00041 
00042     class PCIDSK_DLL PCIDSKInterfaces 
00043     {
00044       public:
00045         PCIDSKInterfaces();
00046 
00047         const IOInterfaces      *io;
00048 
00049         Mutex               *(*CreateMutex)(void);
00050 
00051         void                (*JPEGDecompressBlock)
00052             ( uint8 *src_data, int src_bytes, uint8 *dst_data, int dst_bytes,
00053               int xsize, int ysize, eChanType pixel_type );
00054         void                (*JPEGCompressBlock)
00055             ( uint8 *src_data, int src_bytes, uint8 *dst_data, int &dst_bytes,
00056               int xsize, int ysize, eChanType pixel_type, int quality );
00057 
00058     //    DBInterfaces  db_interfaces;
00059     };
00060 } // end namespace PCIDSK
00061 
00062 #endif // __INCLUDE_PCIDSK_INTERFACES_H

Generated for GDAL by doxygen 1.7.3.