using System.Collections.Generic;
namespace MCPForUnity.Editor.Services
{
///
/// Metadata for a discovered resource
///
public class ResourceMetadata
{
public string Name { get; set; }
public string Description { get; set; }
public string ClassName { get; set; }
public string Namespace { get; set; }
public string AssemblyName { get; set; }
public bool IsBuiltIn { get; set; }
}
///
/// Service for discovering MCP resources via reflection
///
public interface IResourceDiscoveryService
{
///
/// Discovers all resources marked with [McpForUnityResource]
///
List DiscoverAllResources();
///
/// Gets metadata for a specific resource
///
ResourceMetadata GetResourceMetadata(string resourceName);
///
/// Returns only the resources currently enabled
///
List GetEnabledResources();
///
/// Checks whether a resource is currently enabled
///
bool IsResourceEnabled(string resourceName);
///
/// Updates the enabled state for a resource
///
void SetResourceEnabled(string resourceName, bool enabled);
///
/// Invalidates the resource discovery cache
///
void InvalidateCache();
}
}