26 #ifndef __TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H
27 #define __TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H
32 #include "../common/Enums.h"
35 #include <boost/noncopyable.hpp>
36 #include <boost/thread/mutex.hpp>
37 #include <boost/thread/condition_variable.hpp>
46 class SynchronizedBandBlocksManager;
47 class SynchronizedBand;
48 class SynchronizedRaster;
103 bool acquireBlock(
const unsigned int bandIdx,
104 const unsigned int blockXIndex,
const unsigned int blockYIndex,
116 bool releaseBlock(
const unsigned int bandIdx,
117 const unsigned int blockXIndex,
const unsigned int blockYIndex,
127 #endif //__TERRALIB_RASTER_INTERNAL_RASTEERSYNCHRONIZER_H
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
An adapter class to allow concurrent access to raster data by multiple threads.
An access synchronizer to be used in SynchronizedRaster raster instances.
boost::mutex m_mutex
General sync mutex;.
boost::condition_variable_any m_condVar
Block use request sync variable.
AccessPolicy
Supported data access policies (can be used as bitfield).
Raster & m_raster
The input raster.
An abstract class for raster data strucutures.
An abstract class for raster data strucutures.
Syncrhonized raster band.
std::vector< std::vector< std::vector< unsigned int > > > BlocksUseCounterT
Blocks use counter type definition.
Synchronized raster raster band blocks manager.
Configuration flags for the Raster module of TerraLib.
te::common::AccessPolicy m_policy
The access policy used on the given input raster.
BlocksUseCounterT m_blocksUseCounters
blocks use counter.