Skip to content

Move Device Interfaces from daqifi-desktop #25

@tylerkron

Description

@tylerkron

Description

We need to migrate the core device interfaces from daqifi-desktop to establish the foundation for device interaction in the new daqifi-core library. These interfaces will define how applications can discover, connect to, and communicate with DAQiFi hardware.

Core Interfaces to Migrate

  • IDevice - Base interface for all DAQiFi devices
  • IStreamingDevice - Interface for devices that support data streaming
  • Associated connection/status enums and event args

Why

Moving these interfaces to the core library will:

  1. Establish the foundation for device interaction
  2. Allow third-party developers to build applications on top of a consistent API
  3. Provide a clear abstraction layer between hardware implementation details and application code

Implementation Notes

  • Keep interfaces focused and minimal
  • Document thoroughly with XML comments
  • Ensure compatibility with both .NET 8.0 and 9.0 targets
  • Avoid UI dependencies or platform-specific code
  • Consider making interfaces more modern (nullable reference types, etc.)

Related Functionality

This will be the first step before moving over:

  • Device discovery services
  • Connection management
  • Message consumer implementation
  • Channel configuration

Acceptance Criteria

  • All necessary device interfaces migrated
  • Comprehensive XML documentation
  • No platform-specific dependencies
  • Unit tests for interface implementations
  • Example usage documented

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions