Skip to content

WebChartDataSource

ClassChartGuruChartGuru
public class WebChartDataSource : ChartFileDataSourceBase, IChartGuruElementDataSource, IChartDataSource

Polls an HTTP/HTTPS endpoint on a configurable interval, decodes the response as CSV or JSON, and pushes the result through the standard mapping pipeline. Includes:

protected override string LoadText()

Subclasses override to obtain the raw text payload synchronously. Return an empty string to signal “no data”.

Returns

System.String

protected override Task<string> LoadTextAsync(CancellationToken ct)

Async variant. The default implementation invokes ChartGuru.ChartFileDataSourceBase.LoadText on a thread-pool worker. Subclasses with a true async pipeline (UnityWebRequest, file-stream ReadAsync) should override.

Parameters

Name Type
ct System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task{System.String}

protected override ChartTabularData ParseToTabular(string rawText)

Convert raw text to a ChartGuru.ChartTabularData. Implemented per source (CSV vs JSON).

Parameters

Name Type
rawText System.String

Returns

ChartGuru.ChartTabularData

public override void ApplyData()

Sync entry points (inspector “Fetch Now” button, ApplyData, Refresh) all route through the async pipeline because ChartGuru.WebChartDataSource.LoadText on a network source can’t return a synchronous string. Without this override the inherited ChartGuru.ChartFileDataSourceBase.ApplyData would call ChartGuru.WebChartDataSource.LoadText (returns “”) and silently do nothing.

public void Load(string url)

Set a URL and immediately fetch. Convenience shortcut for Url = …; Refresh();.

Parameters

Name Type
url System.String
public void ForceFetch()

Unconditional fetch — bypasses the ChartGuru.WebChartDataSource.RunInEditMode guard. Used by the inspector “Fetch Now” button so the user can always pull fresh data on demand.

public override void Refresh()

Drive a synchronous load → parse → push cycle. Equivalent to ChartGuru.ChartFileDataSourceBase.ApplyData; provided as a more discoverable alias.

public override Task RefreshAsync(CancellationToken ct = default)

Async refresh. Loads + parses on a background thread, then marshals the apply step back to the captured Unity main-thread context. Cancellation is honored across each await boundary.

Parameters

Name Type
ct System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task

public WebChartDataSource()

public string Url { get; set; }

Returns

System.String

public List<WebChartDataSource.HttpHeader> Headers { get; }

Returns

System.Collections.Generic.List{ChartGuru.WebChartDataSource.HttpHeader}

public WebDataFormat Format { get; set; }

Returns

ChartGuru.WebDataFormat

public string JsonRootSelector { get; set; }

Returns

System.String

public float PollIntervalSeconds { get; set; }

Returns

System.Single

public bool RunInEditMode { get; set; }

Returns

System.Boolean