Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
include
VimbaCPP
Source
Condition.h
Go to the documentation of this file.
1
/*=============================================================================
2
Copyright (C) 2012 Allied Vision Technologies. All Rights Reserved.
3
4
Redistribution of this file, in original or modified form, without
5
prior written consent of Allied Vision Technologies is prohibited.
6
7
-------------------------------------------------------------------------------
8
9
File: Condition.h
10
11
Description: Definition of a condition class.
12
(This include file is for internal use only.)
13
14
-------------------------------------------------------------------------------
15
16
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
17
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
18
NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
20
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
24
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27
=============================================================================*/
28
29
#ifndef AVT_VMBAPI_CONDITION_H
30
#define AVT_VMBAPI_CONDITION_H
31
32
#include <
VimbaCPP/Include/Mutex.h
>
33
#include <
VimbaCPP/Source/Semaphore.h
>
34
#include <
VimbaCPP/Include/BasicLockable.h
>
35
#include <
VimbaCPP/Include/SharedPointerDefines.h
>
36
37
namespace
AVT
{
38
namespace
VmbAPI {
39
40
class
Condition
41
{
42
private
:
43
unsigned
long
m_nReleaseNumber
;
44
unsigned
long
m_nWaiterNumber
;
45
bool
m_bLocked
;
46
SP_DECL
(
Semaphore
) m_Semaphore;
// A binary semaphore (non recursive mutex)
47
48
public:
49
Condition
();
50
51
void
Wait
( const
BasicLockable
&rLockable );
52
void
Wait
( const MutexPtr &rMutex );
53
54
void
Signal
(
bool
bSingle = false );
55
};
56
57
}}
// namespace AVT::VmbAPI
58
59
#endif //CONDITION_H
AVT::VmbAPI::BasicLockable
Definition:
BasicLockable.h:39
AVT::VmbAPI::Condition::Signal
void Signal(bool bSingle=false)
Definition:
Condition.cpp:84
AVT::VmbAPI::Condition::SP_DECL
SP_DECL(Semaphore) m_Semaphore
AVT::VmbAPI::Condition
Definition:
Condition.h:40
BasicLockable.h
Mutex.h
SharedPointerDefines.h
AVT
Definition:
AncillaryData.h:35
AVT::VmbAPI::Condition::Wait
void Wait(const BasicLockable &rLockable)
Definition:
Condition.cpp:42
AVT::VmbAPI::Condition::m_bLocked
bool m_bLocked
Definition:
Condition.h:45
AVT::VmbAPI::Condition::m_nWaiterNumber
unsigned long m_nWaiterNumber
Definition:
Condition.h:44
AVT::VmbAPI::Condition::m_nReleaseNumber
unsigned long m_nReleaseNumber
Definition:
Condition.h:43
AVT::VmbAPI::Semaphore
Definition:
Semaphore.h:43
Semaphore.h
avt_vimba_camera
Author(s): Miquel Massot
, Allied Vision Technologies
autogenerated on Mon Jun 10 2019 12:50:38