// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_PERFORMANCE_MANAGER_PUBLIC_GRAPH_SYSTEM_NODE_H_ #define COMPONENTS_PERFORMANCE_MANAGER_PUBLIC_GRAPH_SYSTEM_NODE_H_ #include "base/memory/memory_pressure_listener.h" #include "base/observer_list_types.h" #include "components/performance_manager/public/graph/node.h" namespace performance_manager { class SystemNodeObserver; // The SystemNode represents system-wide state. Each graph owns exactly one // system node. This node has the same lifetime has the graph that owns it. class SystemNode : public TypedNode<SystemNode> { … }; // Pure virtual observer interface. Derive from this if you want to be forced to // implement the entire interface. class SystemNodeObserver : public base::CheckedObserver { … }; // Default implementation of observer that provides dummy versions of each // function. Derive from this if you only need to implement a few of the // functions. class SystemNode::ObserverDefaultImpl : public SystemNodeObserver { … }; } // namespace performance_manager #endif // COMPONENTS_PERFORMANCE_MANAGER_PUBLIC_GRAPH_SYSTEM_NODE_H_