File ManagedSystem.h¶
File List > SpinnakerNET > ManagedSystem.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_MANAGED_SYSTEM_H
#define FLIR_SPINNAKER_MANAGED_SYSTEM_H
#include "SystemPtr.h"
#include "IManagedSystem.h"
#include "ManagedLogger.h"
#include "ManagedLoggingEventHandler.h"
using namespace ::System;
using namespace ::System::Collections::Generic;
namespace SpinnakerNET
{
#if defined(_WIN32) || defined(_WIN64)
#if _MSC_VER == 1800
[Obsolete("Spinnaker support for Visual Studio 2013 is deprecated, please upgrade to Visual Studio 2015 instead", false)]
#elif _MSC_VER == 1600
[Obsolete("Spinnaker support for Visual Studio 2010 is deprecated, please upgrade to Visual Studio 2015 instead", false)]
#endif
#endif
public ref class ManagedSystem : IManagedSystem
{
public:
ManagedSystem();
~ManagedSystem();
virtual ManagedInterfaceList^ GetInterfaces();
virtual ManagedInterfaceList^ GetInterfaces(bool updateInterface);
virtual ManagedCameraList^ GetCameras();
virtual ManagedCameraList^ GetCameras(bool updateInterfaces, bool updateCameras);
/*
* Get the native system pointer.
*
* @return The native system pointer.
*/
virtual Spinnaker::SystemPtr* GetNativeSystemPtr();
/*
* Get a nodemap. This nodemap is generated from a GenICam
* XML file for the GenTL system Module.
*
* @return A handle to a NodeMap object.
*/
virtual SpinnakerNET::GenApi::INodeMap^ GetTLNodeMap();
virtual const LibraryVersion^ GetLibraryVersion();
virtual bool UpdateCameras();
virtual bool UpdateCameras(bool updateInterfaces);
virtual void UpdateInterfaceList();
virtual bool UpdateProducers();
virtual bool UpdateProducers(::System::String ^ ctiPath);
virtual void RegisterLoggingEventHandler(SpinnakerNET::ManagedLoggingEventHandler^ loggingCallback);
virtual void UnregisterLoggingEventHandler(SpinnakerNET::ManagedLoggingEventHandler^ loggingCallback);
virtual void UnregisterLoggingEventHandler();
/*
* Registers an event handler to the system.
*
* @see ManagedSystemEventHandler
*
* @param event The event to register to the system
*/
virtual void RegisterEventHandler(ManagedEventHandler^ event);
/*
* Unregisters an event handler from the system.
*
* @see ManagedSystemEventHandler
*
* @param event The event to unregister from the system
*/
virtual void UnregisterEventHandler(ManagedEventHandler^ event);
virtual bool IsInUse(void);
virtual List<ActionCommandResult^>^ SendActionCommand(unsigned int deviceKey, unsigned int groupKey, unsigned int groupMask, [Optional] Nullable<unsigned long long> actionTime, bool requestAck);
virtual void DisposeInterfaces(ManagedInterfaceList^ interfaceList);
virtual SpinnakerNET::ManagedLoggingLevel GetLoggingEventPriorityLevel();
virtual void SetLoggingEventPriorityLevel(SpinnakerNET::ManagedLoggingLevel level);
protected:
!ManagedSystem();
private:
Spinnaker::SystemPtr* m_pNativeSystemPtr;
List<SpinnakerNET::ManagedLoggingEventHandler^ >^ m_callbackList;
Object^ m_interfaceListLock;
Object^ m_cameraListLock;
SpinnakerNET::GenApi::NodeMap^ m_pSysNodeMap;
ManagedTransportLayerSystem^ m_genTLSystemInfo;
public:
virtual property SpinnakerNET::ManagedTransportLayerSystem^ TLSystem
{
SpinnakerNET::ManagedTransportLayerSystem^ get()
{
return m_genTLSystemInfo;
}
}
};
}
#endif // FLIR_SPINNAKER_MANAGED_SYSTEM_H