Skip to content

pylon/Interface.h#

Definiton of Interface interface.

Namespaces#

Name
Pylon
Contains definitions of pylon types.

Classes#

Name
interface Pylon::IInterface
An interface is used to represent a frame grabber board, a network card, etc.

Source code#

//-----------------------------------------------------------------------------
//  Basler pylon SDK
//  Copyright (c) 2019-2022 Basler AG
//  http://www.baslerweb.com
//  Author:  DV
//-----------------------------------------------------------------------------
#ifndef PYLON_INTERFACE_H__
#define PYLON_INTERFACE_H__

#pragma once

#include <pylon/Platform.h>

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

#include <GenICamFwd.h>
#include <pylon/stdinclude.h>
#include <pylon/DeviceFactory.h>
#include <pylon/InterfaceInfo.h>


namespace Pylon
{
    interface PUBLIC_INTERFACE IInterface : public IDeviceFactory
    {
        virtual void Open() = 0;


        virtual void Close() = 0;


        virtual bool IsOpen() const = 0;


        virtual const CInterfaceInfo& GetInterfaceInfo() const = 0;


        virtual GenApi::INodeMap* GetNodeMap() = 0;

    protected:
        virtual ~IInterface() = 0;
    };

    // Note: the C++ standard >= 11 prohibit pure virtual destructors with a function body
    // in the declaration. Consequently gcc 4.0 and newer reject an inline implementation
    // in the class.
    inline IInterface::~IInterface()
    {
    }
}

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

#endif /* PYLON_INTERFACE_H__ */

Updated on 5 July 2022 at 15:30:01