Skip to content

File xiAPIWrapper.h

File List > src > xiAPIWrapper.h

Go to the documentation of this file

/*******************************************************
 * Author: Intelligent Medical Systems
 * License: see LICENSE.md file
 *******************************************************/

#ifndef XILENS_XIAPIWRAPPER_H
#define XILENS_XIAPIWRAPPER_H

#include <xiApi.h>

class XiAPIWrapper
{
  public:
    virtual ~XiAPIWrapper() = default;

    virtual int xiGetParamString(IN HANDLE hDevice, const char *prm, void *val, DWORD size)
    {
        return ::xiGetParamString(hDevice, prm, val, size);
    }

    virtual int xiGetParamInt(IN HANDLE hDevice, const char *prm, int *val)
    {
        return ::xiGetParamInt(hDevice, prm, val);
    }

    virtual int xiGetParamFloat(IN HANDLE hDevice, const char *prm, float *val)
    {
        return ::xiGetParamFloat(hDevice, prm, val);
    }

    virtual int xiSetParamInt(IN HANDLE hDevice, const char *prm, const int val)
    {
        return ::xiSetParamInt(hDevice, prm, val);
    }

    virtual int xiSetParamFloat(IN HANDLE hDevice, const char *prm, const float val)
    {
        return ::xiSetParamFloat(hDevice, prm, val);
    }

    virtual int xiOpenDevice(IN DWORD DevId, OUT PHANDLE hDevice)
    {
        return ::xiOpenDevice(DevId, hDevice);
    }

    virtual int xiCloseDevice(IN HANDLE hDevice)
    {
        return ::xiCloseDevice(hDevice);
    }

    virtual int xiGetNumberDevices(OUT PDWORD pNumberDevices)
    {
        return ::xiGetNumberDevices(pNumberDevices);
    }

    virtual int xiStartAcquisition(IN HANDLE hDevice)
    {
        return ::xiStartAcquisition(hDevice);
    }

    virtual int xiStopAcquisition(IN HANDLE hDevice)
    {
        return ::xiStopAcquisition(hDevice);
    }

    virtual int xiGetImage(IN HANDLE hDevice, IN DWORD timeout, OUT LPXI_IMG img)
    {
        return ::xiGetImage(hDevice, timeout, img);
    }
};

#endif // XILENS_XIAPIWRAPPER_H