Skip to content

File EnumValue.h

File List > GenApiNet > EnumValue.h

Go to the documentation of this file

//-----------------------------------------------------------------------------
//  (c) 2007 by STEMMER IMAGING
//  Author:  Sascha Dorenbeck
//  $Header:
//
//  License: This file is published under the license of the EMVA GenICam  Standard Group.
//  A text file describing the legal terms is included in  your installation as 'GenICam_license.pdf'.
//  If for some reason you are missing  this file please contact the EMVA or visit the website
//  (http://www.genicam.org) for a full copy.
//
//  THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
//  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD  GROUP
//  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,
//  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  LIMITED TO,
//  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  DATA, OR PROFITS;
//  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  THEORY OF LIABILITY,
//  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE)
//  ARISING IN ANY WAY OUT OF THE USE  OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//  POSSIBILITY OF SUCH DAMAGE.
//-----------------------------------------------------------------------------

#pragma once

using namespace ::System;

namespace SpinnakerNET
{
    namespace GenApi
    {
        public value class EnumValue
        {
#pragma region Ctor/Dtor
            public:
                EnumValue(::System::String ^value);

                EnumValue(__int64 value);

                EnumValue(::System::String ^stringValue, __int64 intValue);

#pragma endregion

#pragma region Properties
            public:
                virtual property ::System::String ^ String
                {
                    ::System::String ^ __clrcall get(void);
                    void __clrcall set(::System::String ^value);
                }

                virtual property __int64 Int
                {
                    __int64 __clrcall get(void);
                    void __clrcall set(__int64 value);
                }
#pragma endregion

#pragma region Implicit conversions
            public:
                static operator ::System::String ^ (EnumValue value) { return value.String; }

                static operator __int64 (EnumValue value) { return value.Int; }

                static operator EnumValue (::System::String ^value) { return EnumValue(value); }

                static operator EnumValue (__int64 value) { return EnumValue(value); }
#pragma endregion

#pragma region Member
            private:
                ::System::String ^ stringValue;
                __int64 intValue;
                bool intValueSet;
#pragma endregion
        };
    }
}