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

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