Added support for channel list
[android/platform/hardware/broadcom/wlan.git] / bcmdhd / wifi_hal / sync.h
1
2 #include <pthread.h>
3
4 #ifndef __WIFI_HAL_SYNC_H__
5 #define __WIFI_HAL_SYNC_H__
6
7 class Mutex
8 {
9 private:
10     pthread_mutex_t mMutex;
11 public:
12     Mutex() {
13         pthread_mutex_init(&mMutex, NULL);
14     }
15     ~Mutex() {
16         pthread_mutex_destroy(&mMutex);
17     }
18     int tryLock() {
19         return pthread_mutex_trylock(&mMutex);
20     }
21     int lock() {
22         return pthread_mutex_lock(&mMutex);
23     }
24     void unlock() {
25         pthread_mutex_unlock(&mMutex);
26     }
27 };
28
29 class Condition
30 {
31 private:
32     pthread_cond_t mCondition;
33     pthread_mutex_t mMutex;
34
35 public:
36     Condition() {
37         pthread_mutex_init(&mMutex, NULL);
38         pthread_cond_init(&mCondition, NULL);
39     }
40     ~Condition() {
41         pthread_cond_destroy(&mCondition);
42         pthread_mutex_destroy(&mMutex);
43     }
44
45     int wait() {
46         return pthread_cond_wait(&mCondition, &mMutex);
47     }
48
49     void signal() {
50         pthread_cond_signal(&mCondition);
51     }
52 };
53
54 #endif