Skip to content

File Types.h

File List > include > SpinGenApi > Types.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 SPINNAKER_GENAPI_TYPES_H
#define SPINNAKER_GENAPI_TYPES_H

#ifdef _WIN32
#include <objbase.h> // interface
#else
#define interface struct
#endif

#include "GCTypes.h"
#include "GCStringVector.h"
#include "Autovector.h"

namespace Spinnaker
{
    namespace GenApi
    {
        typedef enum _ESign
        {
            Signed,        
            Unsigned,      
            _UndefinedSign 
        } ESign;

        typedef enum _EAccessMode
        {
            NI,                   
            NA,                   
            WO,                   
            RO,                   
            RW,                   
            _UndefinedAccesMode,  
            _CycleDetectAccesMode 
        } EAccessMode;

        typedef enum _EVisibility
        {
            Beginner = 0,             
            Expert = 1,               
            Guru = 2,                 
            Invisible = 3,            
            _UndefinedVisibility = 99 
        } EVisibility;

        typedef enum _ECachingMode
        {
            NoCache,              
            WriteThrough,         
            WriteAround,          
            _UndefinedCachingMode 
        } ECachingMode;

        typedef enum _ERepresentation
        {
            Linear,      
            Logarithmic, 
            Boolean,     
            PureNumber,  
            HexNumber,   
            IPV4Address, 
            MACAddress,  
            _UndefinedRepresentation
        } ERepresentation;

        // this define is required to deal with a spelling error corrected in v1.2
#ifndef NO_UNDEFINEDED_REPRESENTATION
#define _UndefindedRepresentation _UndefinedRepresentation
#endif

        typedef enum _EEndianess
        {
            BigEndian,       
            LittleEndian,    
            _UndefinedEndian 
        } EEndianess;

        typedef enum _ENameSpace
        {
            Custom,             
            Standard,           
            _UndefinedNameSpace 
        } ENameSpace;

        typedef enum _EStandardNameSpace
        {
            None,                       
            GEV,                        
            IIDC,                       
            CL,                         
            USB,                        
            _UndefinedStandardNameSpace 
        } EStandardNameSpace;

        typedef enum _EYesNo
        {
            Yes = 1,            
            No = 0,             
            _UndefinedYesNo = 2 
        } EYesNo;

        typedef GenICam::gcstring_vector StringList_t;

        typedef enum _ESlope
        {
            Increasing,      
            Decreasing,      
            Varying,         
            Automatic,       
            _UndefinedESlope 
        } ESlope;

        typedef enum _EXMLValidation
        {
            xvLoad = 0x00000001L,    
            xvCycles = 0x00000002L,  
            xvSFNC = 0x00000004L,    
            xvDefault = 0x00000000L, 
            xvAll = 0xffffffffL,     
            _UndefinedEXMLValidation = 0x8000000L 
        } EXMLValidation;

        typedef enum _EDisplayNotation
        {
            fnAutomatic,               
            fnFixed,                   
            fnScientific,              
            _UndefinedEDisplayNotation 
        } EDisplayNotation;

        typedef enum _EInterfaceType
        {
            intfIValue,       
            intfIBase,        
            intfIInteger,     
            intfIBoolean,     
            intfICommand,     
            intfIFloat,       
            intfIString,      
            intfIRegister,    
            intfICategory,    
            intfIEnumeration, 
            intfIEnumEntry,   
            intfIPort         
        } EInterfaceType;

        typedef enum _ELinkType
        {
            ctParentNodes,          
            ctReadingChildren,      
            ctWritingChildren,      
            ctInvalidatingChildren, 
            ctDependingNodes, 
            ctTerminalNodes   
        } ELinkType;

        typedef enum _EIncMode
        {
            noIncrement,    
            fixedIncrement, 
            listIncrement,  
        } EIncMode;

        typedef enum _EInputDirection
        {
            idFrom, 
            idTo,   
            idNone  
        } EInputDirection;

        typedef enum _EGenApiSchemaVersion
        {
            v1_0 = 1,
            v1_1 = 2,
            _Undefined = -1
        } EGenApiSchemaVersion;

    } // namespace GenApi
} // namespace Spinnaker

#endif // ifndef SPINNAKER_GENAPI_TYPES_H