Lifecycle¶
GetInfo¶
Returns plugin metadata. Called immediately after loading to verify compatibility.
When is this called?
Called before Initialize. Must not perform connection setup.
Request¶
This method takes no parameters.
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
✅ | Display name of the plugin. |
vendor |
string |
Company or author name. | |
version |
string |
✅ | Plugin version (semver recommended). |
apiVersion |
integer |
✅ | API version the plugin was built against. Currently 1. |
capabilities |
array<string> |
✅ | List of method names this plugin supports (camelCase). |
menus |
array<MenuItem> |
Menu items to add to HydroSym's UI. | |
hasSettings |
boolean |
If true, HydroSym adds a Settings item to the plugin menu. |
Example¶
"name": "Acme ERP Connector", "vendor": "Acme Engineering B.V.", "version": "1.0.0", "apiVersion": 1, "capabilities": ["getComponentParameters", "uploadBom", "getProjectVariables", "setProjectVariables"], "menus": [/ MenuItem /], "hasSettings": true } } ```
C# Override¶
public override GetInfoResponse GetInfo(EmptyRequest request)
{
// return new GetInfoResponse { Name = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response
Initialize¶
Establish connections and load configuration.
When is this called?
Called once after GetInfo. Plugin should connect to databases, authenticate, etc.
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
hydrosymVersion |
string |
✅ | HydroSym version string. |
configPath |
string |
Path to plugin-specific configuration file. | |
hydrosymDataPath |
string |
✅ | Path to HydroSym's data directory. |
mainWindowHandle |
integer |
✅ | HWND of HydroSym's main window. |
windowsUser |
string |
✅ | Current Windows username. |
windowsDomain |
string |
Windows domain name, if domain-joined. |
Response¶
This method returns no data on success.
Example¶
```json { "method": "Initialize", "request": {
"hydrosymVersion": "2025.55.0.0", "configPath": "C:\ProgramData\HydroSym\plugins\acme.ini", "hydrosymDataPath": "C:\ProgramData\HydroSym", "mainWindowHandle": 131072, "windowsUser": "wouter", "windowsDomain": "ACME" } } ```
C# Override¶
public override EmptyResponse Initialize(InitializeRequest request)
{
// nothing to return
throw new NotImplementedException();
}
JSON Schemas: Request · Response
Finalize¶
Close connections and release resources.
When is this called?
Called when HydroSym shuts down. No methods called after this.
Request¶
This method takes no parameters.
Response¶
This method returns no data on success.
Example¶
C# Override¶
public override EmptyResponse Finalize(EmptyRequest request)
{
// nothing to return
throw new NotImplementedException();
}
JSON Schemas: Request · Response