#pragma once
#ifndef ASyncronizationClass_h
#define ASyncronizationClass_h
#pragma warning( disable : 4251 )
#include <string>
#include "FWCoreDLLImportExportDeclaration.h"
namespace CoreFW
{
typedef enum _EnumSyncronizationClassType
{
SYNC_CLASS_FIRMWARE_NO_SYNC_OBJECT = 0,
SYNC_CLASS_FIRMWARE_CRITICAL_SECTION = 1,
SYNC_CLASS_FIRMWARE_MUTEX = 2,
SYNC_CLASS_BOOST_MUTEX = 3,
SYNC_CLASS_BOOST_RECURSIVE_MUTEX = 4,
} EnumSyncronizationClassType ;
class CORE_DLL_DECLARATION_SPECIFIER ASyncronizationClass
{
protected:
ASyncronizationClass( const std::string &strSyncronizationObjectName ) ;
public:
virtual ~ASyncronizationClass() ;
public:
virtual bool Lock() = 0 ;
virtual bool Unlock() = 0 ;
protected:
std::string m_strSyncronizationObjectName ;
} ;
}
#endif