netwerk/base/PollableEvent.h
author Andrew Osmond <aosmond@mozilla.com>
Fri, 17 Nov 2017 06:45:28 -0500
changeset 392351 b9a29d94ccac646c9336fa75e084bbc8581501ad
parent 284717 d6005f001576ee85c0b7db83a902282094ce2717
child 420453 74619c5d019ccb8aed9c9785af84c48d46388180
permissions -rw-r--r--
Bug 1368776 - Part 15. Cache flags passed to ImageResource::GetImageContainerImpl for consistency. r=tnikkel When FLAG_HIGH_QUALITY_SCALING is used, we need to make sure we continue using that flag when we update the container. We should also use it for comparing whether or not an existing image container is equivalent.

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef PollableEvent_h__
#define PollableEvent_h__

#include "mozilla/Mutex.h"

namespace mozilla {
namespace net {

// class must be called locked
class PollableEvent
{
public:
  PollableEvent();
  ~PollableEvent();

  // Signal/Clear return false only if they fail
  bool Signal();
  bool Clear();
  bool Valid() { return mWriteFD && mReadFD; }

  PRFileDesc *PollableFD() { return mReadFD; }

private:
  PRFileDesc *mWriteFD;
  PRFileDesc *mReadFD;
  bool        mSignaled;
};

} // namespace net
} // namespace mozilla

#endif