sbiTunesImporterStatus.h
Go to the documentation of this file.
1 /*
2  //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2009 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25  */
26 
27 #ifndef SBITUNESIMPORTERSTATUS_H_
28 #define SBITUNESIMPORTERSTATUS_H_
29 
30 #include "sbiTunesImporterCommon.h"
31 
32 #include <nsAutoPtr.h>
33 #include <nsStringAPI.h>
34 #include <nsThreadUtils.h>
35 
36 #include <sbIDataRemote.h>
37 
38 class sbIJobProgress;
40 
45 {
46 public:
47  static sbiTunesImporterStatus * New(sbiTunesImporterJob * aJobProgress);
48 
50 
54  PRBool CancelRequested();
58  nsresult Initialize();
62  void Finalize();
66  nsresult Reset();
70  void SetStatusText(nsAString const & aMsg);
74  void SetProgress(PRInt64 aProgress);
78  void SetProgressMax(PRInt64 aMaxProgress);
82  void Done() {
83  mDone = PR_TRUE;
84  }
88  nsresult Update();
89 private:
90  typedef nsRefPtr<sbiTunesImporterJob> sbiTunesImporterJobPtr;
91 
95  PRBool mDone;
99  sbiTunesImporterJobPtr mJobProgress;
103  PRUint32 mLastProgress;
107  nsString mLastStatusText;
111  PRUint32 mProgress;
115  PRInt64 mProgressMax;
119  sbIDataRemotePtr mStatusDataRemote;
127  nsString mStatusText;
131  PRBool mTotalSet;
132 
133  // Prevent copying and assignment
135  sbiTunesImporterStatus & operator =(sbiTunesImporterStatus const &);
136 };
137 
138 #endif /* SBITUNESIMPORTERSTATUS_H_ */
Generic interface for exposing long running jobs to the UI.
nsCOMPtr< sbIDataRemote > sbIDataRemotePtr
static sbiTunesImporterStatus * New(sbiTunesImporterJob *aJobProgress)
void SetProgress(PRInt64 aProgress)
void SetStatusText(nsAString const &aMsg)
void SetProgressMax(PRInt64 aMaxProgress)