2017-02-11 16:48:26 +00:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using attribute = System . Attribute ;
namespace ShiftOS.Objects
{
[AttributeUsage(AttributeTargets.Method)]
public class MudRequestAttribute : attribute
{
/// <summary>
/// This attribute can be used on a static method to make the multi-user domain server software see this method as a MUD request handler.
/// </summary>
/// <param name="rName">The header ID of the request this method should handle.</param>
2017-02-15 21:30:58 +00:00
public MudRequestAttribute ( string rName , Type expected )
2017-02-11 16:48:26 +00:00
{
RequestName = rName ;
2017-02-15 21:30:58 +00:00
ExpectedType = expected ;
2017-02-11 16:48:26 +00:00
}
public string RequestName { get ; private set ; }
2017-02-15 21:30:58 +00:00
public Type ExpectedType { get ; private set ; }
2017-02-11 16:48:26 +00:00
}
[AttributeUsage(AttributeTargets.Method)]
public class MudResponseAttribute : attribute
{
/// <summary>
/// Clients will look for static methods marked with this attribute and run them first. If no attribute is found with the given header ID, the client may invoke a delegate with the message information.
/// </summary>
/// <param name="rName">The header ID of the response that this method will handle.</param>
public MudResponseAttribute ( string rName )
{
ResponseName = rName ;
}
public string ResponseName { get ; private set ; }
}
}