ML Reference
|
00001 // **InsertLicense** code 00002 //------------------------------------------------------------------------- 00009 //------------------------------------------------------------------------- 00010 #ifndef __mlPageRequestProcessor_H 00011 #define __mlPageRequestProcessor_H 00012 00013 // ML-includes 00014 #ifndef __mlInitSystemML_H 00015 #include "mlInitSystemML.h" 00016 #endif 00017 00018 #include "mlInitSystemML.h" 00019 00020 ML_START_NAMESPACE 00021 00022 class TileRequest; 00023 class PageRequest; 00024 class PageRequestCursor; 00025 00026 //------------------------------------------------------------------------------------------- 00028 //------------------------------------------------------------------------------------------- 00029 class MLEXPORT PageRequestQueueInterface 00030 { 00031 public: 00033 virtual ~PageRequestQueueInterface() {}; 00034 00036 virtual void append(PageRequest* request) = 0; 00037 }; 00038 00039 00040 //------------------------------------------------------------------------------------------- 00042 //------------------------------------------------------------------------------------------- 00043 class MLEXPORT PageRequestProcessor : public PageRequestQueueInterface 00044 { 00045 public: 00047 virtual ~PageRequestProcessor() {} 00048 00050 virtual void addRootTileRequest(TileRequest* tileRequest) = 0; 00051 00053 virtual void processAll() = 0; 00054 00056 virtual void process(double timeBudget) = 0; 00057 00059 virtual bool needsProcessing() = 0; 00060 00062 virtual void removeCancelledRequests() = 0; 00063 00069 virtual void enterProcessingScope() = 0; 00070 00072 virtual void leaveProcessingScope() = 0; 00073 00075 virtual void setNumWorkerThreads(int /*threads*/) = 0; 00076 00078 static void enableTileRequestAllocationFailure(int count = 1); 00080 static void disableTileRequestAllocationFailure(); 00081 00082 }; 00083 00084 00085 ML_END_NAMESPACE 00086 00087 #endif //of __mlPageRequestProcessor_H 00088