Table of Contents

Namespace Homa.Sdk.Foundation

Classes

AndroidThreadScope

Use this in an using block to automatically define a scope for attaching a managed thread to the Java VM.

ApplicationInfo

Provides thread-safe access to runtime-static properties whose values do not change during runtime. It abstracts Unity/System properties which are readonly but for some reason call engine code, which can only be called from main thread.

ApplicationLifecycle

Provides thread-safe access to Unity application lifecycle-related properties.

BasicHttpAuthentication

Describes the Basic HTTP authentication method.

ContentDownloader

Downloads and retrieves the content of a file from a given url.

ContentDownloaderOptions

Options used to configure a ContentDownloader.

DefaultFileSystem

Default implementation of a File System operations for use in Homa SDK

DownloadResult

The result of a requested file download.

DownloadResult.Failure

The result of a failed file download.

DownloadResult.Success

The result of a successful file download.

FileContentCache

Stores content as files, according to the given FileRetentionPolicy.

FileContentCacheOptions

Options used to configure a FileContentCache.

FileInfo

Provides information about a file at a given path.

FileOperationException

Wrapping exception for all file operations via IFileSystem.

FileRetentionPolicy

A content retention policy for a FileContentCache.

FileSearchOptions

Search options for search operations in IFileSystem implementation.

ForegroundOnlyStopwatchSource

This observes unity focus state, to not include time the app spends in the background in metrics.

FormerlyKnownAsAttribute

Use when a type was renamed or moved to another namespace to preserve compatibility with serialized data.

FormerlyKnownAsBinder

Allows deserialization of types that were renamed or moved to another namespaces.

HttpClientFactory

Factory producing HttpClient instances. Holds a cache of http client instances per Uri, that are valid for 15 minutes.

HttpClientOptions

Allows to provide configuration for instances of HttpClient returned by HttpClientFactory

HttpRequestBuilder

Allows to construct an HTTP query.

HttpRequestExecutionException

Exception thrown by IHttpRequest<T> during execution, if there was any error, or backend has responded with 3xx, 4xx, or 5xx code.

HttpRequestMetricsOptions

Settings for sending metrics in HTTP requests.

HttpResponse

Response from executing IHttpRequest<T>

HttpResponse<T>

Response from executing IHttpRequest<T>

InMemoryContentCache

Caches content in memory.

NoContentCache

Does not cache content.

ProxyInformation

Exposes proxy information from OS layer.

ReflectionUtility

This class provides utility methods for type reflection, such as creating instances of types, or querying for types. It uses an underlying cache to speed up the reflection process, similar to the TypeCache in Unity's Editor assembly. Using string names of types supports types that were renamed or moved to another namespace, as long as they are marked with FormerlyKnownAsAttribute.

SdkInfo

Provides information about Homa SDK

SystemTime

The default implementation for the ITime interface, reading time from the system.

TargetDirectory

Abstracts common directories and provides os-rooted paths based on the OS and the platform.

ThreadInfo

Provides information about threads

TypeSelectorAttribute

Attribute used to make a string field in a script be restricted to C# type name.

When this attribute is used, the string be shown as a dropdown button in the Inspector instead of the default string field.

String value represents the type name qualified by its namespace (e.g. "UnityEngine.Object").

UnityNetworkInformation

Thread-safe implementation of network information using UnityEngine.Application.internetReachability

Interfaces

IApplicationInfo

Provides thread-safe access to runtime-static properties whose values do not change during runtime. It abstracts Unity/System properties which are readonly but can only be accessed form the main thread.

Individual implementors can alter the specific fields per platform, so do not expect values to be the same on all platforms.

IContentCache

Used to store content based on an ID, to retrieve later.

IFileReaderStream

Abstraction layer allowing to expose stream reader for file I/O operations using IFileSystem.

IFileSystem

File system proxy interface. Allows to abstract file operations for testing and provide custom logic for platform specific operations.

IFileWriterStream

Abstraction layer allowing to expose stream writer for file I/O operations using IFileSystem.

IHttpAuthentication

Describes an HTTP authentication method.

IHttpGetRequestBuilder<TResponse>

Interface for building an HTTP GET request

IHttpGetRequestWithResponseBuilder<TResponse>

Interface for building an HTTP GET request for which response will be parsed.

IHttpPostRequestBuilder<TResponse>

Interface for building an HTTP POST request.

IHttpPostRequestWithResponseBuilder<TResponse>

Interface for building an HTTP POST request for which response will be parsed.

IHttpRequestBuilder<TResponse>

Interface for building all kinds of HTTP requests

IHttpRequestBuilder<TBuilder, TResponse>

Interface for building all kinds of HTTP requests

IHttpRequest<T>

Represents an executable HTTP Request

INetworkInformation

Exposes information about network.

IStopwatch

Represents a stopwatch, which measures elapsed time in a manner defined by its origin.

IStopwatchSource

Represents a mechanism to start stopwatches which, depending on the implementor, can behave differently in different circumstances.

ITime

Provides information about the current time.

Enums

FileOperationError

Error kind for programmatic reaction to file operations.

HttpRequestFailureCause

Enumeration of possible causes of HttpRequestExecutionException

TargetRuntimePlatform

A target platform. Either the current platform, or the target selected in the build settings in the editor.

TypeFilters

Controls the results of type querying using ReflectionUtility.