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

242 lines
6.8 KiB
C++

/**
* @file KglDeviceInfo.h
*
* Copyright (c) 2019 Keyence Corporation.
* All rights reserved.
*
*/
#pragma once
#include <KglDefine.h>
#include <KglResult.h>
#include <KglString.h>
namespace Keyence
{
//------------------------------------------------------------
/**
* \~English @brief Represents camera information.
* \~Japanese @brief カメラの情報を表します。
*/
class KGLLIB_API KglDeviceInfo
{
public:
//------------------------------------------------------------
/**
* \~English @brief Default constructor.
* \~Japanese @brief デフォルトコンストラクタ。
*/
KglDeviceInfo();
//------------------------------------------------------------
/**
* \~English @brief Copy constructor.
* \~Japanese @brief コピーコンストラクタ。
* \~English @param [in] rhs Represents camera information that initializes this class.
* \~Japanese @param [in] rhs このクラスを初期化するカメラ情報を表します。
*/
KglDeviceInfo(
const KglDeviceInfo& rhs);
//------------------------------------------------------------
/**
* \~English @brief Destructor.
* \~Japanese @brief デストラクタ。
*/
virtual ~KglDeviceInfo();
//------------------------------------------------------------
/**
* \~English @brief Retrieves the interface ID.
* \~Japanese @brief インターフェースIDを取得します。
* \~English @return Interface ID.
* \~Japanese @return インターフェースID。
*/
KglString getInterfaceID() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the manufacturer information.
* \~Japanese @brief 製造者情報を取得します。
* \~English @return Manufacturer information.
* \~Japanese @return 製造者情報。
*/
KglString getManufacturerInfo() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the camera name.
* \~Japanese @brief カメラ名称を取得します。
* \~English @return Camera name.
* \~Japanese @return カメラ名称。
*/
KglString getModelName() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the serial number.
* \~Japanese @brief シリアルナンバーを取得します。
* \~English @return Serial number.
* \~Japanese @return シリアルナンバー。
*/
KglString getSerialNumber() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the user-defined name.
* \~Japanese @brief ユーザー定義名称を取得します。
* \~English @return User-defined name.
* \~Japanese @return ユーザー定義名称。
*/
KglString getUserDefinedName() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the vendor name.
* \~Japanese @brief ベンダー名称を取得します。
* \~English @return Vendor name.
* \~Japanese @return ベンダー名称。
*/
KglString getVendorName() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the camera firmware version.
* \~Japanese @brief カメラファームウェアバージョンを取得します。
* \~English @return Camera firmware version.
* \~Japanese @return カメラファームウェアバージョン。
*/
KglString getVersion() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the IP address.
* \~Japanese @brief IPアドレスを取得します。
* \~English @return IP address.
* \~Japanese @return IPアドレス。
*/
KglString getIPAddress() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the MAC address.
* \~Japanese @brief MACアドレスを取得します。
* \~English @return MAC address.
* \~Japanese @return MACアドレス。
*/
KglString getMACAddress() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the camera ID.
* \~Japanese @brief カメラIDを取得します。
* \~English @return Camera ID.
* \~Japanese @return カメラID。
*/
KglString getDeviceID() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the subnet mask.
* \~Japanese @brief サブネットマスクを取得します。
* \~English @return Subnet mask.
* \~Japanese @return サブネットマスク。
*/
KglString getSubnetMask() const;
//------------------------------------------------------------
/**
* \~English @brief Retrieves the default gateway.
* \~Japanese @brief デフォルトゲートウェイを取得します。
* \~English @return Default gateway.
* \~Japanese @return デフォルトゲートウェイ。
*/
KglString getDefaultGateway() const;
//-------------------------------------------------------------------------
/**
* \~English @brief Retrieves the GigE Vision version.
* \~Japanese @brief GigEVisionバージョンを取得します。
* \~English @return GigE Vision standard version.
* The first 16 bits stores the major version, and the last 16 bits stores the minor version.
* \~Japanese @return GigEVision規格バージョン。
* 上位16bitにメジャーバージョン、下位16bitにマイナーバージョンを格納します。
*/
uint32_t getGigEVisionVersion() const;
//------------------------------------------------------------
/**
* \~English @brief Assignment operator.
* \~Japanese @brief 代入演算子。
* \~English @param [in] rhs A new KglDeviceInfo.
* \~Japanese @param [in] rhs 新しいKglDeviceInfo。
*/
KglDeviceInfo&
operator=(
const KglDeviceInfo& rhs);
protected:
friend class KglDeviceInfoImpl;
//-------------------------------------------------------------------------
/**
* @brief コンストラクタ
*/
KglDeviceInfo(
const KglString& interfaceId,
const KglString& connectionID,
const KglString& displayID,
const KglString& manufactureInfo,
const KglString& modelName,
const KglString& serialNumber,
const KglString& userDefinedName,
const KglString& venderName,
const KglString& version,
const uint32_t gigEVisionVersion,
const KglString& ipAddress,
const KglString& macAddress,
const KglString& deviceId,
const KglString& subnetMask,
const KglString& defaultGateway);
protected:
KglString _ifId;
KglString _connectionID;
KglString _displayID;
KglString _manufactureInfo;
KglString _modelName;
KglString _serialNumber;
KglString _userDefinedName;
KglString _vendorName;
KglString _version;
uint32_t _gigEVisionVersion;
//===
KglString _iPAddress;
KglString _MACAddress;
KglString _id;
KglString _subnetMask;
KglString _defaultGateway;
};
}; //end of namespace Keyence