12652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang/*
22652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * Copyright 2016 The Android Open Source Project
32652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang *
42652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * Licensed under the Apache License, Version 2.0 (the "License");
52652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * you may not use this file except in compliance with the License.
62652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * You may obtain a copy of the License at
72652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang *
82652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang *      http://www.apache.org/licenses/LICENSE-2.0
92652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang *
102652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * Unless required by applicable law or agreed to in writing, software
112652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * distributed under the License is distributed on an "AS IS" BASIS,
122652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * See the License for the specific language governing permissions and
142652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang * limitations under the License.
152652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang */
162652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
172652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#ifndef ANDROID_I_MEDIA_RESOURCE_MONITOR_H
182652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#define ANDROID_I_MEDIA_RESOURCE_MONITOR_H
192652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
202652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#include <binder/IInterface.h>
212652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
222652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangnamespace android {
232652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
242652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
252652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
262652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangclass IMediaResourceMonitor : public IInterface {
272652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangpublic:
2817576de056a57753eb4af797545db88ef4f81ef0Colin Cross    DECLARE_META_INTERFACE(MediaResourceMonitor)
292652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
30a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    // Values should be in sync with Intent.EXTRA_MEDIA_RESOURCE_TYPE_XXX.
31a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    enum {
32a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang        TYPE_VIDEO_CODEC = 0,
33a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang        TYPE_AUDIO_CODEC = 1,
34a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    };
35a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang
36a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) = 0;
372652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
382652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    enum {
392652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang        NOTIFY_RESOURCE_GRANTED = IBinder::FIRST_CALL_TRANSACTION,
402652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    };
412652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang};
422652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
432652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
442652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
452652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangclass BnMediaResourceMonitor : public BnInterface<IMediaResourceMonitor> {
462652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangpublic:
472652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply,
482652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang            uint32_t flags = 0);
492652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang};
502652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
512652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
522652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
532652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang}; // namespace android
542652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
552652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#endif // ANDROID_I_MEDIA_RESOURCE_MONITOR_H
56