sbDeviceEnsureSpaceForWrite.h
Go to the documentation of this file.
1 /* vim: set sw=2 :miv */
2 /*
3  *=BEGIN SONGBIRD GPL
4  *
5  * This file is part of the Songbird web player.
6  *
7  * Copyright(c) 2005-2010 POTI, Inc.
8  * http://www.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 #ifndef SBDEVICEENSURESPACEFORWRITE_H_
27 #define SBDEVICEENSURESPACEFORWRITE_H_
28 
29 #include <map>
30 #include <vector>
31 
32 #include "sbBaseDevice.h"
33 
40 {
41 public:
42 
50  sbIDeviceLibrary * aDevLibrary,
51  sbILibraryChangeset * aChangeset);
56 
61  nsresult EnsureSpace();
62 private:
63 
67  sbBaseDevice * mDevice;
68 
72  nsCOMPtr<sbIDeviceLibrary> mDevLibrary;
73 
77  nsCOMPtr<sbILibraryChangeset> mChangeset;
81  PRInt64 mTotalLength;
85  PRInt64 mFreeSpace;
86 
90  nsresult GetFreeSpace();
91 
95  nsresult RemoveExtraItems();
96 };
97 
98 #endif /* SBDEVICEENSURESPACEFORWRITE_H_ */
sbDeviceEnsureSpaceForWrite(sbBaseDevice *aDevice, sbIDeviceLibrary *aDevLibrary, sbILibraryChangeset *aChangeset)