38 lines
894 B
PHP
38 lines
894 B
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;
|
|
|
|
use JsonSerializable;
|
|
|
|
/**
|
|
* Resource Service Location Interface
|
|
*
|
|
* Unified interface supporting both URI-based (API services) and socket-based
|
|
* (traditional IMAP/SMTP) connection configurations.
|
|
*
|
|
* @since 2025.05.01
|
|
*/
|
|
interface ResourceServiceLocationInterface extends JsonSerializable {
|
|
|
|
public const TYPE_URI = 'URI';
|
|
public const TYPE_SOCKET_SOLE = 'SOCKET_SOLE';
|
|
public const TYPE_SOCKET_SPLIT = 'SOCKET_SPLIT';
|
|
public const TYPE_FILE = 'FILE';
|
|
|
|
/**
|
|
* Gets the service location type
|
|
*
|
|
* @since 2025.05.01
|
|
*
|
|
* @return string One of: TYPE_URI, TYPE_SOCKET_SOLE, TYPE_SOCKET_SPLIT, TYPE_FILE
|
|
*/
|
|
public function type(): string;
|
|
}
|