sbTemporaryFileFactory.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 :miv */
3 /*
4  *=BEGIN SONGBIRD GPL
5  *
6  * This file is part of the Songbird web player.
7  *
8  * Copyright(c) 2005-2010 POTI, Inc.
9  * http://www.songbirdnest.com
10  *
11  * This file may be licensed under the terms of of the
12  * GNU General Public License Version 2 (the ``GPL'').
13  *
14  * Software distributed under the License is distributed
15  * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
16  * express or implied. See the GPL for the specific language
17  * governing rights and limitations.
18  *
19  * You should have received a copy of the GPL along with this
20  * program. If not, go to http://www.gnu.org/licenses/gpl.html
21  * or write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23  *
24  *=END SONGBIRD GPL
25  */
26 
27 #ifndef _SB_TEMPORARY_FILE_FACTORY_H_
28 #define _SB_TEMPORARY_FILE_FACTORY_H_
29 
30 //------------------------------------------------------------------------------
31 //------------------------------------------------------------------------------
32 //
33 // Songbird temporary file factory defs.
34 //
35 //------------------------------------------------------------------------------
36 //------------------------------------------------------------------------------
37 
43 //------------------------------------------------------------------------------
44 //
45 // Songbird temporary file factory imported services.
46 //
47 //------------------------------------------------------------------------------
48 
49 // Songbird imports.
50 #include <sbITemporaryFileFactory.h>
51 
52 // Mozilla imports.
53 #include <nsCOMPtr.h>
54 
55 
56 //------------------------------------------------------------------------------
57 //
58 // Songbird temporary file factory definitions.
59 //
60 //------------------------------------------------------------------------------
61 
62 //
63 // Songbird temporary file factory XPCOM component definitions.
64 //
65 
66 #define SB_TEMPORARYFILEFACTORY_CLASSNAME "sbTemporaryFileFactory"
67 #define SB_TEMPORARYFILEFACTORY_DESCRIPTION "Songbird Temporary File Factory"
68 #define SB_TEMPORARYFILEFACTORY_CID \
69 { \
70  0x33ecad26, \
71  0x1dd2, \
72  0x11b2, \
73  { 0xb1, 0x1b, 0x84, 0xc2, 0x15, 0xc3, 0x10, 0xa5 } \
74 }
75 
76 
77 //------------------------------------------------------------------------------
78 //
79 // Songbird temporary file factory classes.
80 //
81 //------------------------------------------------------------------------------
82 
88 {
89  //----------------------------------------------------------------------------
90  //
91  // Public interface.
92  //
93  //----------------------------------------------------------------------------
94 
95 public:
96 
97  //
98  // Implemented interfaces.
99  //
100 
102  NS_DECL_SBITEMPORARYFILEFACTORY
103 
104 
105  //
106  // Public services.
107  //
108 
113 
117  virtual ~sbTemporaryFileFactory();
118 
119 
120  //----------------------------------------------------------------------------
121  //
122  // Public interface.
123  //
124  //----------------------------------------------------------------------------
125 
126 private:
127 
128  //
129  // mRootTemporaryDirectory Root temporary directory.
130  //
131 
132  nsCOMPtr<nsIFile> mRootTemporaryDirectory;
133 
134 
135  //
136  // Public services.
137  //
138 
142  nsresult EnsureRootTemporaryDirectory();
143 };
144 
145 
146 #endif // _SB_TEMPORARY_FILE_FACTORY_H_
147 
NS_DECL_ISUPPORTS NS_DECL_SBITEMPORARYFILEFACTORY sbTemporaryFileFactory()