#ifndef LOCKS_H_
#define LOCKS_H_

#if (defined(TN_PLATFORM_WINPHONE) || defined(TN_PLATFORM_WINRT))
#include <mutex>
#include <foundation/SharedMutex.h>
namespace Tn 
{
    namespace Foundation 
    {
        using std::lock_guard;
        using std::unique_lock;
		using std::adopt_lock_t;
		using std::defer_lock_t;
		using std::try_to_lock_t;
		using std::adopt_lock;
		using std::defer_lock;
		using std::try_to_lock;
	}
}

#else
#include <boost/thread/locks.hpp>
namespace Tn 
{
    namespace Foundation 
    {
        using boost::lock_guard;
        using boost::unique_lock;
        using boost::shared_lock;
        using boost::upgrade_lock;
        using boost::upgrade_to_unique_lock;
        using boost::defer_lock_t;
        using boost::try_to_lock_t;
        using boost::adopt_lock_t;
        using boost::defer_lock;
        using boost::try_to_lock;
        using boost::adopt_lock;
        namespace Detail
        {
            using namespace boost::detail;
        }
    }
}
#endif
#endif    //!__LOCKS_H__
