[Mapserver-dev] Proprietary Formats

Frank Warmerdam warmerdam at pobox.com
Thu Jan 15 13:13:21 EST 2004


Ned Harding wrote:
> All,
> 
> I am about to start adding support for a proprietary format or 2 into
> Mapserver that my company would need to start fully utilizing MapServer.
> 
> It all looks pretty straight forward, but I wanted to do it in a generic way
> that might help other people, not hurt.  I was thinking about adding a
> single new CONNECTIONTYPE that would look like PLUGIN(PluginName) that would
> route through a C++ pure virtual base class that could be registered at run
> time.  The plugins would be added to a linked list (or a hash map) so that
> multiple could be instantiated at the same time.
> 
> I would isolate the C++ code to a separate module so that it would not
> require a c++ compiler to build MapServer without this feature.
> 
> This would make it much easier for 3rd party developers to add addition
> formats for specific instances of MapServer without having to touch the core
> code.
> 
> Comments and advice would be appreciated.

Ned,

Would you consider implementing this plugin support at the OGR (or GDAL if
they are raster) levels?  I already have a concept of run-time loadable
GDAL raster drivers, and have been intending to add it to the OGR side as
well.  Or is this a situation where you really want to do alot of custom
rendering logic for the layers as well?

If it does make sense to do it at the MapServer layer level, I would suggest
that it be implemented as a C structure of function pointers for the various
layer entry points.  This would be more in keeping with the C approach of
MapServer, and it wouldn't prevent you from implementing the custom layer
types in C++.

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent





More information about the mapserver-dev mailing list