132 lines
2.6 KiB
PHP
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;
|
|
|
|
}
|