using System;
using CookComputing.XmlRpc;
namespace CookComputing.MetaWeblog{
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Enclosure
{
public int length;
public string type;
public string url;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Source
{
public string name;
public string url;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Post
{
[XmlRpcMissingMapping(MappingAction.Error)]
[XmlRpcMember(Description="Required when posting.")]
public DateTime dateCreated;
[XmlRpcMissingMapping(MappingAction.Error)]
[XmlRpcMember(Description="Required when posting.")]
public string description;
[XmlRpcMissingMapping(MappingAction.Error)]
[XmlRpcMember(Description="Required when posting.")]
public string title;
public string[] categories;
public Enclosure enclosure;
public string link;
public string permalink;
[XmlRpcMember(
Description="Not required when posting. Depending on server may "
+ "be either string or integer. "
+ "Use Convert.ToInt32(postid) to treat as integer or "
+ "Convert.ToString(postid) to treat as string")]
public object postid;
public Source source;
public string userid;
public object mt_allow_comments;
public object mt_allow_pings;
public object mt_convert_breaks;
public string mt_text_more;
public string mt_excerpt;
}
public struct CategoryInfo
{
public string description;
public string htmlUrl;
public string rssUrl;
public string title;
public string categoryid;
}
public struct Category
{
public string categoryId;
public string categoryName;
}
public struct FileData
{
public byte[] bits;
public string name;
//public string type;
}
public struct UrlData
{
public string url;
}
public interface IMetaWeblog
{
[XmlRpcMethod("metaWeblog.editPost",
Description="Updates and existing post to a designated blog "
+ "using the metaWeblog API. Returns true if completed.")]
object editPost(
string postid,
string username,
string password,
Post post,
bool publish);
[XmlRpcMethod("metaWeblog.getCategories",
Description="Retrieves a list of valid categories for a post "
+ "using the metaWeblog API. Returns the metaWeblog categories "
+ "struct collection.")]
CategoryInfo[] getCategories(
string blogid,
string username,
string password);
[XmlRpcMethod("metaWeblog.getPost",
Description="Retrieves an existing post using the metaWeblog "
+ "API. Returns the metaWeblog struct.")]
Post getPost(
string postid,
string username,
string password);
[XmlRpcMethod("metaWeblog.getRecentPosts",
Description="Retrieves a list of the most recent existing post "
+ "using the metaWeblog API. Returns the metaWeblog struct collection.")]
Post[] getRecentPosts(
string blogid,
string username,
string password,
int numberOfPosts);
[XmlRpcMethod("metaWeblog.newPost",
Description="Makes a new post to a designated blog using the "
+ "metaWeblog API. Returns postid as a string.")]
string newPost(
string blogid,
string username,
string password,
Post post,
bool publish);
[XmlRpcMethod("metaWeblog.newMediaObject",
Description = "Makes a new file to a designated blog using the "
+ "metaWeblog API. Returns url as a string of a struct.")]
UrlData newMediaObject(
string blogid,
string username,
string password,
FileData file);
}
}
|