73 lines
1.9 KiB
C#
73 lines
1.9 KiB
C#
|
|
using CookComputing.XmlRpc;
|
|
|
|
namespace CookComputing.Meerkat
|
|
{
|
|
|
|
public struct Category
|
|
{
|
|
public int id;
|
|
public string title;
|
|
}
|
|
|
|
public struct Channel
|
|
{
|
|
public int id;
|
|
public string title;
|
|
}
|
|
|
|
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
|
public struct Recipe
|
|
{
|
|
// search criteria
|
|
public XmlRpcInt channel;
|
|
public XmlRpcInt category;
|
|
public XmlRpcInt item;
|
|
public string search;
|
|
public string search_what;
|
|
public string time_period;
|
|
public XmlRpcInt profile;
|
|
public XmlRpcInt mob;
|
|
public string url;
|
|
// display recipes
|
|
public int ids;
|
|
public int descriptions;
|
|
public int categories;
|
|
public int channels;
|
|
public int dates;
|
|
public int dc;
|
|
public XmlRpcInt num_items;
|
|
}
|
|
|
|
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
|
public struct Result
|
|
{
|
|
[XmlRpcMissingMapping(MappingAction.Error)]
|
|
public string title;
|
|
[XmlRpcMissingMapping(MappingAction.Error)]
|
|
public string link;
|
|
public string description;
|
|
public string dc_creator;
|
|
public string dc_subject;
|
|
public string dc_publisher;
|
|
public string dc_date;
|
|
public string dc_format;
|
|
public string dc_language;
|
|
public string dc_rights;
|
|
}
|
|
|
|
[XmlRpcUrl("http://www.oreillynet.com/meerkat/xml-rpc/server.php")]
|
|
public interface IMeerkat
|
|
{
|
|
[XmlRpcMethod("meerkat.getCategories")]
|
|
Category[] GetCategories();
|
|
[XmlRpcMethod("meerkat.getChannels")]
|
|
Channel[] GetChannels();
|
|
[XmlRpcMethod("meerkat.getChannelsByCategory")]
|
|
Channel[] GetChannelsByCategory(int id);
|
|
[XmlRpcMethod("meerkat.getItems")]
|
|
Result[] GetItems(Recipe recipe);
|
|
}
|
|
|
|
}
|
|
|