sbMediacoreTypeSniffer.h
Go to the documentation of this file.
1 /* vim: set sw=2 :miv */
2 /*
3 //
4 // BEGIN SONGBIRD GPL
5 //
6 // This file is part of the Songbird web player.
7 //
8 // Copyright(c) 2005-2008 POTI, Inc.
9 // http://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 
28 #include <sbIMediacoreTypeSniffer.h>
29 
30 #include <nsIStringEnumerator.h>
31 
32 #include <nsCOMPtr.h>
33 #include <nsHashKeys.h>
34 #include <nsTHashtable.h>
35 #include <prmon.h>
36 
37 #include <sbIMediacoreManager.h>
38 #include <sbIMediacoreFactoryRegistrar.h>
39 
41 {
42 public:
44  NS_DECL_SBIMEDIACORETYPESNIFFER
45 
47 
48  nsresult Init();
49 
50 private:
51  virtual ~sbMediacoreTypeSniffer();
52 
53  nsresult GetFileExtensionFromURI(nsIURI* aURI,
54  nsACString& _retval);
55 
56 protected:
57  PRMonitor *mMonitor;
58 
59  nsCOMPtr<sbIMediacoreFactoryRegistrar> mFactoryRegistrar;
60 
61  nsTHashtable<nsCStringHashKey> mAudioExtensions;
62  nsTHashtable<nsCStringHashKey> mVideoExtensions;
63  nsTHashtable<nsCStringHashKey> mImageExtensions;
64  nsTHashtable<nsCStringHashKey> mPlaylistExtensions;
65  nsTHashtable<nsCStringHashKey> mBannedWebExtensions;
66 
67  nsTHashtable<nsCStringHashKey> mAllExtensions;
68 };
nsTHashtable< nsCStringHashKey > mBannedWebExtensions
nsTHashtable< nsCStringHashKey > mAudioExtensions
nsTHashtable< nsCStringHashKey > mPlaylistExtensions
nsCOMPtr< sbIMediacoreFactoryRegistrar > mFactoryRegistrar
NS_DECL_ISUPPORTS NS_DECL_SBIMEDIACORETYPESNIFFER sbMediacoreTypeSniffer()
nsTHashtable< nsCStringHashKey > mImageExtensions
nsTHashtable< nsCStringHashKey > mAllExtensions
nsTHashtable< nsCStringHashKey > mVideoExtensions