Skip to main content

Crate rs_teststand

Crate rs_teststand 

Source
Expand description

Safe, idiomatic Rust bindings (twin API) for the National Instruments TestStand™ COM API.

The wrapper surface maps one-to-one onto the TestStand™ object model: type names, the object hierarchy, method names, and parameter order follow the COM API so that anyone who knows TestStand™ can predict the Rust call.

All COM interop (and all unsafe) lives in the rs-teststand-sys crate; this crate forbids unsafe entirely.

use rs_teststand::Engine;

let engine = Engine::new()?;
println!("major version: {}", engine.major_version()?);

Re-exports§

pub use adapters::AdapterKeyName;
pub use engine::Engine;
pub use enums::ExecRunState;
pub use enums::ExecTermState;
pub use enums::OpenWorkspaceFileOptions;
pub use enums::PropValType;
pub use enums::PropertyValueTypeFlags;
pub use enums::SaveWorkspaceFileOptions;
pub use enums::SearchDirectoryType;
pub use enums::StepGroup;
pub use error::Error;
pub use execution::Execution;
pub use execution::ResultList;
pub use execution::ResultValue;
pub use execution::SequenceContext;
pub use execution::StepResult;
pub use execution::Thread;
pub use execution::ThreadTerminationOption;
pub use expression::ArithmeticOperator;
pub use expression::Arity;
pub use expression::ArrayFunction;
pub use expression::AssignmentOperator;
pub use expression::BitwiseOperator;
pub use expression::ColorConstant;
pub use expression::ComparisonOperator;
pub use expression::LogicalOperator;
pub use expression::NumericFunction;
pub use expression::Operator;
pub use expression::OperatorClass;
pub use expression::OtherConstant;
pub use expression::OtherFunction;
pub use expression::OtherOperator;
pub use expression::PropertyFunction;
pub use expression::StringFunction;
pub use expression::SwitchingFunction;
pub use expression::TimeFunction;
pub use license::AcquireLicenseOptions;
pub use license::ApplicationLicense;
pub use license::HeldLicense;
pub use license::LicenseType;
pub use messaging::UIMessage;
pub use messaging::UIMessageCode;
pub use messaging::pump_thread_messages;
pub use property::ArrayDimensions;
pub use property::GetTemplatesFileOptions;
pub use property::PropertyObject;
pub use property::PropertyObjectFile;
pub use property::PropertyObjectType;
pub use property::PropertyOptions;
pub use property::PropertyRepresentation;
pub use sequence::BreakpointScope;
pub use sequence::ConflictHandler;
pub use sequence::GetSeqFileOptions;
pub use sequence::ResultRecordingOption;
pub use sequence::RunMode;
pub use sequence::Sequence;
pub use sequence::SequenceFile;
pub use sequence::Step;
pub use station::DebugOptions;
pub use station::ExecutionMask;
pub use station::RunTimeErrorOption;
pub use station::SearchDirectories;
pub use station::SearchDirectory;
pub use station::StationOptions;
pub use types::TypeCategory;
pub use types::TypeUsageList;
pub use users::User;
pub use users::UserPrivilege;
pub use users::UsersFile;
pub use watchdog::DialogPolicy;
pub use watchdog::Watchdog;
pub use watchdog::dismiss_blocking_dialog;
pub use watchdog::find_blocking_dialog;
pub use watchdog::surface_blocking_dialog;
pub use workspace::WorkspaceFile;
pub use workspace::WorkspaceObject;

Modules§

adapters
Code-module adapters, how a step reaches the code it calls.
engine
The Engine, root of the object model and factory for everything else.
enums
Type-safe Rust enums for TestStand™ options, types, and flags.
error
The error type surfaced by every fallible wrapper call.
execution
Running sequences.
expression
The engine’s expression language.
license
Licensing: what the engine is running on, and how to ask for it without a dialog.
messaging
Messages the engine posts to its host.
property
PropertyObject domain wrappers and options.
sequence
Sequence-file domain wrappers.
station
Station options and search directory management wrappers.
types
Registering and evolving custom data types.
users
User accounts, groups and privileges.
watchdog
Guard for engine calls that can block on a modal dialog.
workspace
TestStand workspace domain wrappers.

Structs§

DialogInfo
What a blocking dialog was showing.
Dismissed
What happened to a dialog that was dismissed.
Raised
What raising a window actually achieved.