1a69729dc76b97c44387088d351480d5d0701517eJeff Tinker/* 2a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * Copyright (C) 2015 The Android Open Source Project 3a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * 4a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * Licensed under the Apache License, Version 2.0 (the "License"); 5a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * you may not use this file except in compliance with the License. 6a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * You may obtain a copy of the License at 7a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * 8a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * http://www.apache.org/licenses/LICENSE-2.0 9a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * 10a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * Unless required by applicable law or agreed to in writing, software 11a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * distributed under the License is distributed on an "AS IS" BASIS, 12a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * See the License for the specific language governing permissions and 14a69729dc76b97c44387088d351480d5d0701517eJeff Tinker * limitations under the License. 15a69729dc76b97c44387088d351480d5d0701517eJeff Tinker */ 16a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 17a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#ifndef ANDROID_IMEDIADRMSERVICE_H 18a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#define ANDROID_IMEDIADRMSERVICE_H 19a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 20a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <utils/Errors.h> // for status_t 21a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <utils/RefBase.h> 22a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <utils/String8.h> 23a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <binder/IInterface.h> 24a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <binder/Parcel.h> 25a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 26a69729dc76b97c44387088d351480d5d0701517eJeff Tinkernamespace android { 27a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 28a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerstruct ICrypto; 29a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerstruct IDrm; 30a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 31a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerclass IMediaDrmService: public IInterface 32a69729dc76b97c44387088d351480d5d0701517eJeff Tinker{ 33a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerpublic: 34a69729dc76b97c44387088d351480d5d0701517eJeff Tinker DECLARE_META_INTERFACE(MediaDrmService); 35a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 36a69729dc76b97c44387088d351480d5d0701517eJeff Tinker virtual sp<ICrypto> makeCrypto() = 0; 37a69729dc76b97c44387088d351480d5d0701517eJeff Tinker virtual sp<IDrm> makeDrm() = 0; 38a69729dc76b97c44387088d351480d5d0701517eJeff Tinker}; 39a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 40a69729dc76b97c44387088d351480d5d0701517eJeff Tinker// ---------------------------------------------------------------------------- 41a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 42a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerclass BnMediaDrmService: public BnInterface<IMediaDrmService> 43a69729dc76b97c44387088d351480d5d0701517eJeff Tinker{ 44a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerpublic: 45a69729dc76b97c44387088d351480d5d0701517eJeff Tinker virtual status_t onTransact( uint32_t code, 46a69729dc76b97c44387088d351480d5d0701517eJeff Tinker const Parcel& data, 47a69729dc76b97c44387088d351480d5d0701517eJeff Tinker Parcel* reply, 48a69729dc76b97c44387088d351480d5d0701517eJeff Tinker uint32_t flags = 0); 49a69729dc76b97c44387088d351480d5d0701517eJeff Tinker}; 50a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 51a69729dc76b97c44387088d351480d5d0701517eJeff Tinker}; // namespace android 52a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 53a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#endif // ANDROID_IMEDIADRMSERVICE_H 54