chromium/third_party/angle/src/libANGLE/Observer.cpp

//
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Observer:
//   Implements the Observer pattern for sending state change notifications
//   from Subject objects to dependent Observer objects.
//
//   See design document:
//   https://docs.google.com/document/d/15Edfotqg6_l1skTEL8ADQudF_oIdNa7i8Po43k6jMd4/

#include "libANGLE/Observer.h"

#include <algorithm>

#include "common/debug.h"

namespace angle
{
namespace
{}  // anonymous namespace

// Observer implementation.
ObserverInterface::~ObserverInterface() = default;

// Subject implementation.
Subject::Subject() {}

Subject::~Subject()
{}

bool Subject::hasObservers() const
{}

void Subject::onStateChange(SubjectMessage message) const
{}

void Subject::resetObservers()
{}

// ObserverBinding implementation.
ObserverBinding::ObserverBinding() :{}

ObserverBinding::ObserverBinding(ObserverInterface *observer, SubjectIndex index)
    :{}

ObserverBinding::~ObserverBinding()
{}

ObserverBinding::ObserverBinding(const ObserverBinding &other)
    :{}

ObserverBinding &ObserverBinding::operator=(const ObserverBinding &other)
{}

void ObserverBinding::bind(Subject *subject)
{}

void ObserverBinding::onStateChange(SubjectMessage message) const
{}

void ObserverBinding::onSubjectReset()
{}
}  // namespace angle