You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

using System.Collections.Generic;
using System.Threading.Tasks;
using CoreAgent.Domain.Entities;
namespace CoreAgent.Domain.Interfaces
{
/// <summary>
/// 网络配置服务接口
/// </summary>
public interface INetworkConfigurationService
{
/// <summary>
/// 创建网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
/// <param name="ragConfig">RAN配置文件路径</param>
/// <param name="coreOrImsConfigs">核心网和IMS配置列表</param>
/// <param name="apn">APN配置</param>
/// <param name="band">频段配置</param>
/// <param name="comment">配置说明</param>
/// <returns>(是否成功, 创建的网络配置)</returns>
Task<(bool Success, NetworkConfiguration Configuration)> CreateAsync(
string configKey,
string ragConfig,
List<CoreImsConfig> coreOrImsConfigs,
string apn,
List<string> band,
string comment = null);
/// <summary>
/// 保存网络配置
/// </summary>
/// <param name="configuration">网络配置</param>
/// <returns>保存是否成功</returns>
Task<bool> SaveAsync(NetworkConfiguration configuration);
/// <summary>
/// 删除网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
/// <returns>删除是否成功</returns>
Task<bool> DeleteAsync(string configKey);
/// <summary>
/// 获取所有网络配置
/// </summary>
/// <returns>网络配置列表</returns>
Task<List<NetworkConfiguration>> GetAllAsync();
/// <summary>
/// 根据配置键获取网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
/// <returns>网络配置</returns>
Task<NetworkConfiguration> GetByConfigKeyAsync(string configKey);
}
}