Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_CSUTIL_SIMPLEJOBQUEUE_H__
00020 #define __CS_CSUTIL_SIMPLEJOBQUEUE_H__
00021
00026 #include "csextern.h"
00027 #include "csutil/scf_implementation.h"
00028 #include "iutil/job.h"
00029
00030
00031 namespace CS
00032 {
00033 namespace Utility
00034 {
00035
00036 class CS_CRYSTALSPACE_EXPORT SimpleJobQueue :
00037 public scfImplementation1<SimpleJobQueue, iJobQueue>
00038 {
00039 public:
00040 SimpleJobQueue ();
00041
00042 virtual void Enqueue (iJob* job, bool lowPriority = false);
00043 virtual void PullAndRun (iJob* job);
00044 virtual void Unqueue (iJob* job, bool waitIfCurrent = true);
00045 virtual bool IsFinished ();
00046 virtual int32 GetQueueCount();
00047 void Wait(iJob*);
00048 virtual void WaitAll ();
00049 };
00050
00051
00052 }
00053 }
00054
00055 #endif