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

187 lines
9.1 KiB
C++

/**
* @file KglGenEnum.h
*
* Copyright (c) 2017 Keyence Corporation.
* All rights reserved.
*
*/
#pragma once
#include <KglGenParameter.h>
#include <KglGenEnumEntry.h>
namespace Keyence
{
class KglString;
//------------------------------------------------------------
/**
* \~English @brief Feature parameter class (Enum).
* \~Japanese @brief Feature(Enum)パラメータクラスです。
*/
class KGLLIB_API KglGenEnum : public KglGenParameter
{
public:
//------------------------------------------------------------
/**
* \~English @brief Default constructor.
* \~Japanese @brief デフォルトコンストラクタ。
*/
KglGenEnum() : KglGenParameter(){}
//------------------------------------------------------------
/**
* \~English @brief Destructor.
* \~Japanese @brief デストラクタ。
*/
virtual ~KglGenEnum(){}
//------------------------------------------------------------
/**
* \~English @brief Sets the value of a feature (Enum).
* \~Japanese @brief Feature(Enum)の値を設定します。
* \~English @param [in] val Feature value.
* \~Japanese @param [in] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult setValue(int64_t val) = 0;
//------------------------------------------------------------
/**
* \~English @brief Sets the value of a feature (Enum).
* \~Japanese @brief Feature(Enum)の値を設定します。
* \~English @param [in] val Feature value.
* \~Japanese @param [in] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult setValue(const KglString& val) = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the value of a feature (Enum).
* \~Japanese @brief Feature(Enum)の値を取得します。
* \~English @param [out] val Feature value.
* \~Japanese @param [out] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getValue(KglString& val) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the value of a feature (Enum).
* \~Japanese @brief Feature(Enum)の値を取得します。
* \~English @param [out] val Feature value.
* \~Japanese @param [out] val Feature値。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_ERR_INVALID_FEATURE_ACCESS The requested operation resulted in an error regarding the Available attribute, access type, or range check of the feature.
* \~Japanese @retval KGL_ERR_INVALID_FEATURE_ACCESS 要求された操作はFeatureのAvailable属性、アクセスタイプ、範囲チェックのいずれかでエラーが発生しました。
* \~English @retval KGL_GENERIC_ERROR An unexpected error 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 number of features (EnumEntries).
* \~Japanese @brief Feature(EnumEntries)の数を取得します。
* \~English @param [out] entryCount Number of EnumEntries.
* \~Japanese @param [out] entryCount EnumEntriesの数。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getEntriesCount(int64_t& entryCount) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the feature (EnumEntries).
* \~Japanese @brief Feature(EnumEntries)を取得します。
* \~English @param [in] entryname name of EnumEntries.
* \~Japanese @param [in] entryname EnumEntriesの名称。
* \~English @param [out] entry EnumEntries.
* \~Japanese @param [out] entry EnumEntries。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_NOT_FOUND The specified EnumEntries cannot be found.
* \~Japanese @retval KGL_NOT_FOUND 指定されたEnumEntriesが見つかりません。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getEntryByName(const KglString& entryname, const KglGenEnumEntry** entry) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the feature (EnumEntries).
* \~Japanese @brief Feature(EnumEntries)を取得します。
* \~English @param [in] idx Index (0 <= idx < KglGenEnum::getEntriesCount() )
* \~Japanese @param [in] idx インデックス(0 <= idx < KglGenEnum::getEntriesCount() )
* \~English @param [out] entry EnumEntries.
* \~Japanese @param [out] entry EnumEntries。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getEntryByIndex(int64_t idx, const KglGenEnumEntry** entry) const = 0;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the feature (EnumEntries).
* \~Japanese @brief Feature(EnumEntries)を取得します。
* \~English @param [in] val value.
* \~Japanese @param [in] val EnumEntriesの値。
* \~English @param [out] entry EnumEntries.
* \~Japanese @param [out] entry EnumEntries。
* \~English @retval KGL_ERR_NOT_INITIALIZED An invalid KglGenParameter.
* \~Japanese @retval KGL_ERR_NOT_INITIALIZED 無効なKglGenParameterです。
* \~English @retval KGL_NOT_FOUND The specified EnumEntries cannot be found.
* \~Japanese @retval KGL_NOT_FOUND 指定されたEnumEntriesが見つかりません。
* \~English @retval KGL_GENERIC_ERROR An unexpected error has occurred.
* \~Japanese @retval KGL_GENERIC_ERROR 予期しないエラーが発生しました。
* \~English @retval KGL_SUCCESS Success.
* \~Japanese @retval KGL_SUCCESS 成功。
*/
virtual KglResult getEntryByValue(int64_t val, const KglGenEnumEntry** entry) const = 0;
private:
KglGenEnum( const KglGenEnum&);
const KglGenEnum &operator=( const KglGenEnum&);
};
}; //end of namespace Keyence