[Gdal-dev] DriverManager

Matthew Hanson mhanson at photon.com
Fri Oct 15 11:20:53 EDT 2004


Thanks Frank,

I see the C implementation now, missed it before, duh.

So, is there a way to tell if GDALAllRegister has already been called?

matt


> -----Original Message-----
> From: Frank Warmerdam [mailto:warmerdam at pobox.com]
> Sent: Friday, October 15, 2004 11:12 AM
> To: Matthew Hanson
> Cc: Gdal-dev at xserve.flids.com
> Subject: Re: [Gdal-dev] DriverManager
> 
> Matthew Hanson wrote:
> > Hi,
> >
> > When is the global DriverManager object created?
> 
> Matt,
> 
> It is created by the first call to GetGDALDriverManager().  This usually
> happens in the all register function.
> 
>  > I thought it would be
> > created in the GDALAllRegister function.  What I wanted to do is make
> the
> > AllRegister function happen in the background in my wrapper.
> >
> > - If the AllRegister function has not been called will
> GetGDALDriverManager
> > return a 0?
> 
> No, it never returns NULL.
> 
> > - The declaration for GetGDALDriverManager does not occur in gdal.h (but
> > DestroyDriverManager does), but instead is in gdal_priv.h.  Shouldn't it
> be
> > in the C API header?
> 
> The driver manager class is a singleton, and so it's existance as a
> descrete
> object is masked by the C API.  There is little point in exposing it.
> 
> > - There's one global instance of DriverManager which (sorta)
> holds/manages
> > one instance of GDALDriver for each format type. Does calling
> > DestroyDriverManager end up destroying all these instances and
> deregistering
> > all the drivers?
> 
> Yes.
> 
> > - I'm trying to figure out the C wrapper works, there's the gdal.h with
> the
> > declarations, but how is it linked to the native C++ object functions?
> 
> Linked?
> 
> The gdal.h declares all the C API functions.  The implementation of the
> C functions is normally found in the source files right next to the
> corresponding C++ method implementation.  The produced GDAL DLL exports
> the C and C++ interface.
> 
> 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 Gdal-dev mailing list