241 lines
5.1 KiB
PHP
241 lines
5.1 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 Split
|
|
*
|
|
* Split socket-based service location for services using separate inbound/outbound servers
|
|
* (e.g., traditional IMAP/SMTP configurations).
|
|
*
|
|
* @since 2025.05.01
|
|
*/
|
|
interface ResourceServiceLocationSocketSplit extends ResourceServiceLocationInterface {
|
|
|
|
/**
|
|
* Gets the complete inbound location string
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return string Inbound location (e.g., "imap.example.com:993")
|
|
*/
|
|
public function locationInbound(): string;
|
|
|
|
/**
|
|
* Gets the complete outbound location string
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return string Outbound location (e.g., "smtp.example.com:465")
|
|
*/
|
|
public function locationOutbound(): string;
|
|
|
|
/**
|
|
* Gets the inbound host
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return string Inbound host (e.g., "imap.example.com")
|
|
*/
|
|
public function getInboundHost(): string;
|
|
|
|
/**
|
|
* Sets the inbound host
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @param string $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setInboundHost(string $value): void;
|
|
|
|
/**
|
|
* Gets the outbound host
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return string Outbound host (e.g., "smtp.example.com")
|
|
*/
|
|
public function getOutboundHost(): string;
|
|
|
|
/**
|
|
* Sets the outbound host
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @param string $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setOutboundHost(string $value): void;
|
|
|
|
/**
|
|
* Gets the inbound port
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return int Inbound port number
|
|
*/
|
|
public function getInboundPort(): int;
|
|
|
|
/**
|
|
* Sets the inbound port
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @param int $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setInboundPort(int $value): void;
|
|
|
|
/**
|
|
* Gets the outbound port
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return int Outbound port number
|
|
*/
|
|
public function getOutboundPort(): int;
|
|
|
|
/**
|
|
* Sets the outbound port
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @param int $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setOutboundPort(int $value): void;
|
|
|
|
/**
|
|
* Gets the inbound encryption/security mode
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return string One of: 'none', 'ssl', 'tls', 'starttls'
|
|
*/
|
|
public function getInboundEncryption(): string;
|
|
|
|
/**
|
|
* Sets the inbound encryption/security mode
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param string $value One of: 'none', 'ssl', 'tls', 'starttls'
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setInboundEncryption(string $value): void;
|
|
|
|
/**
|
|
* Gets the outbound encryption/security mode
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return string One of: 'none', 'ssl', 'tls', 'starttls'
|
|
*/
|
|
public function getOutboundEncryption(): string;
|
|
|
|
/**
|
|
* Sets the outbound encryption/security mode
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param string $value One of: 'none', 'ssl', 'tls', 'starttls'
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setOutboundEncryption(string $value): void;
|
|
|
|
/**
|
|
* Gets whether to verify inbound SSL/TLS peer certificate
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getInboundVerifyPeer(): bool;
|
|
|
|
/**
|
|
* Sets whether to verify inbound SSL/TLS peer certificate
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param bool $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setInboundVerifyPeer(bool $value): void;
|
|
|
|
/**
|
|
* Gets whether to verify inbound SSL/TLS certificate host
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getInboundVerifyHost(): bool;
|
|
|
|
/**
|
|
* Sets whether to verify inbound SSL/TLS certificate host
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param bool $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setInboundVerifyHost(bool $value): void;
|
|
|
|
/**
|
|
* Gets whether to verify outbound SSL/TLS peer certificate
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getOutboundVerifyPeer(): bool;
|
|
|
|
/**
|
|
* Sets whether to verify outbound SSL/TLS peer certificate
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param bool $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setOutboundVerifyPeer(bool $value): void;
|
|
|
|
/**
|
|
* Gets whether to verify outbound SSL/TLS certificate host
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function getOutboundVerifyHost(): bool;
|
|
|
|
/**
|
|
* Sets whether to verify outbound SSL/TLS certificate host
|
|
*
|
|
* @since 2025.12.01
|
|
*
|
|
* @param bool $value
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setOutboundVerifyHost(bool $value): void;
|
|
|
|
}
|