DSOImage.h
/* IIP fcgi server module
Copyright (C) 2000-2012 Ruven Pillay.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef ENABLE_DL
#ifndef _DSOIMAGE_H
#define _DSOIMAGE_H
#include <string>
#include "IIPImage.h"
class DSOImage : public IIPImage{
private:
std::string modulePath;
std::string description;
void *libHandle;
void loadLibrary() throw (std::string);
void unloadLibrary() throw (std::string);
std::string getError();
public:
DSOImage() : IIPImage() {
libHandle = NULL;
tile_width = 0; tile_height = 0;
numResolutions = 0;
};
DSOImage( const std::string& s ) : IIPImage( s ) {
libHandle = NULL;
tile_width = 0; tile_height = 0;
numResolutions = 0;
};
DSOImage( const IIPImage& image ) : IIPImage( image ) {
libHandle = NULL;
tile_width = 0; tile_height = 0;
numResolutions = 0;
};
~DSOImage();
const std::string getDescription() { return description; };
void Load( const std::string& p ) throw (std::string);
void openImage() throw (std::string);
void closeImage() throw (std::string);
RawTile getTile( int h, int v, unsigned int r, int l, unsigned int t ) throw(std::string);
};
#endif
#endif
IIPImage
Main class to handle the pyramidal image source.
Definition IIPImage.h:62
IIPImage::Load
virtual void Load(const std::string &module)
Load the appropriate codec module for this image type.
Definition IIPImage.h:330
IIPImage::getDescription
virtual const std::string getDescription()
Return codec description: Overloaded by child class.
Definition IIPImage.h:333
IIPImage::openImage
virtual void openImage()
Open the image: Overloaded by child class.
Definition IIPImage.h:336