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.
5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_
6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_
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"
18 namespace extensions
{
19 class MediaPlayerEventRouter
;
21 class MediaPlayerAPI
: public ProfileKeyedAPI
{
23 explicit MediaPlayerAPI(Profile
* profile
);
24 virtual ~MediaPlayerAPI();
26 // Convenience method to get the MediaPlayerAPI for a profile.
27 static MediaPlayerAPI
* Get(Profile
* profile
);
29 MediaPlayerEventRouter
* media_player_event_router();
31 // ProfileKeyedAPI implementation.
32 static ProfileKeyedAPIFactory
<MediaPlayerAPI
>* GetFactoryInstance();
35 friend class ProfileKeyedAPIFactory
<MediaPlayerAPI
>;
37 Profile
* const profile_
;
39 // ProfileKeyedAPI implementation.
40 static const char* service_name() {
41 return "MediaPlayerAPI";
43 static const bool kServiceRedirectedInIncognito
= true;
44 static const bool kServiceIsNULLWhileTesting
= true;
46 scoped_ptr
<MediaPlayerEventRouter
> media_player_event_router_
;
48 DISALLOW_COPY_AND_ASSIGN(MediaPlayerAPI
);
51 } // namespace extensions
53 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_MEDIA_PLAYER_API_H_