# START HERE - GeViScope Configuration Reader

This tool reads GeViScope server configuration and exports it to human-readable JSON format.

## ⚠️ Prerequisites Required

You need to install build tools before you can use this application.

### What to Install

1. **.NET SDK 8.0** (provides `dotnet` command)
2. **.NET Framework 4.8 Developer Pack** (provides targeting libraries)

### How to Install

#### Quick Links (Download both):

**Download 1:** .NET SDK 8.0
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-8.0.404-windows-x64-installer

**Download 2:** .NET Framework 4.8 Developer Pack
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/net48-developer-pack-offline-installer

#### Installation Steps:

1. Run both installers (in any order)
2. Click through the installation wizards
3. **Close and reopen** your terminal after installation
4. Verify installation: `dotnet --version` (should show 8.0.xxx)

**Total time:** About 5-10 minutes

**Full instructions:** See `C:\DEV\COPILOT\DOTNET_INSTALLATION_GUIDE.md`

---

## 🔨 How to Build

After installing the prerequisites above:

### Option 1: Use the build script
```cmd
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
build.bat
```

### Option 2: Build manually
```cmd
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
dotnet restore
dotnet build
```

**Output location:** `bin\Debug\net48\GeViScopeConfigReader.exe`

---

## ▶️ How to Run

### Step 1: Start GeViScope Server

```cmd
cd "C:\Program Files (x86)\GeViScopeSDK\BIN"
GSCServer.exe
```

Leave this running in a separate window.

### Step 2: Run the Configuration Reader

#### Option 1: Use the run script
```cmd
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
run.bat
```

#### Option 2: Run manually
```cmd
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader\bin\Debug\net48
GeViScopeConfigReader.exe
```

#### Option 3: Run with custom parameters
```cmd
GeViScopeConfigReader.exe <server> <username> <password> <output.json>
```

**Example:**
```cmd
GeViScopeConfigReader.exe 192.168.1.100 admin mypassword config.json
```

---

## 📄 Output

The tool creates a JSON file (default: `geviScope_config.json`) with the complete server configuration:

```json
{
  "System": {
    "MediaChannels": {
      "0000": {
        "Name": "Camera 1",
        "Enabled": true,
        "GlobalNumber": 1
      }
    },
    "Users": {
      "SysAdmin": {
        "Name": "System Administrator",
        "Password": "abe6db4c9f5484fae8d79f2e868a673c",
        "Enabled": true
      }
    }
  }
}
```

You can open this file in any text editor or process it programmatically.

---

## 📚 Documentation

- **QUICK_START.md** - Step-by-step tutorial with examples
- **README.md** - Detailed documentation and API reference
- **Program.cs** - Source code with comments
- **C:\DEV\COPILOT\DOTNET_INSTALLATION_GUIDE.md** - Full installation guide

---

## ✅ Quick Checklist

- [ ] Install .NET SDK 8.0
- [ ] Install .NET Framework 4.8 Developer Pack
- [ ] Close and reopen terminal
- [ ] Run `build.bat` or `dotnet build`
- [ ] Start GeViScope Server (GSCServer.exe)
- [ ] Run `run.bat` or `GeViScopeConfigReader.exe`
- [ ] View the output JSON file

---

## 🎯 Why This Approach?

Instead of parsing binary .set files (which is complex and fragile), this tool:

✓ Uses the **official GeViScope SDK**
✓ Connects directly to the **running server**
✓ Reads configuration in **documented format**
✓ Exports to **human-readable JSON**
✓ Works with **any GeViScope version**

**Result:** Clean, reliable, maintainable configuration access!

---

## ❓ Troubleshooting

### "dotnet: command not found"
- Install .NET SDK 8.0 (see links above)
- Close and reopen your terminal

### "Could not find SDK for TargetFramework"
- Install .NET Framework 4.8 Developer Pack (see links above)

### "Failed to connect to server"
- Start GeViScope Server: `C:\Program Files (x86)\GeViScopeSDK\BIN\GSCServer.exe`
- Check server hostname/IP
- Verify username and password

### DLL not found errors
- Ensure GeViScope SDK is installed
- Check paths in GeViScopeConfigReader.csproj

---

## 🚀 Next Steps

Once you have the configuration exported:

1. **Examine the JSON** - Understand your server configuration
2. **Backup configurations** - Export before making changes
3. **Compare configurations** - Diff between servers or versions
4. **Automate management** - Build tools to modify configuration programmatically

See QUICK_START.md and README.md for code examples!

---

**Ready to start?** Install the prerequisites above, then run `build.bat`!
