Commit 74729f7c authored by jan.koester's avatar jan.koester
Browse files

new api

parent d3066495
Loading
Loading
Loading
Loading
+16 −10
Changes for src/html.cpp: 16 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -160,11 +160,11 @@ libhtmlpp::HtmlString& libhtmlpp::HtmlString::operator<<(char src) {
    return *this;
}

size_t libhtmlpp::HtmlString::size() {
const size_t libhtmlpp::HtmlString::size() {
    return _Data.size();
}

size_t libhtmlpp::HtmlString::length() {
const size_t libhtmlpp::HtmlString::length() {
    return _Data.length();
}

@@ -428,21 +428,17 @@ libhtmlpp::HtmlPage::~HtmlPage(){
    delete _RootNode;
}

void libhtmlpp::HtmlPage::addElement(HtmlElement *element){
    return;
}

void libhtmlpp::HtmlPage::printHtml(std::string &html){
    html.clear();
    html.append("<!DOCTYPE html>");
    if(_RootNode)
        _RootNode->printHtmlElement(html);
}

void libhtmlpp::HtmlPage::loadFile(const char* path){
    delete _RootNode;
    HtmlString node;
    char tmp[HTML_BLOCKSIZE];
    std::ifstream fs;
    std::string fscontent;
    try{
        fs.open(path);
    }catch(std::exception &e){
@@ -452,10 +448,20 @@ void libhtmlpp::HtmlPage::loadFile(const char* path){

    while (fs.good()) {
        fs.read(tmp,HTML_BLOCKSIZE);
        node << tmp;
        fscontent.append(tmp);
    }

    fs.close();
    loadString(fscontent);
}

void libhtmlpp::HtmlPage::loadString(const std::string src){
    HtmlString buf;
    buf << src;
    loadString(buf);
}

void libhtmlpp::HtmlPage::loadString(HtmlString node){
    delete _RootNode;

    const char type[] = { '!','D','O','C','T','Y','P','E' };
    int i = 0;
+17 −18
Changes for src/html.h: 17 added lines, 18 removed lines.
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sys/types.h>

#include <string>
#include <cstring>

#pragma once

@@ -100,22 +101,6 @@ namespace libhtmlpp {
    private:
    };

    class HtmlPage {
    public:
        HtmlPage();
        ~HtmlPage();
        void loadFile(const char* path);
        void saveFile(const char* path);

        void   fromString(const char* src);
        size_t toString(const char** dest);

        void addElement(HtmlElement* element);
        void printHtml(std::string &html);
    private:
        HtmlElement*  _RootNode;
    };

    class HtmlString {
    public:
        HtmlString();
@@ -140,8 +125,8 @@ namespace libhtmlpp {
        HtmlString& operator<<(char src);
        HtmlString& operator<<(unsigned long src);

        size_t             size();
        size_t             length();
        const size_t       size();
        const size_t       length();
        void               clear();
        HtmlElement*       parse();
    private:
@@ -157,4 +142,18 @@ namespace libhtmlpp {
        size_t                  _HTableSize;
        HtmlElement*            _RootNode;
    };

    class HtmlPage {
    public:
        HtmlPage();
        ~HtmlPage();
        void loadFile(const char* path);
        void saveFile(const char* path);
        void loadString(const std::string src);
        void loadString(HtmlString node);

        void printHtml(std::string &html);
    private:
        HtmlElement*  _RootNode;
    };
};