OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ | 5 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ |
6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ | 6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 | 11 |
12 #include "mojo/services/public/cpp/view_manager/view_tree_node.h" | 12 #include "mojo/services/public/cpp/view_manager/view_tree_node.h" |
13 | 13 |
14 namespace mojo { | 14 namespace mojo { |
15 namespace services { | 15 namespace services { |
16 namespace view_manager { | 16 namespace view_manager { |
17 | 17 |
18 class ViewTreeNodePrivate { | 18 class ViewTreeNodePrivate { |
19 public: | 19 public: |
20 explicit ViewTreeNodePrivate(ViewTreeNode* node); | 20 explicit ViewTreeNodePrivate(ViewTreeNode* node); |
21 ~ViewTreeNodePrivate(); | 21 ~ViewTreeNodePrivate(); |
22 | 22 |
| 23 static ViewTreeNode* LocalCreate(); |
| 24 |
23 ObserverList<ViewTreeNodeObserver>* observers() { return &node_->observers_; } | 25 ObserverList<ViewTreeNodeObserver>* observers() { return &node_->observers_; } |
24 | 26 |
25 void ClearParent() { node_->parent_ = NULL; } | 27 void ClearParent() { node_->parent_ = NULL; } |
26 | 28 |
27 void set_id(TransportNodeId id) { node_->id_ = id; } | 29 void set_id(TransportNodeId id) { node_->id_ = id; } |
28 | 30 |
29 ViewManager* view_manager() { return node_->manager_; } | 31 ViewManager* view_manager() { return node_->manager_; } |
30 void set_view_manager(ViewManager* manager) { | 32 void set_view_manager(ViewManager* manager) { |
31 node_->manager_ = manager; | 33 node_->manager_ = manager; |
32 } | 34 } |
33 | 35 |
| 36 void LocalDestroy() { |
| 37 node_->LocalDestroy(); |
| 38 } |
34 void LocalAddChild(ViewTreeNode* child) { | 39 void LocalAddChild(ViewTreeNode* child) { |
35 node_->LocalAddChild(child); | 40 node_->LocalAddChild(child); |
36 } | 41 } |
| 42 void LocalRemoveChild(ViewTreeNode* child) { |
| 43 node_->LocalRemoveChild(child); |
| 44 } |
37 | 45 |
38 private: | 46 private: |
39 ViewTreeNode* node_; | 47 ViewTreeNode* node_; |
40 | 48 |
41 DISALLOW_COPY_AND_ASSIGN(ViewTreeNodePrivate); | 49 DISALLOW_COPY_AND_ASSIGN(ViewTreeNodePrivate); |
42 }; | 50 }; |
43 | 51 |
44 } // namespace view_manager | 52 } // namespace view_manager |
45 } // namespace services | 53 } // namespace services |
46 } // namespace mojo | 54 } // namespace mojo |
47 | 55 |
48 #endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ | 56 #endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_TREE_NODE_PRIVATE_H_ |
OLD | NEW |