#pragma once
/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <memory>

#include <android-base/macros.h>

#include "common/vsoc/lib/typed_region_view.h"
#include "common/vsoc/shm/audio_data_layout.h"

namespace vsoc {
namespace audio_data {

class AudioDataRegionView
    : public vsoc::TypedRegionView<
        AudioDataRegionView,
        vsoc::layout::audio_data::AudioDataLayout> {
public:
    AudioDataRegionView() = default;
    AudioDataRegionView(const AudioDataRegionView &) = delete;
    AudioDataRegionView &operator=(const AudioDataRegionView &) = delete;
};

}  // namespace audio_data
}  // namespace vsoc
