152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa/*
252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * Copyright 2017, The Android Open Source Project
352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa *
452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * Licensed under the Apache License, Version 2.0 (the "License");
552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * you may not use this file except in compliance with the License.
652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * You may obtain a copy of the License at
752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa *
852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa *      http://www.apache.org/licenses/LICENSE-2.0
952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa *
1052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * Unless required by applicable law or agreed to in writing, software
1152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * distributed under the License is distributed on an "AS IS" BASIS,
1252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * See the License for the specific language governing permissions and
1452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa * limitations under the License.
1552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa */
1652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
1752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#ifndef ANDROID_HARDWARE_MEDIA_OMX_V1_0_OMXSTORE_H
1852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#define ANDROID_HARDWARE_MEDIA_OMX_V1_0_OMXSTORE_H
1952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
2052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#include <hidl/MQDescriptor.h>
2152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#include <hidl/Status.h>
2252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
2352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#include <android/hardware/media/omx/1.0/IOmxStore.h>
2452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
2552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace android {
2652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace hardware {
2752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace media {
2852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace omx {
2952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace V1_0 {
3052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasanamespace implementation {
3152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
3252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::media::omx::V1_0::IOmxStore;
3352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::media::omx::V1_0::IOmx;
3452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::media::omx::V1_0::Status;
3552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hidl::base::V1_0::IBase;
3652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::hidl_string;
3752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::hidl_vec;
3852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::Return;
3952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::hardware::Void;
4052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::sp;
4152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasausing ::android::wp;
4252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
4352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasastruct OmxStore : public IOmxStore {
4452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    OmxStore();
4552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    virtual ~OmxStore();
4652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
4752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    // Methods from IOmx
4852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    Return<void> listServiceAttributes(listServiceAttributes_cb) override;
4952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    Return<void> getNodePrefix(getNodePrefix_cb) override;
5052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    Return<void> listRoles(listRoles_cb) override;
5152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa    Return<sp<IOmx>> getOmx(hidl_string const&) override;
5252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa};
5352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
5452257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasaextern "C" IOmxStore* HIDL_FETCH_IOmxStore(const char* name);
5552257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
5652257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace implementation
5752257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace V1_0
5852257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace omx
5952257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace media
6052257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace hardware
6152257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa}  // namespace android
6252257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa
6352257b75115135821bba562ac35c0c6325a1e100Pawin Vongmasa#endif  // ANDROID_HARDWARE_MEDIA_OMX_V1_0_OMXSTORE_H
64