39 lines
1.0 KiB
C++
39 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "dokuwiki.h"
|
|
|
|
#include <xmlrpc-c/client.hpp>
|
|
|
|
#include <string>
|
|
#include <list>
|
|
|
|
class DokuWiki::impl
|
|
{
|
|
private:
|
|
std::string m_url;
|
|
xmlrpc_c::clientXmlTransport_curl m_clientTransport;
|
|
|
|
public:
|
|
impl(const std::string &url, const std::string &username, const std::string &password);
|
|
|
|
void login(const std::string &username, const std::string &password);
|
|
std::string getVersion();
|
|
std::string getTime();
|
|
std::string getPage(const std::string &pageName);
|
|
std::string getWikiTitle();
|
|
|
|
DokuWiki::PageInfo getPageInfo(const std::string &pageName);
|
|
|
|
bool pageExists(const std::string &pageName);
|
|
void putPage(const std::string &pageName, const std::string &content);
|
|
void addPage(const std::string &pageName, const std::string &content);
|
|
|
|
void appendToPage(const std::string &pageName, const std::string &content);
|
|
|
|
template <typename ReturnType>
|
|
ReturnType executeCommand(const std::string &command,
|
|
const std::list<std::string> ¶ms = {},
|
|
const std::map<std::string, xmlrpc_c::value> &attributes = {});
|
|
};
|
|
|