Skip to content

pylon/WaitObjects.h#

Declaration of WaitObjects class.

Namespaces#

Name
Pylon
Contains definitions of pylon types.
Pylon::PylonPrivate

Classes#

Name
class Pylon::WaitObjects
A set of wait objects.

Source code#

//-----------------------------------------------------------------------------
//  Basler pylon SDK
//  Copyright (c) 2006-2022 Basler AG
//  http://www.baslerweb.com
//  Author:  Urs Helmig
//-----------------------------------------------------------------------------
#ifndef __WAITOBJECTS_H__
#define __WAITOBJECTS_H__

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <pylon/Platform.h>

#ifdef _MSC_VER
#   pragma pack(push, PYLON_PACKING)
#endif /* _MSC_VER */

#include <pylon/WaitObject.h>

namespace Pylon
{
    class WaitObject;
    enum EWaitExResult;
    namespace PylonPrivate
    {
        struct WaitObjectsImpl;
    }

    // -------------------------------------------------------------------------
    // class WaitObjects
    // ----------------------------------------------------------------------
    // ----------------------------------------------------------------------
    class PYLONBASE_API WaitObjects
    {
    public:
        WaitObjects();
        ~WaitObjects();
        WaitObjects( const WaitObjects& );
        WaitObjects& operator=( const WaitObjects& );

    public:

        unsigned Add( const WaitObject& o );


        void RemoveAll( void );


        bool WaitForAll( unsigned timeout ) const;


        bool WaitForAny( unsigned timeout, unsigned* pIndex = NULL ) const;


        EWaitExResult WaitForAllEx( unsigned timeout, bool bAlertable ) const;



        EWaitExResult WaitForAnyEx( unsigned timeout, bool bAlertable, unsigned* pIndex = NULL ) const;

    private:
        PylonPrivate::WaitObjectsImpl* m_pImpl;
    };
}

#ifdef _MSC_VER
#   pragma pack(pop)
#endif /* _MSC_VER */

#endif //__WAITOBJECTS_H__

Updated on 5 July 2022 at 15:30:01