Class AzureFrontend

AzureFrontend is an authorized connection to the Azure APIs for Remote Rendering.

Use this to create AzureSession instances and to convert assets.

class Microsoft::Azure::RemoteRendering::AzureFrontend final

Methods

CreateNewRenderingSessionAsync

Creates a new rendering session.

This spins up a new server in the Azure cloud. Once ready, CreateSessionAsync returns the created AzureSession object or an error context.

auto CreateNewRenderingSessionAsync(Microsoft::Azure::RemoteRendering::RenderingSessionCreationParams paramsIn) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::CreateSessionAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
paramsIn RenderingSessionCreationParams Session creation parameters

Returns

Type Description
CreateSessionAsync Async containing the created session or an error context. The returned async will complete in an arbitrary thread.

CreateNewRenderingSessionUnsafeAsync

Internal.

auto CreateNewRenderingSessionUnsafeAsync(Microsoft::Azure::RemoteRendering::RenderingSessionCreationParamsUnsafe paramsIn) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::CreateSessionAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
paramsIn RenderingSessionCreationParamsUnsafe

Returns

Type Description
CreateSessionAsync

Dispose

auto Dispose() noexcept -> Microsoft::Azure::RemoteRendering::Status;

GetAssetConversionStatusAsync

Queries the state of the current asset conversion.

Since the underlying call is a REST call, there should be sufficient delay (5-10s) between subsequent calls to avoid server throttling. In case of throttling, the function will fail and the HttpResponseCode reports code 429 ("too many requests").

A Result.InvalidParam error occurs if no conversionId is provided.

A Result.InvalidParam error occurs if no conversionId is provided.

auto GetAssetConversionStatusAsync(std::string const& conversionId) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::ConversionStatusAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
conversionId string

Returns

Type Description
ConversionStatusAsync Async containing the conversion status or an error context. The returned async will complete in an arbitrary thread.

GetCurrentRenderingSessionsAsync

Queries for all existing rendering sessions for the account associated with this frontend.

Since the underlying call is a REST call, there should be sufficient delay (5-10s) between subsequent calls to avoid server throttling. In case of throttling, the function will fail and the HttpResponseCode reports code 429 ("too many requests"). The returned async will complete in an arbitrary thread.

auto GetCurrentRenderingSessionsAsync() noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::SessionPropertiesArrayAsync>, Microsoft::Azure::RemoteRendering::Status>;

Returns

Type Description
SessionPropertiesArrayAsync The returned async will complete in an arbitrary thread.

OpenRenderingSession

Opens an existing rendering session.

The session id can be created through AzureFrontend.CreateNewRenderingSessionAsync(RenderingSessionCreationParams), as well as through external tooling such as PowerShell.

auto OpenRenderingSession(std::string const& sessionId) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::AzureSession>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
sessionId string The UUID of a rendering session.

Returns

Type Description
AzureSession Session object for session id or null on failure.

StartAssetConversionAsync

Starts converting an asset.

auto StartAssetConversionAsync(Microsoft::Azure::RemoteRendering::AssetConversionInputParams inputLocation, Microsoft::Azure::RemoteRendering::AssetConversionOutputParams outputLocation) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::StartAssetConversionAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
inputLocation AssetConversionInputParams Where to find the asset.
outputLocation AssetConversionOutputParams Where to place the converted asset.

Returns

Type Description
StartAssetConversionAsync Async containing the asset token or an error context. The returned async will complete in an arbitrary thread.

StartAssetConversionAsync_Deprecated

Deprecated.

auto StartAssetConversionAsync_Deprecated(Microsoft::Azure::RemoteRendering::AssetConversionParams paramsIn) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::StartAssetConversionAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
paramsIn AssetConversionParams

Returns

Type Description
StartAssetConversionAsync

StartAssetConversionSasAsync

Starts converting an asset using SAS access to the input and output containers.

auto StartAssetConversionSasAsync(Microsoft::Azure::RemoteRendering::AssetConversionInputSasParams inputLocation, Microsoft::Azure::RemoteRendering::AssetConversionOutputSasParams outputLocation) noexcept -> Expected<ApiHandle<Microsoft::Azure::RemoteRendering::StartAssetConversionAsync>, Microsoft::Azure::RemoteRendering::Status>;

Parameters

Name Type Description
inputLocation AssetConversionInputSasParams Where to find the asset.
outputLocation AssetConversionOutputSasParams Where to place the converted asset.

Returns

Type Description
StartAssetConversionAsync Async containing the asset token or an error context. The returned async will complete in an arbitrary thread.

Properties

Name Type Description Remarks
Configuration AzureFrontendAccountInfo Parameters with which this instance was initialized.
LogLevel LogLevel Only messages at this log level or below will be delivered through AzureFrontend.MessageLogged.
Valid bool Whether this object is still valid.

Events

MessageLogged

Log messages are delivered through this callback.

auto MessageLogged(LogHandler const& handler) noexcept -> Expected<event_token, Microsoft::Azure::RemoteRendering::Status>;
auto MessageLogged(event_token& token) noexcept -> Microsoft::Azure::RemoteRendering::Status;

TokenRequired

Occurs when the frontend requires an updated access token or authentication token.

auto TokenRequired(TokenRequiredDelegate const& handler) noexcept -> Expected<event_token, Microsoft::Azure::RemoteRendering::Status>;
auto TokenRequired(event_token& token) noexcept -> Microsoft::Azure::RemoteRendering::Status;