Home | History | Annotate | Download | only in extensions
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_
      6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_
      7 
      8 #include <map>
      9 #include <string>
     10 #include <vector>
     11 
     12 #include "base/memory/scoped_ptr.h"
     13 #include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
     14 #include "extensions/browser/extension_function.h"
     15 
     16 class Profile;
     17 
     18 namespace extensions {
     19 class MediaPlayerEventRouter;
     20 
     21 class MediaPlayerAPI : public ProfileKeyedAPI {
     22  public:
     23   explicit MediaPlayerAPI(Profile* profile);
     24   virtual ~MediaPlayerAPI();
     25 
     26   // Convenience method to get the MediaPlayerAPI for a profile.
     27   static MediaPlayerAPI* Get(Profile* profile);
     28 
     29   MediaPlayerEventRouter* media_player_event_router();
     30 
     31   // ProfileKeyedAPI implementation.
     32   static ProfileKeyedAPIFactory<MediaPlayerAPI>* GetFactoryInstance();
     33 
     34  private:
     35   friend class ProfileKeyedAPIFactory<MediaPlayerAPI>;
     36 
     37   Profile* const profile_;
     38 
     39   // ProfileKeyedAPI implementation.
     40   static const char* service_name() {
     41     return "MediaPlayerAPI";
     42   }
     43   static const bool kServiceRedirectedInIncognito = true;
     44   static const bool kServiceIsNULLWhileTesting = true;
     45 
     46   scoped_ptr<MediaPlayerEventRouter> media_player_event_router_;
     47 
     48   DISALLOW_COPY_AND_ASSIGN(MediaPlayerAPI);
     49 };
     50 
     51 }  // namespace extensions
     52 
     53 #endif  // CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_
     54