1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
// Copyright (C) 2015 Canonical Ltd.
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
#include "oxide_compositor_observer.h"
20
#include "oxide_compositor.h"
24
CompositorObserver::CompositorObserver()
25
: compositor_(nullptr) {}
27
CompositorObserver::CompositorObserver(Compositor* compositor)
28
: compositor_(compositor) {
30
compositor_->AddObserver(this);
34
void CompositorObserver::Observe(Compositor* compositor) {
35
if (compositor == compositor_) {
40
compositor_->RemoveObserver(this);
42
compositor_ = compositor;
44
compositor_->AddObserver(this);
48
void CompositorObserver::OnCompositorDestruction() {
49
compositor_ = nullptr;
52
CompositorObserver::~CompositorObserver() {
54
compositor_->RemoveObserver(this);
58
void CompositorObserver::CompositorDidCommit() {}