FireBreath  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Pages
ActiveXCore/AXDOM/Node.h
1 /**********************************************************\
2 Original Author: Richard Bateman (taxilian)
3 
4 Created: Sep 21, 2010
5 License: Dual license model; choose one of two:
6  New BSD License
7  http://www.opensource.org/licenses/bsd-license.php
8  - or -
9  GNU Lesser General Public License, version 2.1
10  http://www.gnu.org/licenses/lgpl-2.1.html
11 
12 Copyright 2010 Facebook, Inc and the Firebreath development team
13 \**********************************************************/
14 
15 #pragma once
16 #ifndef H_AXDOM_NODE
17 #define H_AXDOM_NODE
18 
19 #include <string>
20 #include "win_common.h"
21 #include <atlctl.h>
22 #include "IDispatchAPI.h"
23 #include "JSObject.h"
24 #include "DOM/Node.h"
25 
26 namespace FB { namespace ActiveX {
27  namespace AXDOM {
28  class Node;
29  typedef boost::shared_ptr<Node> NodePtr;
30 
36  class Node : public virtual FB::DOM::Node
37  {
38  public:
39  Node(const FB::JSObjectPtr& element, IWebBrowser *web);
40  virtual ~Node();
41 
42  public:
43  virtual FB::DOM::NodePtr appendChild(FB::DOM::NodePtr node);
44  protected:
45  CComQIPtr<IHTMLDOMNode> m_axNode;
46  CComPtr<IWebBrowser> m_webBrowser;
47  };
48 
49  };
50 } }
51 #endif // H_AXDOM_NODE
52 
DOM Node wrapper.
boost::shared_ptr< FB::JSObject > JSObjectPtr
Defines an alias representing a JSObject shared_ptr (you should never use a JSObject* directly) ...
Definition: APITypes.h:109
boost::shared_ptr< Node > NodePtr
shared_ptr for a FB::DOM::Node
Provides an ActiveX specific implementation of DOM::Node.
NodePtr node()
Gets the NodePtr for the current node.