242 lines
6.8 KiB
C++
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
|