/usr/include/ossim/parallel/ossimJobQueue.h is in libossim-dev 1.8.16-4ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | //**************************************************************************************************
// OSSIM -- Open Source Software Image Map
//
// LICENSE: See top level LICENSE.txt file.
//
//**************************************************************************************************
// $Id$
#ifndef ossimJobQueue_HEADER
#define ossimJobQueue_HEADER
#include <ossim/parallel/ossimJob.h>
#include <OpenThreads/Block>
//*************************************************************************************************
//! Class for maintaining an ordered list of jobs to be processed. As the jobs are completed and
//! the product consumed, the jobs are removed from this list
//*************************************************************************************************
class OSSIM_DLL ossimJobQueue : public ossimReferenced
{
public:
class OSSIM_DLL Callback : public ossimReferenced
{
public:
Callback(){}
virtual void adding(ossimJobQueue* /*q*/, ossimJob* /*job*/){}
virtual void added(ossimJobQueue* /*q*/, ossimJob* /*job*/){}
virtual void removed(ossimJobQueue* /*q*/, ossimJob* /*job*/){}
protected:
};
ossimJobQueue();
virtual void add(ossimJob* job, bool guaranteeUniqueFlag=true);
virtual ossimRefPtr<ossimJob> removeByName(const ossimString& name);
virtual ossimRefPtr<ossimJob> removeById(const ossimString& id);
virtual void remove(const ossimJob* Job);
virtual void removeStoppedJobs();
virtual void clear();
virtual ossimRefPtr<ossimJob> nextJob(bool blockIfEmptyFlag=true);
virtual void releaseBlock();
bool isEmpty()const;
ossim_uint32 size();
void setCallback(Callback* c);
Callback* callback();
protected:
ossimJob::List::iterator findById(const ossimString& id);
ossimJob::List::iterator findByName(const ossimString& name);
ossimJob::List::iterator findByPointer(const ossimJob* job);
ossimJob::List::iterator findByNameOrPointer(const ossimJob* job);
bool hasJob(ossimJob* job);
mutable OpenThreads::Mutex m_jobQueueMutex;
OpenThreads::Block m_block;
ossimJob::List m_jobQueue;
ossimRefPtr<Callback> m_callback;
};
#endif
|