blob: 5dfa7d2fb18295edf098653ef12d81705ed460c4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 - 2011 ACIN
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Alois Zoitl - initial API and implementation and/or initial documentation
*******************************************************************************/
#ifndef _FORTE_SYNC_H_
#define _FORTE_SYNC_H_
#include <pthread.h>
/*! \ingroup posix_hal
* \brief The sync object implementation for the posix thread interface.
*
* In the posix version a mutex is used for the sync object.
*
*/
class CPCSyncObject{
public:
CPCSyncObject();
~CPCSyncObject();
/*!\brief Lock the resource coming after the lock command
*
* This function blocks until it will get the lock for the coming critical section.
*/
void lock(void){
pthread_mutex_lock(&m_oMutexHandle);
//TODO handle return value
}
//!Freee the resource coming after the lock command
void unlock(void){
pthread_mutex_unlock(&m_oMutexHandle);
//TODO handle return value
}
private:
//! The posix thread mutex handle of the operating system.
pthread_mutex_t m_oMutexHandle;
};
typedef CPCSyncObject CSyncObject; //allows that doxygen can generate better documenation
#endif /*FORTE_SYNC_H_*/