EnumEntry.h
Go to the documentation of this file.
00001 /*=============================================================================
00002   Copyright (C) 2012 Allied Vision Technologies.  All Rights Reserved.
00003 
00004   Redistribution of this file, in original or modified form, without
00005   prior written consent of Allied Vision Technologies is prohibited.
00006 
00007 -------------------------------------------------------------------------------
00008 
00009   File:        EnumEntry.h
00010 
00011   Description:  Definition of class AVT::VmbAPI::EnumEntry.
00012                 An EnumEntry consists of
00013                 Name
00014                 DisplayName
00015                 Value
00016                 of one particular enumeration
00017 
00018 -------------------------------------------------------------------------------
00019 
00020   THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
00021   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
00022   NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR  PURPOSE ARE
00023   DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 
00024   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
00025   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00026   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED  
00027   AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
00028   TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
00029   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00030 
00031 =============================================================================*/
00032 
00033 #ifndef AVT_VMBAPI_ENUMENTRY_H
00034 #define AVT_VMBAPI_ENUMENTRY_H
00035 
00036 #include <string>
00037 
00038 #include <VimbaC/Include/VimbaC.h>
00039 #include <VimbaCPP/Include/VimbaCPPCommon.h>
00040 #include <VimbaCPP/Include/SharedPointerDefines.h>
00041 
00042 namespace AVT {
00043 namespace VmbAPI {
00044 
00045 class EnumEntry
00046 {
00047   public:
00048     //
00049     // Method:      EnumEntry constructor
00050     //
00051     // Purpose:     Creates an instance of class EnumEntry
00052     //
00053     // Parameters:
00054     //
00055     // [in ]    const char*             pName           The name of the enum
00056     // [in ]    const char*             pDisplayName    The declarative name of the enum
00057     // [in ]    const char*             pDescription    The description of the enum
00058     // [in ]    const char*             pTooltip        A tooltip that can be used by a GUI
00059     // [in ]    const char*             pSNFCNamespace  The SFNC namespace of the enum
00060     // [in ]    VmbFeatureVisibility_t  visibility      The visibility of the enum
00061     // [in ]    VmbInt64_t              value           The integer value of the enum
00062     //
00063     EnumEntry(  const char              *pName,
00064                 const char              *pDisplayName,
00065                 const char              *pDescription,
00066                 const char              *pTooltip,
00067                 const char              *pSNFCNamespace,
00068                 VmbFeatureVisibility_t  visibility,
00069                 VmbInt64_t              value);
00070 
00071     //
00072     // Method:      EnumEntry constructor
00073     //
00074     // Purpose:     Creates an instance of class EnumEntry
00075     //
00076     IMEXPORT EnumEntry();
00077     //
00078     // Method:      EnumEntry copy constructor
00079     //
00080     // Purpose:     Creates a copy of class EnumEntry
00081     //
00082     IMEXPORT EnumEntry( const EnumEntry &other);
00083     
00084     //
00085     // Method:      EnumEntry assignment operator
00086     //
00087     // Purpose:     assigns EnumEntry to existing instance
00088     //
00089     IMEXPORT EnumEntry& operator=( const EnumEntry&o);
00090 
00091     //
00092     // Method:      EnumEntry destructor
00093     //
00094     // Purpose:     Destroys an instance of class EnumEntry
00095     //
00096     IMEXPORT virtual ~EnumEntry();
00097 
00098     //
00099     // Method:      GetName()
00100     //
00101     // Purpose:     Gets the name of an enumeration
00102     //
00103     // Parameters:
00104     //
00105     // [out]        std::string& name   The name of the enumeration
00106     //
00107     VmbErrorType GetName( std::string &name ) const;
00108 
00109     //
00110     // Method:      GetDisplayName()
00111     //
00112     // Purpose:     Gets a more declarative name of an enumeration
00113     //
00114     // Parameters:
00115     //
00116     // [out]        std::string& displayName    The display name of the enumeration
00117     //
00118     VmbErrorType GetDisplayName( std::string &displayName ) const;
00119 
00120     //
00121     // Method:      GetDescription()
00122     //
00123     // Purpose:     Gets the description of an enumeration
00124     //
00125     // Parameters:
00126     //
00127     // [out]        std::string& description    The description of the enumeration
00128     //
00129     VmbErrorType GetDescription( std::string &description ) const;
00130 
00131     //
00132     // Method:      GetTooltip()
00133     //
00134     // Purpose:     Gets a tooltip that can be used as pop up help in a GUI
00135     //
00136     // Parameters:
00137     //
00138     // [out]        std::string& tooltip    The tooltip as string
00139     //
00140     VmbErrorType GetTooltip( std::string &tooltip ) const;
00141 
00142     //
00143     // Method:      GetValue()
00144     //
00145     // Purpose:     Gets the integer value of an enumeration
00146     //
00147     // Parameters:
00148     //
00149     // [out]        VmbInt64_t& value   The integer value of the enumeration
00150     //
00151     IMEXPORT    VmbErrorType GetValue( VmbInt64_t &value ) const;
00152 
00153     //
00154     // Method:      GetVisibility()
00155     //
00156     // Purpose:     Gets the visibility of an enumeration
00157     //
00158     // Parameters:
00159     //
00160     // [out]        VmbFeatureVisibilityType&   value   The visibility of the enumeration
00161     //
00162     IMEXPORT    VmbErrorType GetVisibility( VmbFeatureVisibilityType &value ) const;
00163 
00164     //
00165     // Method:      GetSNFCNamespace()
00166     //
00167     // Purpose:     Gets the standard feature naming convention namespace of the enumeration
00168     //
00169     // Parameters:
00170     //
00171     // [out]        std::string& sFNCNamespace    The feature's SFNC namespace
00172     //
00173     VmbErrorType GetSFNCNamespace( std::string &sFNCNamespace ) const;
00174 
00175   private:
00176     struct PrivateImpl;
00177     PrivateImpl           *m_pImpl;
00178     // Array functions to pass data across DLL boundaries
00179     IMEXPORT VmbErrorType GetName( char * const pName, VmbUint32_t &size ) const;
00180     IMEXPORT VmbErrorType GetDisplayName( char * const pDisplayName, VmbUint32_t &size ) const;
00181     IMEXPORT VmbErrorType GetTooltip( char * const pStrTooltip, VmbUint32_t &size ) const;
00182     IMEXPORT VmbErrorType GetDescription( char * const pStrDescription, VmbUint32_t &size ) const;
00183     IMEXPORT VmbErrorType GetSFNCNamespace( char * const pStrNamespace, VmbUint32_t &size ) const;
00184 
00185 };
00186 
00187 #include <VimbaCPP/Include/EnumEntry.hpp>
00188 
00189 }} // namespace AVT::VmbAPI
00190 
00191 #endif


avt_vimba_camera
Author(s): Miquel Massot , Allied Vision Technologies
autogenerated on Thu Jun 6 2019 18:23:39