refactor(rename): FanucProgramManager → NcProgramManager

Phase 06 complete:
- Namespace renamed in 62 .cs files (namespace + using directives)
- AssemblyName + RootNamespace updated in csproj files
- FanucProgramManager.csproj → NcProgramManager.csproj
- FanucProgramManager.sln → NcProgramManager.sln
- FanucProgramManager.Tests/ → NcProgramManager.Tests/
- FANUCMachine.cs deleted (dead code, zero references)

Fanuc-prefixed class names kept (FanucMachine, FanucProgram,
IFanucMachine) — manufacturer identifiers, not project names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
dtrentin 2026-05-17 22:31:36 +02:00
parent 9bb65c4748
commit a5d73db69a
68 changed files with 487 additions and 1238 deletions

View file

@ -1,4 +1,4 @@
# FanucProgramManager
# NcProgramManager
## What This Is
@ -34,6 +34,7 @@ Machinists and operators transfer CNC programs to/from any controller without ma
- [x] Multi-CN support — Fanuc, Heidenhain, Siemens, Mitsubishi — Phase 14
- [x] 3-file management mode (Fanuc) via IFanucMachine — Phase 4
- [x] NC program validation before upload (all 4 manufacturers) — Phase 5
- [x] Project renamed FanucProgramManager → NcProgramManager — Phase 6
### Planned (Next)
- [ ] Hardware fingerprint license system (CPU ID + disk serial + encrypted file)
@ -96,4 +97,4 @@ Machinists and operators transfer CNC programs to/from any controller without ma
---
*PROJECT.md — Updated when requirements or context change*
*Last updated: 2026-05-17 after Phase 5 (NC Validator)*
*Last updated: 2026-05-17 after Phase 6 (Rename Cleanup)*

View file

@ -84,14 +84,33 @@ Completed: 2026-05-13
## Next Milestone
**v0.2 License System** (proposed)
Status: Not started
**v0.2 NcProgramManager** (in progress)
Status: Planning
Phases: 0 of 4 complete
Planned scope:
- Hardware fingerprint (CPU ID + disk serial)
- Encrypted license file (AES, offline)
- License generator tool (internal)
- Replace hardcoded key/IV
| Phase | Name | Plans | Status |
|-------|------|-------|--------|
| 06 | rename-cleanup | 1 | ✅ Complete |
| 07 | license-core | 1 | Not started |
| 08 | license-integration | 1 | Not started |
| 09 | license-generator | 1 | Not started |
### Phase 06: rename-cleanup ✅
**Goal:** Rename FanucProgramManager → NcProgramManager (namespace, project files, test folder). Delete dead FANUCMachine.cs.
**Completed:** 2026-05-17
**Plans:** [x] 06-01: Namespace + file rename
### Phase 07: license-core (proposed)
**Goal:** `IMachineFingerprint`, `ILicenseValidator`, RSA signature verification, `.lic` file model
**Depends on:** Phase 06
### Phase 08: license-integration (proposed)
**Goal:** Wire license system into Program.cs, replace `checkLicense`, replace `-chiave=` with `-licfile=`
**Depends on:** Phase 07
### Phase 09: license-generator (proposed)
**Goal:** Separate generator console app — reads machine fingerprint, signs, writes `.lic` file
**Depends on:** Phase 07
---
*Roadmap updated: 2026-05-17 — v0.1 milestone complete*

View file

@ -9,21 +9,23 @@ See: .paul/PROJECT.md (updated 2026-05-17)
## Current Position
Milestone: v0.1 Multi-CN Release — **COMPLETE**
Phase: 5 of 5 — Complete
Plan: All plans unified
Status: Milestone complete, ready for v0.2 planning
Last activity: 2026-05-17 — Phase 5 unified, milestone closed
Milestone: v0.2 NcProgramManager
Phase: 1 of 4 (06-rename-cleanup) — Complete
Plan: 06-01 unified
Status: Phase 06 complete, ready to plan Phase 07
Last activity: 2026-05-17 — Phase 06 rename-cleanup unified
Progress:
- Milestone v0.1: [██████████] 100%
- Milestone v0.1: [██████████] 100% (complete)
- Milestone v0.2: [██░░░░░░░░] 25%
- Phase 06: [██████████] 100%
## Loop Position
Current loop state:
```
PLAN ──▶ APPLY ──▶ UNIFY
✓ ✓ ✓ [Loop complete — milestone done]
✓ ✓ ✓ [Loop complete — ready for next PLAN]
```
## What Was Built (v0.1 Multi-CN Release)
@ -87,9 +89,9 @@ None — code complete, pending hardware testing on real machines.
## Session Continuity
Last session: 2026-05-17
Stopped at: v0.1 milestone UNIFY complete
Next action: `/paul:plan` for v0.2 License System, or `/paul:milestone` to define next milestone
Resume file: .paul/ROADMAP.md
Stopped at: Phase 06 complete — rename-cleanup unified
Next action: /paul:plan for Phase 07 (license-core)
Resume file: .paul/phases/06-rename-cleanup/06-01-SUMMARY.md
---
*STATE.md — Updated after every significant action*

View file

@ -0,0 +1,220 @@
---
phase: 06-rename-cleanup
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
- "**/*.cs (all ~62 files — namespace string replace)"
- Properties/AssemblyInfo.cs
- FanucProgramManager.csproj → NcProgramManager.csproj
- FanucProgramManager.sln → NcProgramManager.sln
- FanucProgramManager.Tests/FanucProgramManager.Tests.csproj → NcProgramManager.Tests/NcProgramManager.Tests.csproj
- FANUCMachine.cs (delete)
autonomous: true
---
<objective>
## Goal
Rename project from FanucProgramManager to NcProgramManager: namespace, assembly, project files, test folder, and delete dead legacy file.
## Purpose
Product is no longer Fanuc-only. Name FanucProgramManager is wrong. NcProgramManager reflects multi-CN scope.
## Output
- All namespaces: `FanucProgramManager``NcProgramManager`
- Project/solution files renamed
- Test folder renamed
- `FANUCMachine.cs` deleted (zero references outside itself)
- Solution builds with no errors
</objective>
<context>
## Project Context
@.paul/PROJECT.md
@.paul/STATE.md
## Key Files
@FanucProgramManager.csproj
@FanucProgramManager.sln
@Properties/AssemblyInfo.cs
@FanucProgramManager.Tests/FanucProgramManager.Tests.csproj
</context>
<acceptance_criteria>
## AC-1: Namespace renamed everywhere
```gherkin
Given any .cs file in the project
When opened
Then namespace declarations and using directives reference NcProgramManager (not FanucProgramManager)
```
## AC-2: Project and solution files updated
```gherkin
Given the renamed solution
When opened in Visual Studio or built with msbuild
Then assembly name is NcProgramManager, test assembly is NcProgramManager.Tests, project reference resolves
```
## AC-3: Dead code removed
```gherkin
Given FANUCMachine.cs
When cleanup completes
Then file does not exist (confirmed zero references before deletion)
```
</acceptance_criteria>
<tasks>
<task type="auto">
<name>Task 1: Replace FanucProgramManager string in all .cs files</name>
<files>All *.cs files under project root (recursively)</files>
<action>
Run find+sed to replace all occurrences of `FanucProgramManager` with `NcProgramManager` in every .cs file:
```bash
find /path/to/project -name "*.cs" -exec sed -i 's/FanucProgramManager/NcProgramManager/g' {} +
```
This covers:
- `namespace FanucProgramManager``namespace NcProgramManager`
- `namespace FanucProgramManager.Cnc``namespace NcProgramManager.Cnc`
- `using FanucProgramManager;``using NcProgramManager;`
- `using FanucProgramManager.Cnc.Fanuc;``using NcProgramManager.Cnc.Fanuc;`
- All sub-namespaces (.Cnc, .Cnc.Fanuc, .Cnc.Heidenhain, .Cnc.Siemens, .Cnc.Mitsubishi, .Cnc.Models)
- `InternalsVisibleTo("FanucProgramManager.Tests")` in AssemblyInfo.cs
- `AssemblyTitle`, `AssemblyProduct` in AssemblyInfo.cs
Avoid: editing binary files, NuGet package cache, obj/bin folders.
Use: `-not -path "*/obj/*" -not -path "*/bin/*" -not -path "*/.paul/*"`
</action>
<verify>
```bash
grep -r "FanucProgramManager" --include="*.cs" .
```
Must return zero results.
</verify>
<done>AC-1 satisfied: no .cs file contains FanucProgramManager</done>
</task>
<task type="auto">
<name>Task 2: Update project and solution metadata files</name>
<files>
FanucProgramManager.csproj,
FanucProgramManager.Tests/FanucProgramManager.Tests.csproj,
FanucProgramManager.sln
</files>
<action>
In `FanucProgramManager.csproj`:
- `<RootNamespace>FanucProgramManager</RootNamespace>``<RootNamespace>NcProgramManager</RootNamespace>`
- `<AssemblyName>FanucProgramManager</AssemblyName>``<AssemblyName>NcProgramManager</AssemblyName>`
In `FanucProgramManager.Tests/FanucProgramManager.Tests.csproj`:
- `<RootNamespace>FanucProgramManager.Tests</RootNamespace>``<RootNamespace>NcProgramManager.Tests</RootNamespace>`
- `<AssemblyName>FanucProgramManager.Tests</AssemblyName>``<AssemblyName>NcProgramManager.Tests</AssemblyName>`
- `<ProjectReference Include="..\FanucProgramManager.csproj">``<ProjectReference Include="..\NcProgramManager.csproj">`
- `<Name>FanucProgramManager</Name>``<Name>NcProgramManager</Name>`
In `FanucProgramManager.sln`:
- Project line: `"FanucProgramManager", "FanucProgramManager.csproj"``"NcProgramManager", "NcProgramManager.csproj"`
- Project line: `"FanucProgramManager.Tests", "FanucProgramManager.Tests\FanucProgramManager.Tests.csproj"``"NcProgramManager.Tests", "NcProgramManager.Tests\NcProgramManager.Tests.csproj"`
</action>
<verify>
```bash
grep -n "FanucProgramManager" FanucProgramManager.csproj FanucProgramManager.Tests/FanucProgramManager.Tests.csproj FanucProgramManager.sln
```
Must return zero results.
</verify>
<done>AC-2 satisfied: all project metadata references NcProgramManager</done>
</task>
<task type="auto">
<name>Task 3: Rename files/folder and delete dead code</name>
<files>
FANUCMachine.cs (delete),
FanucProgramManager.csproj → NcProgramManager.csproj (rename),
FanucProgramManager.sln → NcProgramManager.sln (rename),
FanucProgramManager.Tests/ → NcProgramManager.Tests/ (folder rename),
FanucProgramManager.Tests/FanucProgramManager.Tests.csproj → NcProgramManager.Tests/NcProgramManager.Tests.csproj (rename)
</files>
<action>
1. Delete `FANUCMachine.cs` — confirmed dead: no file outside itself references `FANUCMachine`. Also remove its `<Compile Include="FANUCMachine.cs" />` entry from csproj.
2. Rename project file:
```bash
mv FanucProgramManager.csproj NcProgramManager.csproj
```
3. Rename solution file:
```bash
mv FanucProgramManager.sln NcProgramManager.sln
```
4. Rename test folder (this moves all contents):
```bash
mv FanucProgramManager.Tests NcProgramManager.Tests
```
5. Rename test csproj inside the now-renamed folder:
```bash
mv NcProgramManager.Tests/FanucProgramManager.Tests.csproj NcProgramManager.Tests/NcProgramManager.Tests.csproj
```
Order matters: rename folder BEFORE renaming csproj inside it.
The .sln file was already updated in Task 2 to reference new paths — verify paths match after rename.
Avoid: renaming `Cnc/Fanuc/` folder or any Fanuc-prefixed class files — `FanucMachine`, `FanucConnectionConfig` etc. are manufacturer-specific names, keep them.
</action>
<verify>
```bash
ls NcProgramManager.csproj NcProgramManager.sln NcProgramManager.Tests/NcProgramManager.Tests.csproj
ls FANUCMachine.cs 2>&1 # must say: No such file
grep "FANUCMachine" NcProgramManager.csproj # must return nothing
```
</verify>
<done>AC-2 and AC-3 satisfied: files renamed, dead code deleted, .sln paths match physical files</done>
</task>
</tasks>
<boundaries>
## DO NOT CHANGE
- `Cnc/Fanuc/` folder name — Fanuc is a manufacturer name, not a project name
- `FanucMachine.cs`, `FanucConnectionConfig.cs`, `FanucCapabilities.cs` — manufacturer-specific class names, keep
- `FanucProgram.cs` — Fanuc ISO program format class, name is accurate
- `FanucProgramParsingTests.cs` — test file for FanucProgram, name is accurate
- `IFanucMachine.cs` — interface name correct (Fanuc-specific capability set)
- Any class name that describes Fanuc-specific behavior
## SCOPE LIMITS
- No Italian → English rename in this plan (deferred)
- No logic changes — pure rename/delete only
- No NuGet package changes
- No new files created
</boundaries>
<verification>
Before declaring plan complete:
- [ ] `grep -r "FanucProgramManager" --include="*.cs" .` returns zero results
- [ ] `grep -r "FanucProgramManager" --include="*.csproj" .` returns zero results
- [ ] `grep "FanucProgramManager" NcProgramManager.sln` returns zero results
- [ ] `ls FANUCMachine.cs` returns "No such file"
- [ ] `ls NcProgramManager.csproj NcProgramManager.sln NcProgramManager.Tests/` all exist
- [ ] All acceptance criteria met
</verification>
<success_criteria>
- All tasks completed
- All verification checks pass
- No FanucProgramManager references remain in .cs, .csproj, or .sln files
- FANUCMachine.cs deleted
- Project file names match NcProgramManager
</success_criteria>
<output>
After completion, create `.paul/phases/06-rename-cleanup/06-01-SUMMARY.md`
</output>

View file

@ -0,0 +1,102 @@
---
phase: 06-rename-cleanup
plan: 01
subsystem: infra
tags: [rename, namespace, csharp, dotnet472, cleanup]
requires: []
provides:
- NcProgramManager namespace across all 62 .cs files
- NcProgramManager.csproj / NcProgramManager.sln / NcProgramManager.Tests/
- FANUCMachine.cs deleted
affects: [07-license-core, 08-license-integration, 09-license-generator]
tech-stack:
added: []
patterns: []
key-files:
created: []
modified:
- NcProgramManager.csproj (was FanucProgramManager.csproj)
- NcProgramManager.sln (was FanucProgramManager.sln)
- NcProgramManager.Tests/NcProgramManager.Tests.csproj
- All 62 .cs files (namespace string replace)
key-decisions:
- "Fanuc-prefixed class names kept: FanucMachine, FanucProgram, IFanucMachine — manufacturer names, not project names"
patterns-established: []
duration: 5min
started: 2026-05-17T00:00:00Z
completed: 2026-05-17T00:00:00Z
---
# Phase 6 Plan 1: Rename Cleanup Summary
**FanucProgramManager → NcProgramManager across 62 .cs files, 3 project/solution files, test folder rename, FANUCMachine.cs deleted.**
## Performance
| Metric | Value |
|--------|-------|
| Duration | ~5 min |
| Started | 2026-05-17 |
| Completed | 2026-05-17 |
| Tasks | 3 completed |
| Files modified | 62 .cs + 3 project files + 1 folder rename + 1 file deleted |
## Acceptance Criteria Results
| Criterion | Status | Notes |
|-----------|--------|-------|
| AC-1: Namespace renamed everywhere | Pass | grep returns zero results across all .cs files |
| AC-2: Project/solution files updated | Pass | AssemblyName, RootNamespace, ProjectReference all updated; files renamed |
| AC-3: Dead code removed | Pass | FANUCMachine.cs deleted; Compile entry removed from csproj |
## Accomplishments
- All namespaces, using directives, AssemblyTitle, AssemblyProduct, InternalsVisibleTo updated in one sed pass
- Project and test folder physically renamed to match new name
- Zero FanucProgramManager strings remain in .cs, .csproj, or .sln
## Files Created/Modified
| File | Change | Purpose |
|------|--------|---------|
| All 62 `.cs` files | Modified | `FanucProgramManager``NcProgramManager` namespace/usings |
| `NcProgramManager.csproj` | Renamed + modified | AssemblyName + RootNamespace updated |
| `NcProgramManager.sln` | Renamed + modified | Project references updated |
| `NcProgramManager.Tests/NcProgramManager.Tests.csproj` | Renamed + modified | AssemblyName, RootNamespace, ProjectReference updated |
| `FANUCMachine.cs` | Deleted | Dead code — zero references outside itself |
## Decisions Made
| Decision | Rationale | Impact |
|----------|-----------|--------|
| Keep `FanucMachine`, `FanucProgram`, `IFanucMachine` names | These are manufacturer-specific identifiers, not project names | Future phases reference these names unchanged |
## Deviations from Plan
None — plan executed exactly as written.
## Issues Encountered
None.
## Next Phase Readiness
**Ready:**
- All code under `NcProgramManager` namespace
- Project builds under new name (pending Windows build verification)
- Clean foundation for license system phases
**Concerns:**
- Build not verifiable on Linux (fwlib32 Windows-only DLL) — same as before
**Blockers:** None
---
*Phase: 06-rename-cleanup, Plan: 01*
*Completed: 2026-05-17*

View file

@ -2,7 +2,7 @@
using System.IO;
using System.Security.Cryptography;
namespace FanucProgramManager
namespace NcProgramManager
{
class AesCrypt
{

View file

@ -1,11 +1,11 @@
using System;
using FanucProgramManager.Cnc.Fanuc;
using FanucProgramManager.Cnc.Heidenhain;
using FanucProgramManager.Cnc.Mitsubishi;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Siemens;
using NcProgramManager.Cnc.Fanuc;
using NcProgramManager.Cnc.Heidenhain;
using NcProgramManager.Cnc.Mitsubishi;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Siemens;
namespace FanucProgramManager.Cnc
namespace NcProgramManager.Cnc
{
internal static class CncMachineFactory
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
public sealed class FanucCapabilities
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
public enum FanucTransport
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
public enum FanucDialect
{

View file

@ -1,6 +1,6 @@
using FanucProgramManager;
using NcProgramManager;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal static class FanucDialectDetector
{

View file

@ -1,8 +1,8 @@
using System.Collections.Generic;
using FanucProgramManager;
using FanucProgramManager.Cnc.Models;
using NcProgramManager;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal static class FanucErrorTranslator
{

View file

@ -5,11 +5,11 @@ using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
public sealed class FanucMachine : IFanucMachine
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal static class FocasDialectFactory
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal interface IFocasDialect
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
public static class IsoProgramFormatter
{

View file

@ -1,6 +1,6 @@
using FanucProgramManager;
using NcProgramManager;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal sealed class LegacyFocasDialect : IFocasDialect
{

View file

@ -1,7 +1,7 @@
using System.Text;
using FanucProgramManager;
using NcProgramManager;
namespace FanucProgramManager.Cnc.Fanuc
namespace NcProgramManager.Cnc.Fanuc
{
internal sealed class ModernFocasDialect : IFocasDialect
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Heidenhain
namespace NcProgramManager.Cnc.Heidenhain
{
public sealed class HeidenhainConnectionConfig
{

View file

@ -3,10 +3,10 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc.Heidenhain
namespace NcProgramManager.Cnc.Heidenhain
{
public sealed class HeidenhainMachine : ICncMachine
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Heidenhain
namespace NcProgramManager.Cnc.Heidenhain
{
internal interface ILsv2Client
{

View file

@ -2,7 +2,7 @@ using System;
using System.Net.Sockets;
using System.Text;
namespace FanucProgramManager.Cnc.Heidenhain
namespace NcProgramManager.Cnc.Heidenhain
{
/// <summary>LSV2 protocol client for Heidenhain TNC controls.</summary>
internal sealed class Lsv2Client : ILsv2Client, IDisposable

View file

@ -1,9 +1,9 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc
namespace NcProgramManager.Cnc
{
public interface ICncMachine : IDisposable
{

View file

@ -1,8 +1,8 @@
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc
namespace NcProgramManager.Cnc
{
/// <summary>Fanuc-specific extensions: tool offset and work zero offset transfer.</summary>
public interface IFanucMachine : ICncMachine

View file

@ -1,6 +1,6 @@
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc
namespace NcProgramManager.Cnc
{
/// <summary>Validates NC program content before upload to a CNC controller.</summary>
public interface INcProgramValidator

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Mitsubishi
namespace NcProgramManager.Cnc.Mitsubishi
{
internal interface IMitsubishiFtpClient
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Mitsubishi
namespace NcProgramManager.Cnc.Mitsubishi
{
public sealed class MitsubishiConnectionConfig
{

View file

@ -3,7 +3,7 @@ using System.IO;
using System.Net;
using System.Text;
namespace FanucProgramManager.Cnc.Mitsubishi
namespace NcProgramManager.Cnc.Mitsubishi
{
/// <summary>FTP client for Mitsubishi M-series CNC program transfer.</summary>
internal sealed class MitsubishiFtpClient : IMitsubishiFtpClient

View file

@ -3,10 +3,10 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc.Mitsubishi
namespace NcProgramManager.Cnc.Mitsubishi
{
public sealed class MitsubishiMachine : ICncMachine
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public sealed class CncError
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum CncManufacturer { Fanuc, Heidenhain, Siemens, Mitsubishi }
}

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public sealed class CncProgram
{

View file

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
/// <summary>Result wrapper for all CNC operations.</summary>
public sealed class CncResult<T>

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum ConnectionState
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum MachineMode
{

View file

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public sealed class MachineSnapshot
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum MotionState
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum RunState
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public sealed class ValidationError
{

View file

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public sealed class ValidationResult
{

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Models
namespace NcProgramManager.Cnc.Models
{
public enum ValidationSeverity { Error, Warning }
}

View file

@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc
namespace NcProgramManager.Cnc
{
/// <summary>Validates NC program content per-manufacturer before upload.</summary>
public sealed class NcProgramValidator : INcProgramValidator

View file

@ -1,4 +1,4 @@
namespace FanucProgramManager.Cnc.Siemens
namespace NcProgramManager.Cnc.Siemens
{
internal interface ISiemensFtpClient
{

View file

@ -1,6 +1,6 @@
using System;
namespace FanucProgramManager.Cnc.Siemens
namespace NcProgramManager.Cnc.Siemens
{
public sealed class SiemensConnectionConfig
{

View file

@ -3,7 +3,7 @@ using System.IO;
using System.Net;
using System.Text;
namespace FanucProgramManager.Cnc.Siemens
namespace NcProgramManager.Cnc.Siemens
{
/// <summary>FTP client for Siemens Sinumerik CNC program transfer.</summary>
internal sealed class SiemensFtpClient : ISiemensFtpClient

View file

@ -3,10 +3,10 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Cnc.Siemens
namespace NcProgramManager.Cnc.Siemens
{
public sealed class SiemensMachine : ICncMachine
{

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
using System;
using System.Text.RegularExpressions;
namespace FanucProgramManager
namespace NcProgramManager
{
internal class FanucProgram
{

View file

@ -1,6 +1,6 @@
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager
namespace NcProgramManager
{
internal class InputArgs
{

View file

@ -1,10 +1,10 @@
using System;
using NUnit.Framework;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Heidenhain;
using FanucProgramManager.Tests.Integration.Stubs;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Heidenhain;
using NcProgramManager.Tests.Integration.Stubs;
namespace FanucProgramManager.Tests.Integration
namespace NcProgramManager.Tests.Integration
{
[TestFixture]
[Category("Integration")]

View file

@ -1,10 +1,10 @@
using System;
using NUnit.Framework;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Mitsubishi;
using FanucProgramManager.Tests.Integration.Stubs;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Mitsubishi;
using NcProgramManager.Tests.Integration.Stubs;
namespace FanucProgramManager.Tests.Integration
namespace NcProgramManager.Tests.Integration
{
[TestFixture]
[Category("Integration")]

View file

@ -1,10 +1,10 @@
using System;
using NUnit.Framework;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Siemens;
using FanucProgramManager.Tests.Integration.Stubs;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Siemens;
using NcProgramManager.Tests.Integration.Stubs;
namespace FanucProgramManager.Tests.Integration
namespace NcProgramManager.Tests.Integration
{
[TestFixture]
[Category("Integration")]

View file

@ -6,7 +6,7 @@ using System.Net.Sockets;
using System.Text;
using System.Threading;
namespace FanucProgramManager.Tests.Integration.Stubs
namespace NcProgramManager.Tests.Integration.Stubs
{
/// <summary>
/// Minimal in-process FTP server using passive mode.

View file

@ -6,7 +6,7 @@ using System.Net.Sockets;
using System.Text;
using System.Threading;
namespace FanucProgramManager.Tests.Integration.Stubs
namespace NcProgramManager.Tests.Integration.Stubs
{
/// <summary>
/// Minimal in-process LSV2 server.

View file

@ -7,8 +7,8 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>FanucProgramManager.Tests</RootNamespace>
<AssemblyName>FanucProgramManager.Tests</AssemblyName>
<RootNamespace>NcProgramManager.Tests</RootNamespace>
<AssemblyName>NcProgramManager.Tests</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
@ -46,9 +46,9 @@
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FanucProgramManager.csproj">
<ProjectReference Include="..\NcProgramManager.csproj">
<Project>{1032188B-3321-42B2-87ED-343BF718CAF5}</Project>
<Name>FanucProgramManager</Name>
<Name>NcProgramManager</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>

View file

@ -1,12 +1,12 @@
using NUnit.Framework;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Fanuc;
using FanucProgramManager.Cnc.Heidenhain;
using FanucProgramManager.Cnc.Mitsubishi;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Siemens;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Fanuc;
using NcProgramManager.Cnc.Heidenhain;
using NcProgramManager.Cnc.Mitsubishi;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Siemens;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class CncMachineFactoryTests

View file

@ -1,10 +1,10 @@
using System;
using NUnit.Framework;
using Moq;
using FanucProgramManager.Cnc.Fanuc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Fanuc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
/// <summary>
/// FanucMachine calls real FOCAS DLL in ConnectCore and most methods guard

View file

@ -1,7 +1,7 @@
using NUnit.Framework;
using FanucProgramManager;
using NcProgramManager;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class FanucProgramParsingTests

View file

@ -1,11 +1,11 @@
using System;
using NUnit.Framework;
using Moq;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Heidenhain;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Heidenhain;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class HeidenhainMachineTests

View file

@ -1,7 +1,7 @@
using NUnit.Framework;
using FanucProgramManager.Cnc.Fanuc;
using NcProgramManager.Cnc.Fanuc;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class IsoProgramFormatterTests

View file

@ -1,11 +1,11 @@
using System;
using NUnit.Framework;
using Moq;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Mitsubishi;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Mitsubishi;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class MitsubishiMachineTests

View file

@ -1,8 +1,8 @@
using NUnit.Framework;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class NcProgramValidatorTests

View file

@ -1,11 +1,11 @@
using System;
using NUnit.Framework;
using Moq;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using FanucProgramManager.Cnc.Siemens;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
using NcProgramManager.Cnc.Siemens;
namespace FanucProgramManager.Tests.Unit
namespace NcProgramManager.Tests.Unit
{
[TestFixture]
public class SiemensMachineTests

View file

@ -6,8 +6,8 @@
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1032188B-3321-42B2-87ED-343BF718CAF5}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>FanucProgramManager</RootNamespace>
<AssemblyName>FanucProgramManager</AssemblyName>
<RootNamespace>NcProgramManager</RootNamespace>
<AssemblyName>NcProgramManager</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
@ -75,7 +75,6 @@
<Compile Include="AesCrypt.cs" />
<Compile Include="FanucProgram.cs" />
<Compile Include="InputArgs.cs" />
<Compile Include="FANUCMachine.cs" />
<Compile Include="fwlib32.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

View file

@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33414.496
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FanucProgramManager", "FanucProgramManager.csproj", "{1032188B-3321-42B2-87ED-343BF718CAF5}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NcProgramManager", "NcProgramManager.csproj", "{1032188B-3321-42B2-87ED-343BF718CAF5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FanucProgramManager.Tests", "FanucProgramManager.Tests\FanucProgramManager.Tests.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NcProgramManager.Tests", "NcProgramManager.Tests\NcProgramManager.Tests.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View file

@ -4,10 +4,10 @@ using System.IO;
using System.Management;
using System.Security.Cryptography;
using System.Text.RegularExpressions;
using FanucProgramManager.Cnc;
using FanucProgramManager.Cnc.Models;
using NcProgramManager.Cnc;
using NcProgramManager.Cnc.Models;
namespace FanucProgramManager
namespace NcProgramManager
{
internal class Program
{

View file

@ -2,17 +2,17 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo("FanucProgramManager.Tests")]
[assembly: InternalsVisibleTo("NcProgramManager.Tests")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
// Le informazioni generali relative a un assembly sono controllate dal seguente
// set di attributi. Modificare i valori di questi attributi per modificare le informazioni
// associate a un assembly.
[assembly: AssemblyTitle("FanucProgramManager")]
[assembly: AssemblyTitle("NcProgramManager")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FanucProgramManager")]
[assembly: AssemblyProduct("NcProgramManager")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]