GDAL
|
Class used as a session object for asynchronous requests. More...
#include <gdal_priv.h>
Inherited by GDALDefaultAsyncReader.
Public Member Functions | |
GDALDataset * | GetGDALDataset () |
int | GetXOffset () |
int | GetYOffset () |
int | GetXSize () |
int | GetYSize () |
void * | GetBuffer () |
int | GetBufferXSize () |
int | GetBufferYSize () |
GDALDataType | GetBufferType () |
int | GetBandCount () |
int * | GetBandMap () |
int | GetPixelSpace () |
int | GetLineSpace () |
int | GetBandSpace () |
virtual GDALAsyncStatusType | GetNextUpdatedRegion (double dfTimeout, int *pnBufXOff, int *pnBufYOff, int *pnBufXSize, int *pnBufYSize)=0 |
Get async IO update. More... | |
virtual int | LockBuffer (double dfTimeout=-1.0) |
Lock image buffer. More... | |
virtual void | UnlockBuffer () |
Unlock image buffer. More... | |
Protected Attributes | |
GDALDataset * | poDS |
int | nXOff |
int | nYOff |
int | nXSize |
int | nYSize |
void * | pBuf |
int | nBufXSize |
int | nBufYSize |
GDALDataType | eBufType |
int | nBandCount |
int * | panBandMap |
int | nPixelSpace |
int | nLineSpace |
int | nBandSpace |
Class used as a session object for asynchronous requests.
They are created with GDALDataset::BeginAsyncReader(), and destroyed with GDALDataset::EndAsyncReader().
|
pure virtual |
Get async IO update.
Provide an opportunity for an asynchronous IO request to update the image buffer and return an indication of the area of the buffer that has been updated.
The dfTimeout parameter can be used to wait for additional data to become available. The timeout does not limit the amount of time this method may spend actually processing available data.
The following return status are possible.
dfTimeout | the number of seconds to wait for additional updates. Use -1 to wait indefinately, or zero to not wait at all if there is no data available. |
pnBufXOff | location to return the X offset of the area of the request buffer that has been updated. |
pnBufYOff | location to return the Y offset of the area of the request buffer that has been updated. |
pnBufXSize | location to return the X size of the area of the request buffer that has been updated. |
pnBufYSize | location to return the Y size of the area of the request buffer that has been updated. |
|
virtual |
Lock image buffer.
Locks the image buffer passed into GDALDataset::BeginAsyncReader(). This is useful to ensure the image buffer is not being modified while it is being used by the application. UnlockBuffer() should be used to release this lock when it is no longer needed.
dfTimeout | the time in seconds to wait attempting to lock the buffer. -1.0 to wait indefinately and 0 to not wait at all if it can't be acquired immediately. Default is -1.0 (infinite wait). |
|
virtual |
Unlock image buffer.
Releases a lock on the image buffer previously taken with LockBuffer().