CppELib 1.7.0
Loading...
Searching...
No Matches
PosixThreadFactory.h
Go to the documentation of this file.
1#ifndef POSIX_OS_WRAPPER_POSIX_THREAD_FACTORY_H_INCLUDED
2#define POSIX_OS_WRAPPER_POSIX_THREAD_FACTORY_H_INCLUDED
3
5#include <unistd.h>
6
7namespace PosixOSWrapper {
8
10#ifdef _POSIX_PRIORITY_SCHEDULING
11private:
13 private:
14 int m_defaultPolicy;;
15 int m_defaultPriority;
16 const std::unordered_map<int, int>& m_prioMap;
17 public:
18 PosixThread(OSWrapper::Runnable* r, int priority, std::size_t stackSize, const char* name, int defaultPolicy, int defaultPriority, const std::unordered_map<int, int>& prioMap);
19 virtual ~PosixThread() {}
20
21 virtual void setName(const char* name);
22 virtual void setPriority(int priority);
23 };
24public:
25 explicit PosixThreadFactory(int lowestPriority = 1, int highestPriority = 9);
26 virtual ~PosixThreadFactory() {}
27
28 void setPriorityRange(int lowestPriority, int highestPriority);
29
30private:
31 virtual int getMaxPriority() const;
32 virtual int getMinPriority() const;
33 virtual int getHighestPriority() const;
34 virtual int getLowestPriority() const;
35
36 virtual StdCppOSWrapper::StdCppThreadFactory::StdCppThread* createStdCppThread(OSWrapper::Runnable* r, int priority, std::size_t stackSize, const char* name);
37
38 int m_defaultPolicy;;
39 int m_defaultPriority;
40
41 int m_lowestPriority;
42 int m_highestPriority;
43 std::unordered_map<int, int> m_prioMap;
44#endif
45};
46
47}
48
49#endif // POSIX_OS_WRAPPER_POSIX_THREAD_FACTORY_H_INCLUDED
Interface for implementing an active class.
Definition Runnable.h:9
Definition PosixThreadFactory.h:9
Definition StdCppThreadFactory.h:15
Definition StdCppThreadFactory.h:13
Implementation of OSWrapper for POSIX platform.
Definition PosixEventFlagFactory.h:6