summaryrefslogtreecommitdiff
path: root/XMPCommon/Utilities/AutoSharedLock.h
blob: ba505e9eb1b75165810efc28c3ac01fb9170acbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef __AutoSharedLock_h__
#define __AutoSharedLock_h__ 1

// =================================================================================================
// Copyright Adobe
// Copyright 2020 Adobe
// All Rights Reserved
//
// NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the terms
// of the Adobe license agreement accompanying it. 
// =================================================================================================

#include "XMPCommon/XMPCommonFwdDeclarations_I.h"

namespace XMP_COMPONENT_INT_NAMESPACE {

	class AutoSharedLock {
	public:
		AutoSharedLock( const spISharedMutex & mutex, bool exclusiveLock = false );
		~AutoSharedLock();
		void Release();

	private:
		spISharedMutex			mMutex;
		bool					mExclusiveLock;
	};

}
#endif  // __AutoSharedLock_h__