/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #pragma once #include "AR/ArSession.hpp" namespace OpenVulkano::AR::Network { class ArSessionStream final : public ArSession { public: ArSessionStream(const std::string& serverAddress, std::optional requestConfig = std::nullopt); ~ArSessionStream() override = default; void Start() override; void Stop() override; void Pause() override; [[nodiscard]] std::shared_ptr GetFrame() override; [[nodiscard]] ArSessionType GetSessionType() override { return ArSessionType::NETWORK_STREAM; } [[nodiscard]] ArType GetArType() override; }; }