blob: 059656d98e65a3d2b157df7f4ae7be16d4a365d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#ifndef __OPKELE_TIDY_H
#define __OPKELE_TIDY_H
#include <cassert>
#ifdef HAVE_TIDY_H
# include <tidy.h>
# include <buffio.h>
#elif HAVE_TIDY_TIDY_H
# include <tidy/tidy.h>
# include <tidy/buffio.h>
#else
# error "Don't know where to look for htmltidy headers"
#endif
namespace opkele {
namespace util {
class tidy_buf_t {
public:
TidyBuffer _x;
tidy_buf_t() { tidyBufInit(&_x); }
virtual ~tidy_buf_t() throw() {
tidyBufFree(&_x); }
inline operator const TidyBuffer&(void) const { return _x; }
inline operator TidyBuffer&(void) { return _x; }
inline operator const char*(void) const { return (const char*)_x.bp; }
inline operator char*(void) { return (char*)_x.bp; }
inline const char *c_str() const {
return (const char*)_x.bp; }
inline size_t size() const {
return _x.size; }
};
class tidy_doc_t {
public:
TidyDoc _x;
tidy_doc_t() : _x(0) { }
tidy_doc_t(TidyDoc x) : _x(x) { }
virtual ~tidy_doc_t() throw() {
if(_x) tidyRelease(_x); }
tidy_doc_t& operator=(TidyDoc x) {
if(_x) tidyRelease(_x);
_x = x;
return *this;
}
operator const TidyDoc(void) const { return _x; }
operator TidyDoc(void) { return _x; }
inline bool opt_set(TidyOptionId o,bool v) {
assert(_x);
return tidyOptSetBool(_x,o,v?yes:no); }
inline bool opt_set(TidyOptionId o,int v) {
assert(_x);
return tidyOptSetInt(_x,o,v); }
inline int parse_string(const string& s) {
assert(_x);
return tidyParseString(_x,s.c_str()); }
inline int clean_and_repair() {
assert(_x);
return tidyCleanAndRepair(_x); }
inline int save_buffer(TidyBuffer& ob) {
assert(_x);
return tidySaveBuffer(_x,&ob); }
static inline TidyDoc create() {
return tidyCreate(); }
};
}
}
#endif /* __OPKELE_TIDY_H */
|