Files
handleaiuinew/env/keyence2_5D/include/KglGenEnumEntry.h
T
2024-05-18 23:53:26 +08:00

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