* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Resource\Provider; /** * Resource Service Location Socket Sole * * Single socket-based service location for services using a single host/port combination * (e.g., JMAP, unified mail servers). * * @since 2025.05.01 */ interface ResourceServiceLocationSocketSole extends ResourceServiceLocationInterface { /** * Gets the complete location string * * @since 2025.05.01 * * @return string Location (e.g., "mail.example.com:993") */ public function location(): string; /** * Gets the host * * @since 2025.05.01 * * @return string Host (e.g., "mail.example.com") */ public function getHost(): string; /** * Sets the host * * @since 2025.05.01 * * @param string $value * * @return void */ public function setHost(string $value): void; /** * Gets the port * * @since 2025.05.01 * * @return int Port number */ public function getPort(): int; /** * Sets the port * * @since 2025.05.01 * * @param int $value * * @return void */ public function setPort(int $value): void; /** * Gets the encryption/security mode * * @since 2025.12.01 * * @return string One of: 'none', 'ssl', 'tls', 'starttls' */ public function getEncryption(): string; /** * Sets the encryption/security mode * * @since 2025.12.01 * * @param string $value One of: 'none', 'ssl', 'tls', 'starttls' * * @return void */ public function setEncryption(string $value): void; /** * Gets whether to verify SSL/TLS peer certificate * * @since 2025.12.01 * * @return bool */ public function getVerifyPeer(): bool; /** * Sets whether to verify SSL/TLS peer certificate * * @since 2025.12.01 * * @param bool $value * * @return void */ public function setVerifyPeer(bool $value): void; /** * Gets whether to verify SSL/TLS certificate host * * @since 2025.12.01 * * @return bool */ public function getVerifyHost(): bool; /** * Sets whether to verify SSL/TLS certificate host * * @since 2025.12.01 * * @param bool $value * * @return void */ public function setVerifyHost(bool $value): void; }