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
2047f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park#ifndef __ANDROID_VNDK__
2147f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park
222652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#include <binder/IInterface.h>
232652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
242652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangnamespace android {
252652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
262652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
272652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
282652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangclass IMediaResourceMonitor : public IInterface {
292652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangpublic:
3017576de056a57753eb4af797545db88ef4f81ef0Colin Cross    DECLARE_META_INTERFACE(MediaResourceMonitor)
312652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
32a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    // Values should be in sync with Intent.EXTRA_MEDIA_RESOURCE_TYPE_XXX.
33a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    enum {
34a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang        TYPE_VIDEO_CODEC = 0,
35a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang        TYPE_AUDIO_CODEC = 1,
36a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    };
37a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang
38a2a6be113f263bc12c81d3c81069f592cc76a6c7Dongwon Kang    virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) = 0;
392652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
402652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    enum {
412652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang        NOTIFY_RESOURCE_GRANTED = IBinder::FIRST_CALL_TRANSACTION,
422652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    };
432652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang};
442652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
452652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
462652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
472652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangclass BnMediaResourceMonitor : public BnInterface<IMediaResourceMonitor> {
482652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kangpublic:
492652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang    virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply,
502652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang            uint32_t flags = 0);
512652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang};
522652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
532652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang// ----------------------------------------------------------------------
542652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
552652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang}; // namespace android
562652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang
5747f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park#else // __ANDROID_VNDK__
5847f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park#error "This header is not visible to vendors"
5947f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park#endif // __ANDROID_VNDK__
6047f876b74be0a2d6d417f5ff385f85d835a97fe9Jiyong Park
612652c17bcf78ba307ef8cf8389a02d51b37d595bDongwon Kang#endif // ANDROID_I_MEDIA_RESOURCE_MONITOR_H
62