Updating XTBs based on .GRDs from branch master
[chromium-blink-merge.git] / media / mojo / services / mojo_cdm_factory.h
blobae4003c8784adad4613cb8cea75782f45f5f37d7
1 // Copyright 2015 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 MEDIA_MOJO_SERVICES_MOJO_CDM_FACTORY_H_
6 #define MEDIA_MOJO_SERVICES_MOJO_CDM_FACTORY_H_
8 #include "base/macros.h"
9 #include "media/base/cdm_factory.h"
11 namespace media {
13 namespace interfaces {
14 class ServiceFactory;
17 class MojoCdmFactory : public CdmFactory {
18 public:
19 explicit MojoCdmFactory(interfaces::ServiceFactory* service_factory);
20 ~MojoCdmFactory() final;
22 // CdmFactory implementation.
23 void Create(const std::string& key_system,
24 const GURL& security_origin,
25 const CdmConfig& cdm_config,
26 const SessionMessageCB& session_message_cb,
27 const SessionClosedCB& session_closed_cb,
28 const LegacySessionErrorCB& legacy_session_error_cb,
29 const SessionKeysChangeCB& session_keys_change_cb,
30 const SessionExpirationUpdateCB& session_expiration_update_cb,
31 const CdmCreatedCB& cdm_created_cb) final;
33 private:
34 interfaces::ServiceFactory* service_factory_;
36 DISALLOW_COPY_AND_ASSIGN(MojoCdmFactory);
39 } // namespace media
41 #endif // MEDIA_MOJO_SERVICES_MOJO_CDM_FACTORY_H_