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 
16 namespace orcus {
17 
21 class ORCUS_DLLPUBLIC css_document_tree
22 {
23  struct impl;
24  impl* mp_impl;
25 
26 public:
27 
29  {
30  public:
31  insertion_error(const std::string& msg);
32  };
33 
36 
43  void load(const std::string& strm);
44 
53  void insert_properties(
54  const css_selector_t& selector,
55  css::pseudo_element_t pseudo_elem,
56  const css_properties_t& props);
57 
69  const css_properties_t* get_properties(
70  const css_selector_t& selector, css::pseudo_element_t pseudo_elem) const;
71 
82  const css_pseudo_element_properties_t*
83  get_all_properties(const css_selector_t& selector) const;
84 
85  void dump() const;
86 };
87 
88 }
89 
90 #endif
91 
92 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: css_document_tree.hpp:28
Definition: css_selector.hpp:60
Definition: exception.hpp:18
Definition: css_document_tree.hpp:21
Definition: base64.hpp:15