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
00028
00031
00032
00033 #pragma once
00034
00035
00036 #include "../api_core.h"
00037
00041 class CL_API_CORE CL_EventProvider
00042 {
00045
00046 public:
00047 virtual ~CL_EventProvider() { return; }
00048
00049
00053
00054 public:
00055 #ifdef WIN32
00056 enum EventType
00057 {
00058 type_native
00059 };
00060 #else
00061 enum EventType
00062 {
00063 type_fd_read,
00064 type_fd_write,
00065 type_fd_exception
00066 };
00067 #endif
00068
00070 virtual EventType get_event_type(int index) = 0;
00071
00072 #ifdef WIN32
00073
00074 virtual HANDLE get_event_handle(int index) = 0;
00075 #else
00076
00077 virtual int get_event_handle(int index) = 0;
00078 #endif
00079
00081 virtual int get_num_event_handles() = 0;
00082
00083
00087
00088 public:
00090 virtual bool check_before_wait() { return false; }
00091
00093 virtual bool check_after_wait(int index) { return true; }
00094
00096 virtual bool set() { return false; }
00097
00099 virtual bool reset() { return false; }
00100
00101
00105
00106 private:
00108 };
00109
00110