141 lines
3.9 KiB
C#
141 lines
3.9 KiB
C#
|
|
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);
|
|
}
|
|
}
|
|
|
|
|