149 lines
4.2 KiB
C#
149 lines
4.2 KiB
C#
|
|
using CookComputing.XmlRpc;
|
|
|
|
namespace CookComputing.Blogger
|
|
{
|
|
public struct Category
|
|
{
|
|
public string categoryid;
|
|
public string title;
|
|
public string description;
|
|
public string htmlUrl;
|
|
public string rssUrl;
|
|
}
|
|
|
|
public struct Post
|
|
{
|
|
public System.DateTime dateCreated;
|
|
[XmlRpcMember(
|
|
Description="Depending on server may be either string or integer. "
|
|
+ "Use Convert.ToInt32(userid) to treat as integer or "
|
|
+ "Convert.ToString(userid) to treat as string")]
|
|
|
|
//Livejournal sometimes drops these
|
|
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
|
public object userid;
|
|
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
|
public string postid;
|
|
public string content;
|
|
}
|
|
|
|
public struct UserInfo
|
|
{
|
|
public string url;
|
|
public string email;
|
|
public string nickname;
|
|
public string lastname;
|
|
public string firstname;
|
|
}
|
|
|
|
public struct BlogInfo
|
|
{
|
|
public string blogid;
|
|
public string url;
|
|
public string blogName;
|
|
}
|
|
|
|
public interface IBlogger
|
|
{
|
|
[XmlRpcMethod("blogger.deletePost",
|
|
Description="Deletes a post.")]
|
|
[return: XmlRpcReturnValue(Description="Always returns true.")]
|
|
bool deletePost(
|
|
string appKey,
|
|
string postid,
|
|
string username,
|
|
string password,
|
|
[XmlRpcParameter(
|
|
Description="Where applicable, this specifies whether the blog "
|
|
+ "should be republished after the post has been deleted.")]
|
|
bool publish);
|
|
|
|
[XmlRpcMethod("blogger.editPost",
|
|
Description="Edits a given post. Optionally, will publish the "
|
|
+ "blog after making the edit.")]
|
|
[return: XmlRpcReturnValue(Description="Always returns true.")]
|
|
object editPost(
|
|
string appKey,
|
|
string postid,
|
|
string username,
|
|
string password,
|
|
string content,
|
|
bool publish);
|
|
|
|
[XmlRpcMethod("blogger.getCategories",
|
|
Description="Returns a list of the categories that you can use "
|
|
+ "to log against a post.")]
|
|
Category[] getCategories(
|
|
string blogid,
|
|
string username,
|
|
string password);
|
|
|
|
[XmlRpcMethod("blogger.getPost",
|
|
Description="Returns a single post.")]
|
|
Post getPost(
|
|
string appKey,
|
|
string postid,
|
|
string username,
|
|
string password);
|
|
|
|
[XmlRpcMethod("blogger.getRecentPosts",
|
|
Description="Returns a list of the most recent posts in the system.")]
|
|
Post[] getRecentPosts(
|
|
string appKey,
|
|
string blogid,
|
|
string username,
|
|
string password,
|
|
int numberOfPosts);
|
|
|
|
[XmlRpcMethod("blogger.getTemplate",
|
|
Description="Returns the main or archive index template of "
|
|
+ "a given blog.")]
|
|
string getTemplate(
|
|
string appKey,
|
|
string blogid,
|
|
string username,
|
|
string password,
|
|
string templateType);
|
|
|
|
[XmlRpcMethod("blogger.getUserInfo",
|
|
Description="Authenticates a user and returns basic user info "
|
|
+ "(name, email, userid, etc.).")]
|
|
UserInfo getUserInfo(
|
|
string appKey,
|
|
string username,
|
|
string password);
|
|
|
|
[XmlRpcMethod("blogger.getUsersBlogs",
|
|
Description="Returns information on all the blogs a given user "
|
|
+ "is a member.")]
|
|
BlogInfo[] getUsersBlogs(
|
|
string appKey,
|
|
string username,
|
|
string password);
|
|
|
|
[XmlRpcMethod("blogger.newPost",
|
|
Description="Makes a new post to a designated blog. Optionally, "
|
|
+ "will publish the blog after making the post.")]
|
|
[return: XmlRpcReturnValue(Description="Id of new post")]
|
|
string newPost(
|
|
string appKey,
|
|
string blogid,
|
|
string username,
|
|
string password,
|
|
string content,
|
|
bool publish);
|
|
|
|
[XmlRpcMethod("blogger.setTemplate",
|
|
Description="Edits the main or archive index template of a given blog.")]
|
|
bool setTemplate(
|
|
string appKey,
|
|
string blogid,
|
|
string username,
|
|
string password,
|
|
string template,
|
|
string templateType);
|
|
}
|
|
}
|
|
|
|
|