Rialto  0.1
Rialto media pipeline API
IMediaKeysCapabilities.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2022 Sky UK
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef FIREBOLT_RIALTO_I_MEDIA_KEYS_CAPABILITIES_H_
21 #define FIREBOLT_RIALTO_I_MEDIA_KEYS_CAPABILITIES_H_
22 
29 #include <memory>
30 #include <string>
31 #include <vector>
32 
33 namespace firebolt::rialto
34 {
35 class IMediaKeysCapabilities;
36 
41 {
42 public:
44  virtual ~IMediaKeysCapabilitiesFactory() = default;
45 
51  static std::shared_ptr<IMediaKeysCapabilitiesFactory> createFactory();
52 
58  virtual std::shared_ptr<IMediaKeysCapabilities> getMediaKeysCapabilities() const = 0;
59 };
60 
68 {
69 public:
70  IMediaKeysCapabilities() = default;
71  virtual ~IMediaKeysCapabilities() = default;
72 
74  IMediaKeysCapabilities &operator=(const IMediaKeysCapabilities &) = delete;
76  IMediaKeysCapabilities &operator=(IMediaKeysCapabilities &&) = delete;
77 
83  virtual std::vector<std::string> getSupportedKeySystems() = 0;
84 
95  virtual bool supportsKeySystem(const std::string &keySystem) = 0;
96 
105  virtual bool getSupportedKeySystemVersion(const std::string &keySystem, std::string &version) = 0;
106 
117  virtual bool isServerCertificateSupported(const std::string &keySystem) = 0;
118 };
119 
120 }; // namespace firebolt::rialto
121 
122 #endif // FIREBOLT_RIALTO_I_MEDIA_KEYS_CAPABILITIES_H_
firebolt::rialto::IMediaKeysCapabilitiesFactory::createFactory
static std::shared_ptr< IMediaKeysCapabilitiesFactory > createFactory()
Gets the IMediaKeysCapabilitiesFactory instance.
firebolt::rialto::IMediaKeysCapabilities::getSupportedKeySystems
virtual std::vector< std::string > getSupportedKeySystems()=0
Returns the EME key systems supported by Rialto.
firebolt::rialto::IMediaKeysCapabilities
The definition of the IMediaKeysCapabilities interface.
Definition: IMediaKeysCapabilities.h:67
firebolt::rialto::IMediaKeysCapabilitiesFactory
IMediaKeysCapabilities factory class, for getting the IMediaKeysCapabilities singleton object.
Definition: IMediaKeysCapabilities.h:40
firebolt::rialto::IMediaKeysCapabilitiesFactory::getMediaKeysCapabilities
virtual std::shared_ptr< IMediaKeysCapabilities > getMediaKeysCapabilities() const =0
Gets the IMediaKeysCapabilities singleton object.
firebolt::rialto::IMediaKeysCapabilities::isServerCertificateSupported
virtual bool isServerCertificateSupported(const std::string &keySystem)=0
Gets support server certificate.
firebolt::rialto::IMediaKeysCapabilities::supportsKeySystem
virtual bool supportsKeySystem(const std::string &keySystem)=0
Indicates if the specified key system is supported.
firebolt::rialto::IMediaKeysCapabilities::getSupportedKeySystemVersion
virtual bool getSupportedKeySystemVersion(const std::string &keySystem, std::string &version)=0
Returns version of supported key system.