Files
server/shared/lib/Resource/Provider/ResourceServiceLocationSocketSole.php
2026-01-03 13:18:04 -05:00

132 lines
2.6 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* 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;
}