Orcus
css_document_tree.hpp
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 */
7
8#ifndef INCLUDED_ORCUS_CSS_DOCUMENT_TREE_HPP
9#define INCLUDED_ORCUS_CSS_DOCUMENT_TREE_HPP
10
11#include "orcus/css_selector.hpp"
12#include "orcus/exception.hpp"
13
14#include <string>
15
16namespace orcus {
17
21class ORCUS_DLLPUBLIC css_document_tree
22{
23 struct impl;
24 impl* mp_impl;
25
26public:
27
29 {
30 public:
31 insertion_error(const std::string& msg);
32 };
33
36
44 void load(const char* p, size_t n);
45
55 const css_selector_t& selector,
56 css::pseudo_element_t pseudo_elem,
57 const css_properties_t& props);
58
70 const css_properties_t* get_properties(
71 const css_selector_t& selector, css::pseudo_element_t pseudo_elem) const;
72
83 const css_pseudo_element_properties_t*
84 get_all_properties(const css_selector_t& selector) const;
85
86 void dump() const;
87};
88
89}
90
91#endif
92
93/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: css_document_tree.hpp:29
Definition: css_document_tree.hpp:22
const css_pseudo_element_properties_t * get_all_properties(const css_selector_t &selector) const
void insert_properties(const css_selector_t &selector, css::pseudo_element_t pseudo_elem, const css_properties_t &props)
const css_properties_t * get_properties(const css_selector_t &selector, css::pseudo_element_t pseudo_elem) const
void load(const char *p, size_t n)
Definition: exception.hpp:19
Definition: css_selector.hpp:61