Header menu logo Xanthos

IJvLinkClient Type

Minimal surface that any JV-Link client implementation must expose.

Interface stability rules: - JVRead: returns Payload/FileBoundary/DownloadPending/EndOfStream; never throws for EOF/boundary. - JVGets: returns raw byte count (>=0), -1(file boundary), -3(download pending), or < -3 mapped to ComError via ErrorCodes. Buffer is populated from Shift-JIS decoded bytes extracted directly from SAFEARRAY (no string round-trip). - Status/Open/Close/Skip/Cancel: follow ErrorCodes for negative codes; success is Ok(). - Movie APIs: return domain types; errors surface as ComError. These rules are now fixed and documented for contributors.

Instance members

Instance member Description

this.Cancel

Full Usage: this.Cancel

Returns: Result<unit, ComError>
Modifiers: abstract

Cancels the active download thread.

Returns: Result<unit, ComError>

this.Close

Full Usage: this.Close

Modifiers: abstract

Closes the active JV-Link session.

this.CourseFile

Full Usage: this.CourseFile

Parameters:
    key : string

Returns: Result<(string * string), ComError>
Modifiers: abstract

Retrieves a course diagram with explanation.

key : string
Returns: Result<(string * string), ComError>

this.CourseFile2

Full Usage: this.CourseFile2

Parameters:
    key : string
    filepath : string

Returns: Result<unit, ComError>
Modifiers: abstract

Saves a course diagram to the specified filepath via `JVCourseFile2`.

key : string
filepath : string
Returns: Result<unit, ComError>

this.CurrentFileTimestamp

Full Usage: this.CurrentFileTimestamp

Returns: DateTime option
Modifiers: abstract

Timestamp of the currently open file within JV-Link.

The getter returns None if COM property access fails. Use TryGetCurrentFileTimestamp for explicit error handling.

Returns: DateTime option

this.CurrentReadFileSize

Full Usage: this.CurrentReadFileSize

Returns: int64
Modifiers: abstract

Size (in bytes) of the currently read file (m_CurrentReadFilesize).

The getter returns 0 if COM property access fails. Use TryGetCurrentReadFileSize for explicit error handling.

Returns: int64

this.DeleteFile

Full Usage: this.DeleteFile

Parameters:
    filename : string

Returns: Result<unit, ComError>
Modifiers: abstract

Deletes a previously downloaded file from the save path.

filename : string
Returns: Result<unit, ComError>

this.Gets

Full Usage: this.Gets

Parameters:
    buffer : byref<string>
    bufferSize : int
    filename : byref<string>

Returns: Result<int, ComError>
Modifiers: abstract

Reads a single line from the current JV-Link payload using JVGets. Returns: >=0 byte count, -1(file boundary), -3(download pending), or ComError for other negatives.

buffer : byref<string>
bufferSize : int
filename : byref<string>
Returns: Result<int, ComError>

this.Init

Full Usage: this.Init

Parameters:
    sid : string

Returns: Result<unit, ComError>
Modifiers: abstract

Initialises the JV-Link session.

sid : string
Returns: Result<unit, ComError>

this.JVLinkVersion

Full Usage: this.JVLinkVersion

Returns: string
Modifiers: abstract

Gets the JV-Link version string (m_JVLinkVersion).

The getter returns an empty string if COM property access fails. Use TryGetJVLinkVersion for explicit error handling.

Returns: string

this.MovieCheck

Full Usage: this.MovieCheck

Parameters:
    key : string

Returns: Result<MovieAvailability, ComError>
Modifiers: abstract

Checks movie availability via JVMVCheck (race videos only).

key : string
Returns: Result<MovieAvailability, ComError>

this.MovieCheckWithType

Full Usage: this.MovieCheckWithType

Parameters:
    movieType : string
    key : string

Returns: Result<MovieAvailability, ComError>
Modifiers: abstract

Checks movie availability for a given movietype via JVMVCheckWithType.

movieType : string
key : string
Returns: Result<MovieAvailability, ComError>

this.MovieOpen

Full Usage: this.MovieOpen

Parameters:
    movieType : string
    searchKey : string

Returns: Result<unit, ComError>
Modifiers: abstract

Opens a workout movie list via JVMVOpen.

movieType : string
searchKey : string
Returns: Result<unit, ComError>

this.MoviePlay

Full Usage: this.MoviePlay

Parameters:
    key : string

Returns: Result<unit, ComError>
Modifiers: abstract

Requests movie playback via JVMVPlay.

key : string
Returns: Result<unit, ComError>

this.MoviePlayWithType

Full Usage: this.MoviePlayWithType

Parameters:
    movieType : string
    key : string

Returns: Result<unit, ComError>
Modifiers: abstract

Requests movie playback for a given movietype via JVMVPlayWithType.

movieType : string
key : string
Returns: Result<unit, ComError>

this.MovieRead

Full Usage: this.MovieRead

Returns: Result<MovieReadOutcome, ComError>
Modifiers: abstract

Reads the next workout movie entry via JVMVRead.

Returns: Result<MovieReadOutcome, ComError>

this.Open

Full Usage: this.Open

Parameters:
Returns: Result<JvOpenResult, ComError>
Modifiers: abstract

Requests the download/opening of JV data. Returns JvOpenResult containing session metadata (file counts, timestamp).

request : JvOpenRequest
Returns: Result<JvOpenResult, ComError>

this.OpenRealtime

Full Usage: this.OpenRealtime

Parameters:
    spec : string - Data spec ID (4 characters, e.g., "0B12", "0B11", "0B16")
    key : string - Request key in one of the following formats: - Race-by-race: "YYYYMMDDJJKKHHRR" or "YYYYMMDDJJRR" - Daily: "YYYYMMDD" - Event-based: Parameter returned by WatchEvent callback

Returns: Result<JvOpenResult, ComError>
Modifiers: abstract

Requests the opening of real-time JV data (JVRTOpen). Returns JvOpenResult containing session metadata (file counts, timestamp).

spec : string

Data spec ID (4 characters, e.g., "0B12", "0B11", "0B16")

key : string

Request key in one of the following formats: - Race-by-race: "YYYYMMDDJJKKHHRR" or "YYYYMMDDJJRR" - Daily: "YYYYMMDD" - Event-based: Parameter returned by WatchEvent callback

Returns: Result<JvOpenResult, ComError>

this.ParentWindowHandle

Full Usage: this.ParentWindowHandle

Modifiers: abstract

Gets or sets the parent window handle for JV dialogs.

In COM mode, ParentHWnd is write-only. The getter returns IntPtr.Zero. Use TryGetParentWindowHandle for explicit error handling.

this.PayoffDialogSuppressed

Full Usage: this.PayoffDialogSuppressed

Modifiers: abstract

Gets or sets whether payoff dialogs are suppressed (m_payflag).

In COM mode, m_payflag is effectively read-only: setting it programmatically is not supported. The setter is best-effort and may be ignored. Use SetUiProperties to change the value interactively. The getter returns false if COM property access fails. Use TryGetPayoffDialogSuppressed for explicit error handling.

this.Read

Full Usage: this.Read

Returns: Result<JvReadOutcome, ComError>
Modifiers: abstract

Reads the next payload from JV-Link (DU cases); never throws for EOF/boundary.

Returns: Result<JvReadOutcome, ComError>

this.SaveFlag

Full Usage: this.SaveFlag

Modifiers: abstract

Gets or sets whether downloads are persisted to disk (m_saveflag).

The getter returns a default value (false) if COM property access fails. Use TryGetSaveFlag for explicit error handling.

this.SavePath

Full Usage: this.SavePath

Returns: string
Modifiers: abstract

Gets the save path configured within JV-Link.

This property is read-only. Per JV-Link specification, m_savepath can only be modified via JVSetSavePath or JVSetUIProperties methods. The getter returns an empty string if COM property access fails. Use TryGetSavePath for explicit error handling.

Returns: string

this.ServiceKey

Full Usage: this.ServiceKey

Returns: string
Modifiers: abstract

Gets the service key configured within JV-Link.

This property is read-only. Per JV-Link specification, m_servicekey can only be modified via JVSetServiceKey or JVSetUIProperties methods. The getter returns an empty string if COM property access fails. Use TryGetServiceKey for explicit error handling.

Returns: string

this.SetParentWindowHandleDirect

Full Usage: this.SetParentWindowHandleDirect

Parameters:
Returns: Result<unit, ComError>
Modifiers: abstract

Sets the parent window handle for JV-Link dialogs (ParentHWnd).

In COM mode, ParentHWnd is write-only: reading it back is not supported.

handle : IntPtr
Returns: Result<unit, ComError>

this.SetPayoffDialogSuppressedDirect

Full Usage: this.SetPayoffDialogSuppressedDirect

Parameters:
    suppressed : bool

Returns: Result<unit, ComError>
Modifiers: abstract

Attempts to set whether payoff dialogs are suppressed (m_payflag).

In COM mode, m_payflag is effectively read-only (write fails). Users can still change this setting interactively via SetUiProperties (JVSetUIProperties dialog).

suppressed : bool
Returns: Result<unit, ComError>

this.SetSaveFlag

Full Usage: this.SetSaveFlag

Parameters:
    enabled : bool

Returns: Result<unit, ComError>
Modifiers: abstract

Sets the save flag via `JVSetSaveFlag`.

enabled : bool
Returns: Result<unit, ComError>

this.SetSavePathDirect

Full Usage: this.SetSavePathDirect

Parameters:
    path : string

Returns: Result<unit, ComError>
Modifiers: abstract

Sets the save path via `JVSetSavePath`.

path : string
Returns: Result<unit, ComError>

this.SetServiceKeyDirect

Full Usage: this.SetServiceKeyDirect

Parameters:
    key : string

Returns: Result<unit, ComError>
Modifiers: abstract

Sets the service key via `JVSetServiceKey`.

key : string
Returns: Result<unit, ComError>

this.SetUiProperties

Full Usage: this.SetUiProperties

Returns: Result<unit, ComError>
Modifiers: abstract

Shows JV-Link UI configuration dialog (`JVSetUIProperties`).

Returns: Result<unit, ComError>

this.SilksBinary

Full Usage: this.SilksBinary

Parameters:
    pattern : string

Returns: Result<byte[] option, ComError> Some bytes if image data returned, None if No Image (pattern not found).
Modifiers: abstract

Retrieves a silks bitmap as binary data via JVFuku.

pattern : string
Returns: Result<byte[] option, ComError>

Some bytes if image data returned, None if No Image (pattern not found).

this.SilksFile

Full Usage: this.SilksFile

Parameters:
    pattern : string
    outputPath : string

Returns: Result<string option, ComError> Some path if image created, None if No Image (pattern not found).
Modifiers: abstract

Generates a silks bitmap on disk via JVFukuFile.

pattern : string
outputPath : string
Returns: Result<string option, ComError>

Some path if image created, None if No Image (pattern not found).

this.Skip

Full Usage: this.Skip

Returns: Result<unit, ComError>
Modifiers: abstract

Skips the current download file.

Returns: Result<unit, ComError>

this.Status

Full Usage: this.Status

Returns: Result<int, ComError>
Modifiers: abstract

Retrieves the number of files whose download has completed.

Returns: Result<int, ComError>

this.TotalReadFileSize

Full Usage: this.TotalReadFileSize

Returns: int64
Modifiers: abstract

Total size (in KB, kilobytes) remaining in the current download session (m_TotalReadFilesize).

JV-Link returns this value in KB (value / 1024). The getter returns 0 if COM property access fails. Use TryGetTotalReadFileSize for explicit error handling.

Returns: int64

this.TryGetCurrentFileTimestamp

Full Usage: this.TryGetCurrentFileTimestamp

Returns: Result<DateTime option, ComError> Ok(DateTime option) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the timestamp of the currently open file within JV-Link.

Returns: Result<DateTime option, ComError>

Ok(DateTime option) on success, or Error if COM property access fails.

this.TryGetCurrentReadFileSize

Full Usage: this.TryGetCurrentReadFileSize

Returns: Result<int64, ComError> Ok(int64) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the size (in bytes) of the currently read file.

Returns: Result<int64, ComError>

Ok(int64) on success, or Error if COM property access fails.

this.TryGetJVLinkVersion

Full Usage: this.TryGetJVLinkVersion

Returns: Result<string, ComError> Ok(string) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the JV-Link version string (m_JVLinkVersion).

Returns: Result<string, ComError>

Ok(string) on success, or Error if COM property access fails.

this.TryGetParentWindowHandle

Full Usage: this.TryGetParentWindowHandle

Returns: Result<IntPtr, ComError> Ok(IntPtr) on success, or Error if the value cannot be read.
Modifiers: abstract

Attempts to retrieve the parent window handle for JV dialogs.

In COM mode, ParentHWnd is write-only and cannot be read.

Returns: Result<IntPtr, ComError>

Ok(IntPtr) on success, or Error if the value cannot be read.

this.TryGetPayoffDialogSuppressed

Full Usage: this.TryGetPayoffDialogSuppressed

Returns: Result<bool, ComError> Ok(bool) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve whether payoff dialogs are suppressed (m_payflag).

Returns: Result<bool, ComError>

Ok(bool) on success, or Error if COM property access fails.

this.TryGetSaveFlag

Full Usage: this.TryGetSaveFlag

Returns: Result<bool, ComError> Ok(bool) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve whether downloads are persisted to disk (m_saveflag).

Returns: Result<bool, ComError>

Ok(bool) on success, or Error if COM property access fails.

this.TryGetSavePath

Full Usage: this.TryGetSavePath

Returns: Result<string, ComError> Ok(string) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the save path configured within JV-Link.

Returns: Result<string, ComError>

Ok(string) on success, or Error if COM property access fails.

this.TryGetServiceKey

Full Usage: this.TryGetServiceKey

Returns: Result<string, ComError> Ok(string) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the service key configured within JV-Link.

Returns: Result<string, ComError>

Ok(string) on success, or Error if COM property access fails.

this.TryGetTotalReadFileSize

Full Usage: this.TryGetTotalReadFileSize

Returns: Result<int64, ComError> Ok(int64) on success, or Error if COM property access fails.
Modifiers: abstract

Attempts to retrieve the total size (in KB, kilobytes) remaining in the current download session.

JV-Link returns this value in KB (value / 1024). Use GetTotalReadFileSizeBytes in JvLinkService for bytes.

Returns: Result<int64, ComError>

Ok(int64) on success, or Error if COM property access fails.

this.WatchEvent

Full Usage: this.WatchEvent

Parameters:
    arg0 : string -> unit

Returns: Result<unit, ComError>
Modifiers: abstract

Starts JV-Link watch event notifications.

arg0 : string -> unit
Returns: Result<unit, ComError>

this.WatchEventClose

Full Usage: this.WatchEventClose

Returns: Result<unit, ComError>
Modifiers: abstract

Stops JV-Link watch event notifications.

Returns: Result<unit, ComError>

Type something to start searching.