Table of Contents

Namespace Hi.Common

Classes

BinIoUtil

Utility class for binary I/O operations.

BitUtil

Utility for bit control for integer.

BlockingTimer

Timer use one task and delay each event call. The delay time is Period, counted from the previous trigger to the nest trigger. The first function call does no intending delay. If the execution time is over the Period, no delay between the triggers.

BytesUtil

Utility class for byte array operations and memory size conversions.

ConcurrentTimeCounter

Thread-safe utility for measuring and tracking execution time across multiple tasks.

ConsoleUtil

Utility class for console window operations.

CppLogUtil

Internal Use Only.

CultureTextAttribute

Declares one culture's text for one vocabulary key on the member carrying the attribute — the static wording of command titles and labels, owned by the declaring library as a DEFAULT: a GUI layer may override it or add cultures the library never declared (see SetTextOverride(string, string, string)), and a culture left undeclared is not an error — lookups fall back toward the English key.

The key defaults to the member's own display name: its DisplayNameAttribute value when present, otherwise the member name spaced into words (SpacePascalWords(string)). Set Key to declare a word the member does not itself name (a shared switch word, a mode label). Apply the attribute once per culture.

CultureUtil

The English culture the engine formats and parses with, and the one call that pins a thread to it.

DuplicateUtil

Utility methods for duplication operations.

EnumUtil

Utility class for enum operations.

EnumerablePlayer

Run enumerable with Pause(), Resume() and etc. functions.

IndexSegment

Represents a segment of indices with a beginning (inclusive) and ending (exclusive> point. Used for defining segment of data in collections or arrays.

IntegerKeyDictionaryConverter

Converts dictionaries with string keys to dictionaries with integer keys for more efficient storage and lookup.

IntegerKeyDictionaryConverter<TValue>

Generic version of IntegerKeyDictionaryConverter that works with a specific value type.

InternalException

Exception that represents an internal error that should never occur during normal operation. Used to indicate programming errors or unexpected states that require developer attention.

InvokeUtil

Utility class for method invocation operations.

JsonUtil

Helper utilities for reading and writing JSON files.

KindNameUtil

The kind name of an object as the wire, the XML files and the UI know it. The value-type geometry mirrors carry the C++ typedef names (tri3d_t, dvec3d_t, box2d_t, vec3d_t, vec2d_t) while their kind names stay the historical Tri3d, DVec3d, Box2d, Vec3d, Vec2d — the geometry-kind strings of the web API, the Type tag of a presentation DTO and the XML element names are contracts, the C# type name is not. Every other type answers its own name; the box geometry kind is the class Box3d, whose name is its kind name, and the value box3d_t is not a kind.

LooseRunner

Provides a mechanism for running actions asynchronously in a loose manner. Only the most recent action is executed and previous pending actions are discarded.

ManualUtil

Utility class for handling manual and documentation files with culture support.

MaskUtil

Utility for bits masking.

NameUtil

Utility class for handling object names and display names.

PacePlayee

Represents an entity that can be controlled by the pace player.

PacePlayer

Controls the pace execution of a task.

Pair<TA, TB>

Editable pair values.

ProgressFraction

Represents a progress report implementation. Also exposes an IMessage view (explicitly implemented) so a progress fraction can ride the unified message channel uniformly alongside SimpleMessage / NcDiagnostic: Progress + System, with Msg as the notification and Detail as the detail payload.

Range<T>

Range from Min to Max.

ResourceDefaultMarker

File-name convention that marks a shipped resource item as a system-owned default: a file carries the token before its final extension (AlTiBN.default.CoatingMaterial), a folder-shaped resource carries it as a folder-name suffix (MachineTool/Table-B1.default/) with the files inside left untouched.

ResourceLayout

Provides the relative folder paths that make up the shipped resource tree.

ResourceUtil

Utility class for working with resource managers and localized strings, and the home of the attribute-declared command vocabulary: the CultureTextAttribute declarations of an assembly, exposed as “type/member + culture → text” queries and as ICommandTextSource instances, with GUI-layer overrides layered on top (SetTextOverride(string, string, string)).

RoutineBlocker

Block the thread to the given delay from the previous block.

SeqPairUtil

Utility class for SeqPair operations.

SeqPair<T>

Represents a sequence pair containing previous and current values. Used to track sequential state changes of a value.

ServerFileExplorerConfig

Configuration for server file explorer functionality.

StringLocalizer

Provides localization functionality for strings using resource managers.

StringUtil

Utility for managing text.

TaskUtil

Utility class for Task-related operations.

TimeCounter

A utility counts the average/total time consume between the Bound(object) areas. The count of time consume for the given key starts at the first time (and the odd time) calling Bound(object); stops and accumulates at the second time (and the even time).

Interfaces

IAbstractNote

Interface for objects that provide an abstract description or note.

IBinaryIo

Interface for binary input/output operations. Extends IWriteBin to provide both read and write capabilities.

IClearCache

Interface for objects that can clear their internal cache.

ICommandTextSource

A culture-bearing vocabulary commands compose their titles and labels from: it maps a vocabulary key — the English default text — onto that culture's text. The CALLER picks the source, so the presentation layer owns the language (no thread culture involved); the command keeps its composition and degradation rules. Presentation layers can implement their own source or take the engine-default one from GenTextSource(CultureInfo, params Type[]) ([CultureText] declarations overlaid by SetTextOverride(string, string, string) registrations).

IDuplicate

Interface for objects that support deep cloning/duplication.

IGetQuantityByKey

Interface for retrieving a quantity value using a string key.

IGetSelectionName

Interface for objects that can provide a name for selection purposes.

INameNote

Interface for objects that have a name and note property.

IPacedJob

A unit of work the player thread runs at a pace point in resumable chunks (TryRunAtPacePoint(IPacedJob, CancellationToken, out Task, bool)). The player drives it: one chunk, then the pass gate — Pause() parks the job there, Resume() goes on, a stop opens the gate so the next chunk sees the run's CancellationToken and can finish — then the next chunk, until the job reports that no chunk remains. The play does not advance while a job is in flight. A chunk must not park on its own account; it may observe the run's token and finish early, and it may throw OperationCanceledException to end as cancelled. When the player itself fails between two chunks, or on the auto-resume before the first chunk, it tells the job so through Abandon(Exception) before the job's task faults.

IPreferredFileName

Interface for objects that can specify a preferred file name. Generally used to suggest a name when generating or saving files.

IProgressFraction

Interface for progress reporting functionality.

ISourceFile

Interface for objects that have a source file.

IToPresentDto

Interface for converting objects to presentation DTOs (Data Transfer Objects) for JSON serialization.

IUpdateByContent

Interface for objects that can update themselves based on their content.

IUriGetter

Interface for retrieving a URI string.

IWriteBin

Interface for writing binary data.

Enums

SearchResult

Represents the result of a search operation.

Delegates

CppLogUtil.LogDelegate

Internal Use Only.

LooseRunner.MergedCancellationTokenRun

Delegate for actions that accept a merged cancellation token. The merged token combines the runner's disposal token with an optional external cancellation token.