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