unilink  0.4.3
A simple C++ library for unified async communication
unilink::util::InputValidator Class Reference

Input validation utility class. More...

#include <input_validator.hpp>

Static Public Member Functions

static void validate_host (const std::string &host)
 
static void validate_port (uint16_t port)
 
static void validate_ipv4_address (const std::string &address)
 
static void validate_ipv6_address (const std::string &address)
 
static void validate_device_path (const std::string &device)
 
static void validate_baud_rate (uint32_t baud_rate)
 
static void validate_data_bits (uint8_t data_bits)
 
static void validate_stop_bits (uint8_t stop_bits)
 
static void validate_parity (const std::string &parity)
 
static void validate_buffer_size (size_t size)
 
static void validate_memory_alignment (const void *ptr, size_t alignment)
 
static void validate_timeout (unsigned timeout_ms)
 
static void validate_retry_interval (unsigned interval_ms)
 
static void validate_retry_count (int retry_count)
 
static void validate_non_empty_string (const std::string &str, const std::string &field_name)
 
static void validate_string_length (const std::string &str, size_t max_length, const std::string &field_name)
 
static void validate_positive_number (int64_t value, const std::string &field_name)
 
static void validate_range (int64_t value, int64_t min, int64_t max, const std::string &field_name)
 
static void validate_range (size_t value, size_t min, size_t max, const std::string &field_name)
 
static bool is_valid_host (const std::string &host)
 
static bool is_valid_ipv4 (std::string_view address)
 
static bool is_valid_ipv6 (const std::string &address)
 
static bool is_valid_hostname (std::string_view hostname)
 

Detailed Description

Input validation utility class.

Provides comprehensive input validation for all unilink components. Throws ValidationException for invalid inputs with detailed error messages.

Definition at line 40 of file input_validator.hpp.

Member Function Documentation

◆ is_valid_host()

bool unilink::util::InputValidator::is_valid_host ( const std::string &  host)
static

Definition at line 76 of file input_validator.cc.

◆ is_valid_hostname()

bool unilink::util::InputValidator::is_valid_hostname ( std::string_view  hostname)
static

Definition at line 137 of file input_validator.cc.

◆ is_valid_ipv4()

bool unilink::util::InputValidator::is_valid_ipv4 ( std::string_view  address)
static

Definition at line 95 of file input_validator.cc.

◆ is_valid_ipv6()

bool unilink::util::InputValidator::is_valid_ipv6 ( const std::string &  address)
static

Definition at line 124 of file input_validator.cc.

◆ validate_baud_rate()

void unilink::util::InputValidator::validate_baud_rate ( uint32_t  baud_rate)
inlinestatic

Definition at line 156 of file input_validator.hpp.

◆ validate_buffer_size()

void unilink::util::InputValidator::validate_buffer_size ( size_t  size)
inlinestatic

Definition at line 123 of file input_validator.hpp.

◆ validate_data_bits()

void unilink::util::InputValidator::validate_data_bits ( uint8_t  data_bits)
inlinestatic

Definition at line 161 of file input_validator.hpp.

◆ validate_device_path()

void unilink::util::InputValidator::validate_device_path ( const std::string &  device)
static

Definition at line 54 of file input_validator.cc.

◆ validate_host()

void unilink::util::InputValidator::validate_host ( const std::string &  host)
static

Definition at line 27 of file input_validator.cc.

◆ validate_ipv4_address()

void unilink::util::InputValidator::validate_ipv4_address ( const std::string &  address)
static

Definition at line 38 of file input_validator.cc.

◆ validate_ipv6_address()

void unilink::util::InputValidator::validate_ipv6_address ( const std::string &  address)
static

Definition at line 46 of file input_validator.cc.

◆ validate_memory_alignment()

void unilink::util::InputValidator::validate_memory_alignment ( const void *  ptr,
size_t  alignment 
)
inlinestatic

Definition at line 171 of file input_validator.hpp.

◆ validate_non_empty_string()

void unilink::util::InputValidator::validate_non_empty_string ( const std::string &  str,
const std::string &  field_name 
)
inlinestatic

Definition at line 89 of file input_validator.hpp.

◆ validate_parity()

void unilink::util::InputValidator::validate_parity ( const std::string &  parity)
static

Definition at line 63 of file input_validator.cc.

◆ validate_port()

void unilink::util::InputValidator::validate_port ( uint16_t  port)
inlinestatic

Definition at line 149 of file input_validator.hpp.

◆ validate_positive_number()

void unilink::util::InputValidator::validate_positive_number ( int64_t  value,
const std::string &  field_name 
)
inlinestatic

Definition at line 103 of file input_validator.hpp.

◆ validate_range() [1/2]

void unilink::util::InputValidator::validate_range ( int64_t  value,
int64_t  min,
int64_t  max,
const std::string &  field_name 
)
inlinestatic

Definition at line 109 of file input_validator.hpp.

◆ validate_range() [2/2]

void unilink::util::InputValidator::validate_range ( size_t  value,
size_t  min,
size_t  max,
const std::string &  field_name 
)
inlinestatic

Definition at line 116 of file input_validator.hpp.

◆ validate_retry_count()

void unilink::util::InputValidator::validate_retry_count ( int  retry_count)
inlinestatic

Definition at line 138 of file input_validator.hpp.

◆ validate_retry_interval()

void unilink::util::InputValidator::validate_retry_interval ( unsigned  interval_ms)
inlinestatic

Definition at line 133 of file input_validator.hpp.

◆ validate_stop_bits()

void unilink::util::InputValidator::validate_stop_bits ( uint8_t  stop_bits)
inlinestatic

Definition at line 166 of file input_validator.hpp.

◆ validate_string_length()

void unilink::util::InputValidator::validate_string_length ( const std::string &  str,
size_t  max_length,
const std::string &  field_name 
)
inlinestatic

Definition at line 95 of file input_validator.hpp.

◆ validate_timeout()

void unilink::util::InputValidator::validate_timeout ( unsigned  timeout_ms)
inlinestatic

Definition at line 128 of file input_validator.hpp.


The documentation for this class was generated from the following files: