File IManagedCameraBase.h¶
File List > SpinnakerNET > IManagedCameraBase.h
Go to the documentation of this file
//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
#ifndef FLIR_SPINNAKER_IMANAGED_CAMERABASE_H
#define FLIR_SPINNAKER_IMANAGED_CAMERABASE_H
#include "CameraBase.h"
#include "ManagedImage.h"
#include "ManagedImageList.h"
#include "ManagedDeviceEventHandler.h"
#include "ManagedImageEventHandler.h"
#include "ManagedTransportLayerDevice.h"
#include "ManagedTransportLayerStream.h"
// GenICam Wrapper
#include "GenApiNet\Node.h"
#include "GenApiNet\NodeMap.h"
#include "GenApiNet\AccessMode.h"
namespace SpinnakerNET
{
public interface class IManagedCameraBase
{
SpinnakerNET::GenApi::INodeMap^ InitBase();
void DeInitBase();
SpinnakerNET::GenApi::INodeMap^ GetNodeMap();
SpinnakerNET::GenApi::INodeMap^ GetTLDeviceNodeMap();
SpinnakerNET::GenApi::INodeMap^ GetTLStreamNodeMap();
SpinnakerNET::GenApi::INodeMap ^ GetTLStreamNodeMap(const int streamIndex);
SpinnakerNET::GenApi::AccessMode GetAccessMode();
::System::String^ GetDeviceID();
::System::String^ GetDeviceSerialNumber();
[Obsolete("Use GetDeviceID() instead.")]
::System::String^ GetUniqueID();
void ReadPort(unsigned __int64 address, array<System::Byte>^ buffer, unsigned __int64 length);
void WritePort(unsigned __int64 address, array<System::Byte>^ buffer, unsigned __int64 length);
void BeginAcquisition();
void EndAcquisition();
BufferOwnership GetBufferOwnership();
void SetBufferOwnership(const BufferOwnership mode);
uint64_t GetUserBufferCount();
uint64_t GetUserBufferSize();
uint64_t GetUserBufferTotalSize();
void SetUserBuffers(IntPtr pMemBuffers, uint64_t totalSize);
void SetUserBuffers(array<IntPtr>^ ppMemBuffers, const uint64_t bufferCount, const uint64_t bufferSize);
IManagedImage^ GetNextImage();
IManagedImage^ GetNextImage(unsigned __int64 grabTimeout);
IManagedImage^ GetNextImage(unsigned __int64 grabTimeout, unsigned __int64 streamIndex);
IManagedImageList^ GetNextImageSync(unsigned __int64 grabTimeout);
bool IsStreaming();
::System::String^ GetGuiXml();
bool IsInitialized();
bool IsValid();
void RegisterEventHandler(ManagedEventHandler^ eventHandler);
#pragma warning(push)
#pragma warning(disable : 4947)
[Obsolete("Use Node::Updated() event instead.")]
void RegisterEventHandler(ManagedDeviceEventHandler^ deviceEventHandler, String^ eventName);
#pragma warning(pop)
void RegisterEventHandler(ManagedImageEventHandler^ imageEventHandler, unsigned __int64 streamIndex);
void UnregisterEventHandler(ManagedEventHandler^ eventHandler);
unsigned int DiscoverMaxPacketSize();
void ForceIP();
unsigned int GetActiveNumDataStreams();
unsigned int GetNumDataStreams();
property ManagedTransportLayerDevice^ TLDevice
{
ManagedTransportLayerDevice^ get();
}
property ManagedTransportLayerStream^ TLStream
{
ManagedTransportLayerStream^ get();
}
};
}
#endif // FLIR_SPINNAKER_IMANAGED_CAMERABASE_H