Refactor project structure and fix small code issues#45
Merged
darthsharp merged 16 commits intomainfrom Apr 25, 2026
Merged
Conversation
- Bumped `CreativeCoders.*` packages to version `6.7.2`. - Updated `Spectre.Console` to version `0.55.2`. - Reformatted the file for consistency.
…extract XML-RPC-specific functionality - Moved XML-RPC types and related imports from `CreativeCoders.HomeMatic.Core` to a dedicated `CreativeCoders.HomeMatic.XmlRpc` namespace. - Adjusted project references and imports for consistency across files. - Introduced new utility `CcuDeviceKindExtensions` to map device kinds to corresponding RPC ports. - Updated unit tests to reflect namespace changes and ensure compatibility.
- Removed obsolete classes: `CcuDeviceKindExtensions`, `HomeMaticDeviceSystems`, and `XmlRpcEndpoint`. - Added XML documentation to interfaces, enums, and exception classes across `CreativeCoders.HomeMatic.Core` and `CreativeCoders.HomeMatic.XmlRpc`. - Updated unit tests to reflect the removal of deprecated types and adjusted existing tests for consistency.
…y` static - Removed commented-out legacy code from `CcuDeviceBuilder`. - Updated `ParamSetKey` class to be static for improved clarity and usage.
- Renamed `RxMode` to `RxModes` across codebase to align with naming conventions. - Refactored `ParameterFlags` to `ParameterUiAttributes`. - Updated related tests and XML-RPC mappings to reflect the changes. - Included suppressions for improved static analysis compatibility in `CcuDeviceBuilder`.
… mapping - Introduced `CcuRoutingTable` as a thread-safe implementation of `ICcuRoutingTable` using `ConcurrentDictionary`. - Updated `MultiCcuClient` to leverage routing table for optimized client resolution and per-device operations. - Added tests for `CcuRoutingTable` and `MultiCcuClient` to validate new routing logic and caching behavior.
- Added new test classes: `CcuDeviceBaseTests`, `CcuDeviceTests`, `CompleteCcuDeviceBuilderTests`, `MultiCcuClientFactoryTests`, and `XmlRpcApiConnectionTests`. - Increased code coverage for device parameter mapping, factory chaining, and error handling. - Refactored existing tests to ensure consistency with updated namespaces and conventions.
…exports - Introduced `ParamValueNameWhitelist` in `DeviceExportOptions` to filter exported parameter values by name. - Updated `DeviceExporter` to apply name-based filtering in addition to param set filtering. - Enhanced CLI command with whitelist integration and added tests for comprehensive coverage.
…nnels - Introduced `CompleteCcuDeviceFakeBuilder` and `CompleteCcuDeviceChannelFakeBuilder` for streamlined test data creation. - Added `ParamSetValuesBuilder` to simplify parameter set construction. - Updated test suite to replace manual fake creation with new builders. - Refactored tests for `DeviceExporter` and `DeviceExportOptions` for improved readability and maintainability.
- Added detailed XML comments to classes, interfaces, and methods across the `CreativeCoders.HomeMatic` and `CreativeCoders.HomeMatic.Exporting` namespaces. - Improved codebase maintainability and tooling support with structured summaries, parameter descriptions, and examples.
- Removed unused namespaces across multiple files. - Suppressed warnings for Inheritdoc usage in exception and class summaries. - Applied `inheritdoc` annotations for consistent XML documentation. - Refactored redundant lambda usage and adjusted collection initialization syntax.
- Updated return type in `BuildParamSetExportData` from `IEnumerable` to an array for consistency. - Applied `[PublicAPI]` annotations to interfaces, classes, and extensions for improved tooling support. - Simplified `CcuDevice` and `ParamSetValuesWithDescriptions` initialization expressions. - Adjusted `.gitignore` and `.editorconfig` with new entries for project customization.
…pe safety - Added `[PublicAPI]` annotations to interfaces and classes for improved tooling and API usability. - Applied `[SuppressMessage]` attributes for static analysis in methods and converters. - Improved type safety with `in` keyword and adapted property initializations in multiple constructors. - Streamlined collection initialization syntax and adjusted method signatures for consistency.
…` disabled for C# and VB files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.