EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Threading.h
Go to the documentation of this file.
1 
10 #ifndef EVE_THREADING_H
11 #define EVE_THREADING_H
12 
13 #include "../eve-core.h"
14 #include "utils/Singleton.h"
15 
16 class Threading
17 : public Singleton<Threading>
18 {
19 public:
20  Threading();
21  ~Threading();
22 
23  void Initialize();
24  void RunLoop();
25  void Process();
26  void AddSocket(SOCKET soc);
27  void AddThread(pthread_t thread);
28  void RemoveThread(pthread_t thread);
29  void CreateThread(void *(*start_routine) (void *), void *args);
30  void EndThreads();
31  void ListThreads();
32 
33 
34  uint8 Count() { return (uint8)(m_threads.size()); }
35 
36 protected:
37  char* buf;
38  fd_set rSoc, wSoc;
39  struct timeval tv;
40 
44 
45 private:
46  std::vector<pthread_t> m_threads;
47 };
48 
49 //Singleton
50 #define sThread \
51  ( Threading::get() )
52 
53 #endif // EVE_THREADING_H
unsigned __int8 uint8
Definition: eve-compat.h:46
struct timeval tv
Definition: Threading.h:39
uint32 bufferLen
Definition: Threading.h:43
std::vector< pthread_t > m_threads
Definition: Threading.h:46
uint8 sleepTime
Definition: Threading.h:42
void Initialize()
Definition: Threading.cpp:36
* args
char * buf
Definition: Threading.h:37
uint8 Count()
Definition: Threading.h:34
void RunLoop()
Definition: Threading.cpp:46
void RemoveThread(pthread_t thread)
Definition: Threading.cpp:105
fd_set wSoc
Definition: Threading.h:38
unsigned __int32 uint32
Definition: eve-compat.h:50
void ListThreads()
Definition: Threading.cpp:116
int SOCKET
Definition: eve-compat.h:127
void CreateThread(void *(*start_routine)(void *), void *args)
Definition: Threading.cpp:88
void AddThread(pthread_t thread)
Definition: Threading.cpp:100
Template used for singleton classes.
Definition: Singleton.h:43
fd_set rSoc
Definition: Threading.h:38
void Process()
Definition: Threading.cpp:54
uint8 nfds
Definition: Threading.h:41
void AddSocket(SOCKET soc)
Definition: Threading.cpp:81
void EndThreads()
Definition: Threading.cpp:121