omni/connect/core/LiveSessionInfo.h
File members: omni/connect/core/LiveSessionInfo.h
// SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
//
// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
// property and proprietary rights in and to this material, related
// documentation and any modifications thereto. Any use, reproduction,
// disclosure or distribution of this material and related documentation
// without an express license agreement from NVIDIA CORPORATION or
// its affiliates is strictly prohibited.
#pragma once
#include "Api.h"
#if OMNICONNECTCORE_WITH_NUCLEUS
#include <memory>
#include <string>
#include <vector>
namespace omni::connect::core
{
class OMNICONNECTCORE_API LiveSessionInfo
{
public:
using SessionNames = std::vector<std::string>;
static std::shared_ptr<LiveSessionInfo> create(const std::string& rootStageUri);
~LiveSessionInfo();
SessionNames getSessionNames() const;
bool init(const std::string& sessionName);
const std::string& getName() const;
bool exists() const;
const std::string& getAllSessionsFolderUri() const;
const std::string& getRootStageUri() const;
const std::string& getLiveLayerUri() const;
const std::string& getConfigUri() const;
const std::string& getChannelUri() const;
static std::string getSessionNameFromUri(const std::string& sessionLink);
private:
LiveSessionInfo(const std::string& rootStageUri);
LiveSessionInfo();
class InfoImpl;
InfoImpl* m_impl;
};
} // namespace omni::connect::core
#endif // OMNICONNECTCORE_WITH_NUCLEUS