xpcom/ds/nsSupportsArrayEnumerator.h
author Joe Drew <joe@drew.ca>
Tue, 18 Dec 2012 11:37:15 -0500
changeset 125514 3ecf6d05c4e280cf1631e415e58e86c24d1cff23
parent 108463 a16372ce30b5f6b747246b01fcd215a4bf3b6342
child 213985 57038b3a8c97d91bd5a6a947d47e85a8882ec167
permissions -rw-r--r--
Bug 716140 - Convert the XPCOM imgIDecoderObserver interface into a private C++ interface, imgDecoderObserver, so we can more easily make changes to it. r=jrmuizel

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 nsSupportsArrayEnumerator_h___
#define nsSupportsArrayEnumerator_h___

#include "nsIEnumerator.h"
#include "mozilla/Attributes.h"

class nsISupportsArray;

class nsSupportsArrayEnumerator MOZ_FINAL : public nsIBidirectionalEnumerator {
public:
  NS_DECL_ISUPPORTS

  nsSupportsArrayEnumerator(nsISupportsArray* array);

  // nsIEnumerator methods:
  NS_DECL_NSIENUMERATOR

  // nsIBidirectionalEnumerator methods:
  NS_DECL_NSIBIDIRECTIONALENUMERATOR

private:
  ~nsSupportsArrayEnumerator();

protected:
  nsISupportsArray*     mArray;
  int32_t               mCursor;

};

#endif // __nsSupportsArrayEnumerator_h