pdf_render_requests.h
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
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef PDF_RENDER_REQUESTS_H
00028 #define PDF_RENDER_REQUESTS_H
00029
00030 #include "mutex.h"
00031 #include "pdf_define.h"
00032
00033 namespace pdf
00034 {
00035
00036 using namespace std;
00037
00038 class PDFRenderRequests
00039 {
00040 public:
00041 PDFRenderRequests();
00042 ~PDFRenderRequests();
00043
00044
00045 void add_request(const size_t page_number, const int priority);
00046
00047
00048 void append_request(const size_t page_number);
00049
00050
00051 void remove_request(const size_t page_number);
00052
00053
00054 void clear();
00055
00056
00057
00058 int get_priority(const size_t page_number);
00059
00060
00061 void update(const std::vector<size_t> & requests);
00062
00063
00064 bool contains(const size_t page_number);
00065
00066 private:
00067 typedef std::tr1::unordered_map<size_t, int> Queue;
00068 typedef Queue::iterator QueueIter;
00069
00070 private:
00071
00072 Queue queue;
00073
00074
00075 Mutex queue_mutex;
00076 };
00077
00078 };
00079
00080 #endif