178 lines
7.4 KiB
C++
178 lines
7.4 KiB
C++
/**
|
|
* @file KglGenEnumEntry.h
|
|
*
|
|
* Copyright (c) 2019 Keyence Corporation.
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#include <KglDefine.h>
|
|
#include <KglResult.h>
|
|
|
|
#include <cstdint>
|
|
|
|
namespace Keyence
|
|
{
|
|
|
|
class KglString;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Represents an enumeration entry of the GenICam feature.
|
|
* \~Japanese @brief GenICam featureのEnumeration entryを表します。
|
|
*/
|
|
class KGLLIB_API KglGenEnumEntry
|
|
{
|
|
public:
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Default constructor.
|
|
* \~Japanese @brief デフォルトコンストラクタ。
|
|
*/
|
|
KglGenEnumEntry(){}
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Destructor.
|
|
* \~Japanese @brief デストラクタ。
|
|
*/
|
|
virtual ~KglGenEnumEntry(){}
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the value of EnumEntry.
|
|
* \~Japanese @brief EnumEntryの値を取得します。
|
|
* \~English @param [out] val Value of EnumEntry.
|
|
* \~Japanese @param [out] val EnumEntryの値。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getValue(int64_t& val) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the name of EnumEntry.
|
|
* \~Japanese @brief EnumEntryの名称を取得します。
|
|
* \~English @param [out] name Name of EnumEntry.
|
|
* \~Japanese @param [out] name EnumEntryの名称。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getName(KglString& name) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the tooltip for EnumEntry.
|
|
* \~Japanese @brief EnumEntryのツールチップを取得します。
|
|
* \~English @param [out] tooltip Tooltip for EnumEntry.
|
|
* \~Japanese @param [out] tooltip EnumEntryのツールチップ。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getToolTip(KglString& tooltip) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the description of EnumEntry.
|
|
* \~Japanese @brief EnumEntryの説明を取得します。
|
|
* \~English @param [out] description Description of EnumEntry.
|
|
* \~Japanese @param [out] description EnumEntryの説明。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getDescription(KglString& description) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the display name of EnumEntry.
|
|
* \~Japanese @brief EnumEntryの表示用名称を取得します。
|
|
* \~English @param [out] displayName Display name of EnumEntry.
|
|
* \~Japanese @param [out] displayName EnumEntryの表示用名称。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getDisplayName(KglString& displayName) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the namespace of EnumEntry.
|
|
* \~Japanese @brief EnumEntryのネームスペースを取得します。
|
|
* \~English @param [out] nameSpace Namespace of EnumEntry.
|
|
* \~Japanese @param [out] nameSpace EnumEntryのネームスペース。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getNameSpace(KglNameSpace& nameSpace) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves whether EnumEntry is available.
|
|
* \~Japanese @brief EnumEntryが利用できるか否かを取得します。
|
|
* \~English @retval true Available.
|
|
* \~Japanese @retval true 利用可能。
|
|
* \~English @retval false Not available.
|
|
* \~Japanese @retval false 利用不可。
|
|
*/
|
|
virtual bool isAvailable() const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves the visibility level of EnumEntry.
|
|
* \~Japanese @brief EnumEntryの可視レベルを取得します。
|
|
* \~English @param [out] visibility Visibility level of EnumEntry.
|
|
* \~Japanese @param [out] visibility EnumEntryの可視レベル。
|
|
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenEnumEntry.
|
|
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenEnumEntryです。
|
|
* \~English @retval KGL_GENERIC_ERROR An unexpected exception has occurred.
|
|
* \~Japanese @retval KGL_GENERIC_ERROR 予期しない例外が発生しました。
|
|
* \~English @retval KGL_SUCCESS Success.
|
|
* \~Japanese @retval KGL_SUCCESS 成功。
|
|
*/
|
|
virtual KglResult getVisibility(KglVisibility& visibility) const = 0;
|
|
|
|
//------------------------------------------------------------
|
|
/**
|
|
* \~English @brief Retrieves whether the specified visibility level is allowed.
|
|
* \~Japanese @brief 指定した可視レベルで見ることができるか否かを取得します。
|
|
* \~English @param [in] visibility Visibility level.
|
|
* \~Japanese @param [in] visibility 可視レベル。
|
|
* \~English @retval true Allowed.
|
|
* \~Japanese @retval true 見ることができます。
|
|
* \~English @retval false Not allowed.
|
|
* \~Japanese @retval false 見ることができません。
|
|
*/
|
|
virtual bool isVisible(const KglVisibility visibility) const = 0;
|
|
|
|
private:
|
|
|
|
KglGenEnumEntry(const KglGenEnumEntry&);
|
|
const KglGenEnumEntry &operator=(const KglGenEnumEntry&);
|
|
};
|
|
|
|
}; //end of namespace Keyence
|