123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- //-----------------------------------------------------------------------------
- // Basler pylon SDK
- // Copyright (c) 2009-2021 Basler AG
- // http://www.baslerweb.com
- // Author: Italo Anzioso
- //-----------------------------------------------------------------------------
- /*!
- \file FeaturePersistence.h
- \brief Pylon::CFeaturePersistence class with static helper functions for loading
- and saving camera features.
- \date 2007-09-11
- */
- #ifndef __PYLON_FeaturePersistence_H_090218_090218_IS_INCLUDED__
- #define __PYLON_FeaturePersistence_H_090218_090218_IS_INCLUDED__
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #include <pylon/Platform.h>
- #ifdef _MSC_VER
- # pragma pack(push, PYLON_PACKING)
- #endif /* _MSC_VER */
- #include <GenICamFwd.h>
- #include <pylon/stdinclude.h> // Pylon::String_t
- #include <pylon/PylonUtility.h> // defines PYLONUTILITY_API
- namespace Pylon
- {
- /*! \brief Utility class for saving and restoring camera features to and from a file or string.
- \note When saving features, the behavior of cameras supporting sequencers depends on the
- current setting of the "SequenceEnable" (some GigE models) or
- "SequencerConfigurationMode" (USB only) features respectively.
- Only if the sequencer is in configuration mode, are the sequence sets exported.
- Otherwise, the camera features are exported without sequence sets.
- */
- class PYLONUTILITY_API CFeaturePersistence
- {
- public:
- /*! \brief Loads the features from the file to the node map.
- \param[in] FileName Name of the file that contains the node map values.
- \param[in] pNodeMap Pointer to the node map
- \param[in] validate If validate==true, all node values will be validated.
- In case of an error, a GenICam::RuntimeException will be thrown
- \error Throws an exception if loading fails.
- */
- static void Load( const String_t& FileName,
- GenApi::INodeMap* pNodeMap,
- bool validate = true
- );
- /*! \brief Saves the node map to the file.
- Sequence sets of a camera are automatically saved if SequenceEnable or
- SequencerConfigurationMode is enabled.
- \param[in] FileName Name of the file that contains the node map values
- \param[in] pNodeMap Pointer to the node map
- \error Throws an exception if saving fails.
- */
- static void Save( const String_t& FileName,
- GenApi::INodeMap* pNodeMap
- );
- /*!
- \brief Loads the features from the string to the node map.
- \param[in] Features String containing the node map values.
- \param[in] pNodeMap Pointer to the node map.
- \param[in] validate If validate==true, all node values will be validated.
- In case of an error, a GenICam::RuntimeException will be thrown.
- \error Throws an exception if loading fails.
- */
- static void LoadFromString( const String_t& Features,
- GenApi::INodeMap* pNodeMap,
- bool validate = true
- );
- /*! \brief Saves the node map to the string.
- Sequence sets of a camera are automatically saved, if SequenceEnable or
- SequencerConfigurationMode is enabled.
- \param[out] Features String containing the node map values
- \param[in] pNodeMap Pointer to the node map
- \error Throws an exception if saving fails.
- */
- static void SaveToString( String_t& Features,
- GenApi::INodeMap* pNodeMap
- );
- private:
- CFeaturePersistence( void );
- ~CFeaturePersistence( void );
- };
- } // Pylon Namespace
- #ifdef _MSC_VER
- # pragma pack(pop)
- #endif /* _MSC_VER */
- #endif //__PYLON_FeaturePersistence_H_090218_090218_IS_INCLUDED__
|