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

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;
}