76 lines
2.3 KiB
C++
76 lines
2.3 KiB
C++
|
|
#ifndef ODF_MANAGEMENT_ADAPTER_INTERFACE_HPP
|
|||
|
|
#define ODF_MANAGEMENT_ADAPTER_INTERFACE_HPP
|
|||
|
|
|
|||
|
|
#include <string>
|
|||
|
|
#include <cstdint>
|
|||
|
|
|
|||
|
|
/// @brief 光纤连接器接口类型
|
|||
|
|
enum class ConnectorType : uint8_t {
|
|||
|
|
LC = 0, ///< LC 连接器
|
|||
|
|
SC = 1, ///< SC 连接器
|
|||
|
|
MPO = 2 ///< MPO 连接器
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/// @brief 光纤模式
|
|||
|
|
enum class FiberMode : uint8_t {
|
|||
|
|
SingleMode = 0, ///< 单模
|
|||
|
|
MultiMode = 1 ///< 多模
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/// @brief 端面类型
|
|||
|
|
enum class PolishType : uint8_t {
|
|||
|
|
UPC = 0, ///< UPC (Ultra Physical Contact)
|
|||
|
|
APC = 1 ///< APC (Angled Physical Contact)
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 适配器接口信息
|
|||
|
|
*
|
|||
|
|
* 描述 ODF 单元上安装的光纤适配器的技术参数,
|
|||
|
|
* 包括接口类型、光纤模式、端面类型、插拔寿命及安装密度。
|
|||
|
|
*/
|
|||
|
|
struct AdapterInterface {
|
|||
|
|
ConnectorType connector; ///< 连接器类型
|
|||
|
|
FiberMode fiberMode; ///< 光纤模式
|
|||
|
|
PolishType polish; ///< 端面类型
|
|||
|
|
uint32_t minInsertions; ///< 最小插拔次数(≥500)
|
|||
|
|
uint32_t portsPerUnit; ///< 每U高度端口密度(端口数/U)
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 构造适配器接口
|
|||
|
|
* @param connector 连接器类型
|
|||
|
|
* @param fiberMode 光纤模式
|
|||
|
|
* @param polish 端面类型
|
|||
|
|
* @param minInsertions 最小插拔次数
|
|||
|
|
* @param portsPerUnit 每U高度端口密度
|
|||
|
|
*/
|
|||
|
|
AdapterInterface(ConnectorType connector,
|
|||
|
|
FiberMode fiberMode,
|
|||
|
|
PolishType polish,
|
|||
|
|
uint32_t minInsertions,
|
|||
|
|
uint32_t portsPerUnit);
|
|||
|
|
|
|||
|
|
/// @brief 默认构造函数
|
|||
|
|
AdapterInterface() = default;
|
|||
|
|
|
|||
|
|
/// @brief 连接器类型字符串
|
|||
|
|
[[nodiscard]] std::string connectorString() const;
|
|||
|
|
|
|||
|
|
/// @brief 光纤模式字符串
|
|||
|
|
[[nodiscard]] std::string fiberModeString() const;
|
|||
|
|
|
|||
|
|
/// @brief 端面类型字符串
|
|||
|
|
[[nodiscard]] std::string polishString() const;
|
|||
|
|
|
|||
|
|
/// @brief 返回适配器参数摘要
|
|||
|
|
[[nodiscard]] std::string summary() const;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 检查连接器与光纤模式是否兼容
|
|||
|
|
* @return true 兼容;false 不兼容
|
|||
|
|
*/
|
|||
|
|
[[nodiscard]] bool checkCompatibility() const;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif // ODF_MANAGEMENT_ADAPTER_INTERFACE_HPP
|