using CookComputing.XmlRpc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace zixian.wrok
{
/// <summary>
/// 基本信息
/// </summary>
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct UserBlog
{
public string url;
public string blogid;
public string blogName;
}
/// <summary>
/// 用户信息
/// </summary>
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct UserInfo
{
public string url;
public string blogid;
public string blogName;
public string firstname;
public string lastname;
public string email;
public string nickname;
}
/// <summary>
/// 分类信息
/// </summary>
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Category
{
public string description;
public string title;
}
/// <summary>
/// 文章信息
/// </summary>
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Post
{
public string title;//标题
public string description;//发布内容
public string post_type;//"post" or "page"
public DateTime dateCreated;//创建日期
public string[] categories;//分类
}
/// <summary>
/// 多媒体信息
/// </summary>
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Data
{
public string name;
public string type;
public byte[] bits; // ---> CHANGED
public bool overwrite;
}
/// <summary>
/// 多媒体返回信息
/// </summary>
public struct DataReturn
{
public string id;
public string file;
public string url;
public string type;
}
public class XmlRpc : XmlRpcClientProtocol
{
/// <summary>
/// 得到最近发布的帖子
/// </summary>
/// <param name="blogid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="numberOfPosts"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.getRecentPosts")]
public Post[] GetRecentPosts(string blogid, string username, string password, int numberOfPosts)
{
return (Post[])this.Invoke("GetRecentPosts", new object[] { blogid, username, password, numberOfPosts });
}
/// <summary>
/// 增加一个最新的帖子
/// </summary>
/// <param name="blogid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="content"></param>
/// <param name="publish"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.newPost")]
public string NewPost(string blogid, string username, string password, Post content, bool publish)
{
return (string)this.Invoke("NewPost", new object[] { blogid, username, password, content, publish });
}
/// <summary>
/// 更新一个帖子
/// </summary>
/// <param name="postid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="content"></param>
/// <param name="publish"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.editPost")]
public bool EditPost(string postid, string username, string password, Post content, bool publish)
{
return (bool)this.Invoke("EditPost", new object[] { postid, username, password, content, publish });
}
/// <summary>
/// 删除一个帖子
/// </summary>
/// <param name="appKey"></param>
/// <param name="postid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="publish"></param>
/// <returns></returns>
[XmlRpcMethod("blogger.deletePost")]
public bool DeletePost(string appKey, string postid, string username, string password, bool publish)
{
return (bool)this.Invoke("DeletePost", new object[] { appKey, postid, username, password, publish });
}
/// <summary>
/// 得到用户的博客清单
/// </summary>
/// <param name="appKey"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
[XmlRpcMethod("blogger.getUsersBlogs")]
public UserBlog[] GetUsersBlogs(string appKey, string username, string password)
{
return (UserBlog[])this.Invoke("GetUsersBlogs", new object[] { appKey, username, password });
}
/// <summary>
/// 得到用户信息
/// </summary>
/// <param name="appKey"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
[XmlRpcMethod("blogger.getUserInfo")]
public UserInfo GetUserInfo(string appKey, string username, string password)
{
return (UserInfo)this.Invoke("GetUserInfo", new object[] { appKey, username, password });
}
/// <summary>
/// 获取一个帖子
/// </summary>
/// <param name="postid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.getPost")]
public Post GetPost(string postid, string username, string password)
{
return (Post)this.Invoke("GetPost", new object[] { postid, username, password });
}
/// <summary>
/// 得到博客分类
/// </summary>
/// <param name="blogid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.getCategories")]
public Category[] GetCategories(string blogid, string username, string password)
{
return (Category[])this.Invoke("GetCategories", new object[] { blogid, username, password });
}
/// <summary>
/// 上传媒体
/// </summary>
/// <param name="blogid"></param>
/// <param name="username"></param>
/// <param name="password"></param>
/// <param name="theImage"></param>
/// <param name="overwrite"></param>
/// <returns></returns>
[XmlRpcMethod("metaWeblog.newMediaObject")]
public DataReturn NewMediaObject(string blogid, string username, string password, Data theImage, bool overwrite)
{
return (DataReturn)this.Invoke("NewMediaObject", new object[] { blogid, username, password, theImage, overwrite });
}
}
}
评论
发表评论