1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef __nsPrintProgress_h 7 #define __nsPrintProgress_h 8 9 #include "nsIPrintProgress.h" 10 11 #include "nsCOMArray.h" 12 #include "nsCOMPtr.h" 13 #include "nsString.h" 14 15 class nsIDOMWindow; 16 class nsIObserver; 17 class nsIPrintSettings; 18 19 class nsPrintProgress : public nsIPrintProgress { 20 public: 21 NS_DECL_THREADSAFE_ISUPPORTS 22 NS_DECL_NSIPRINTPROGRESS 23 NS_DECL_NSIWEBPROGRESSLISTENER 24 25 explicit nsPrintProgress(nsIPrintSettings* aPrintSettings); 26 27 protected: 28 virtual ~nsPrintProgress(); 29 30 private: 31 nsresult ReleaseListeners(); 32 33 bool m_closeProgress; 34 bool m_processCanceled; 35 nsString m_pendingStatus; 36 int32_t m_pendingStateFlags; 37 nsresult m_pendingStateValue; 38 nsCOMPtr<nsIDOMWindow> m_dialog; 39 nsCOMArray<nsIWebProgressListener> m_listenerList; 40 nsCOMPtr<nsIObserver> m_observer; 41 nsCOMPtr<nsIPrintSettings> m_PrintSetting; 42 }; 43 44 #endif 45