DSOImage.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifdef ENABLE_DL
00023
00024 #ifndef _DSOIMAGE_H
00025 #define _DSOIMAGE_H
00026
00027
00028 #include <string>
00029 #include "IIPImage.h"
00030
00031
00033
00034
00035 class DSOImage : public IIPImage{
00036
00037 private:
00038
00040 std::string modulePath;
00041
00043 std::string description;
00044
00046 void *libHandle;
00047
00049 void loadLibrary() throw (std::string);
00050
00052 void unloadLibrary() throw (std::string);
00053
00055 std::string getError();
00056
00057
00058 public:
00059
00061 DSOImage() : IIPImage() {
00062 libHandle = NULL;
00063 tile_width = 0; tile_height = 0;
00064 numResolutions = 0;
00065 };
00066
00068
00070 DSOImage( const std::string& s ) : IIPImage( s ) {
00071 libHandle = NULL;
00072 tile_width = 0; tile_height = 0;
00073 numResolutions = 0;
00074 };
00075
00077
00079 DSOImage( const IIPImage& image ) : IIPImage( image ) {
00080 libHandle = NULL;
00081 tile_width = 0; tile_height = 0;
00082 numResolutions = 0;
00083 };
00084
00086 ~DSOImage();
00087
00088
00090 const std::string& getDescription() { return description; };
00091
00093
00095 void Load( const std::string& p ) throw (std::string);
00096
00098 void openImage() throw (std::string);
00099
00101 void closeImage() throw (std::string);
00102
00103
00105
00110 RawTile getTile( int x, int y, int r, int t ) throw (std::string);
00111
00112
00113 };
00114
00115
00116 #endif
00117
00118 #endif