8 #ifndef ossimJobQueue_HEADER 9 #define ossimJobQueue_HEADER 103 virtual void adding(std::shared_ptr<ossimJobQueue> ,
104 std::shared_ptr<ossimJob> ){};
111 virtual void added(std::shared_ptr<ossimJobQueue> ,
112 std::shared_ptr<ossimJob> ){}
120 virtual void removed(std::shared_ptr<ossimJobQueue> ,
121 std::shared_ptr<ossimJob>){}
134 return shared_from_this();
142 return shared_from_this();
153 virtual void add(std::shared_ptr<ossimJob> job,
bool guaranteeUniqueFlag=
true);
161 virtual std::shared_ptr<ossimJob> removeByName(
const ossimString& name);
169 virtual std::shared_ptr<ossimJob> removeById(
const ossimString&
id);
176 virtual void remove(
const std::shared_ptr<ossimJob> Job);
181 virtual void removeStoppedJobs();
186 virtual void clear();
197 virtual std::shared_ptr<ossimJob> nextJob(
bool blockIfEmptyFlag=
true);
202 virtual void releaseBlock();
219 void setCallback(std::shared_ptr<Callback> c);
224 std::shared_ptr<Callback> callback();
233 ossimJob::List::iterator findById(
const ossimString&
id);
241 ossimJob::List::iterator findByName(
const ossimString& name);
249 ossimJob::List::iterator findByPointer(
const std::shared_ptr<ossimJob> job);
257 ossimJob::List::iterator findByNameOrPointer(
const std::shared_ptr<ossimJob> job);
264 bool hasJob(std::shared_ptr<ossimJob> job);
std::shared_ptr< ossimJobQueue > getSharedFromThis()
This is the safe way to create a std::shared_ptr for 'this'.
virtual void removed(std::shared_ptr< ossimJobQueue >, std::shared_ptr< ossimJob >)
Called after a job is removed from the queue.
virtual void adding(std::shared_ptr< ossimJobQueue >, std::shared_ptr< ossimJob >)
Called just before a job is added.
ossimJob::List m_jobQueue
std::shared_ptr< Callback > m_callback
virtual void added(std::shared_ptr< ossimJobQueue >, std::shared_ptr< ossimJob >)
Called after a job is added to the queue.
unsigned int ossim_uint32
This is a very simple block interface.
std::list< std::shared_ptr< ossimJob > > List
This is the base implementation for the job queue.
std::mutex m_jobQueueMutex
std::shared_ptr< const ossimJobQueue > getSharedFromThis() const
This is the safe way to create a std::shared_ptr for 'this'.
The callback allows one to attach and listen for certain things.