Files
Administrator 14893e62a5 feat: Geutebruck GeViScope/GeViSoft Action Mapping System - MVP
This MVP release provides a complete full-stack solution for managing action mappings
in Geutebruck's GeViScope and GeViSoft video surveillance systems.

## Features

### Flutter Web Application (Port 8081)
- Modern, responsive UI for managing action mappings
- Action picker dialog with full parameter configuration
- Support for both GSC (GeViScope) and G-Core server actions
- Consistent UI for input and output actions with edit/delete capabilities
- Real-time action mapping creation, editing, and deletion
- Server categorization (GSC: prefix for GeViScope, G-Core: prefix for G-Core servers)

### FastAPI REST Backend (Port 8000)
- RESTful API for action mapping CRUD operations
- Action template service with comprehensive action catalog (247 actions)
- Server management (G-Core and GeViScope servers)
- Configuration tree reading and writing
- JWT authentication with role-based access control
- PostgreSQL database integration

### C# SDK Bridge (gRPC, Port 50051)
- Native integration with GeViSoft SDK (GeViProcAPINET_4_0.dll)
- Action mapping creation with correct binary format
- Support for GSC and G-Core action types
- Proper Camera parameter inclusion in action strings (fixes CrossSwitch bug)
- Action ID lookup table with server-specific action IDs
- Configuration reading/writing via SetupClient

## Bug Fixes
- **CrossSwitch Bug**: GSC and G-Core actions now correctly display camera/PTZ head parameters in GeViSet
- Action strings now include Camera parameter: `@ PanLeft (Comment: "", Camera: 101028)`
- Proper filter flags and VideoInput=0 for action mappings
- Correct action ID assignment (4198 for GSC, 9294 for G-Core PanLeft)

## Technical Stack
- **Frontend**: Flutter Web, Dart, Dio HTTP client
- **Backend**: Python FastAPI, PostgreSQL, Redis
- **SDK Bridge**: C# .NET 8.0, gRPC, GeViSoft SDK
- **Authentication**: JWT tokens
- **Configuration**: GeViSoft .set files (binary format)

## Credentials
- GeViSoft/GeViScope: username=sysadmin, password=masterkey
- Default admin: username=admin, password=admin123

## Deployment
All services run on localhost:
- Flutter Web: http://localhost:8081
- FastAPI: http://localhost:8000
- SDK Bridge gRPC: localhost:50051
- GeViServer: localhost (default port)

Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 18:10:54 +01:00

1610 lines
70 KiB
HTML

<!DOCTYPE html>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" lang="en" xml:lang="en" data-mc-search-type="Stem" data-mc-help-system-file-name="index.xml" data-mc-path-to-help-system="../../" data-mc-target-type="WebHelp2" data-mc-runtime-file-type="Topic" data-mc-preload-images="false" data-mc-in-preview-mode="false" data-mc-toc-path="GeViScope SDK|Action documentation">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>System actions</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/TextEffects.css" rel="stylesheet" />
<link href="../../Skins/Default/Stylesheets/Topic.css" rel="stylesheet" />
<link href="../Resources/Stylesheets/Styles.css" rel="stylesheet" />
<script src="../../Resources/Scripts/jquery.min.js">
</script>
<script src="../../Resources/Scripts/plugins.min.js">
</script>
<script src="../../Resources/Scripts/require.min.js">
</script>
<script src="../../Resources/Scripts/require.config.js">
</script>
<script src="../../Resources/Scripts/MadCapAll.js">
</script>
</head>
<body>
<div class="MCBreadcrumbsBox_0"><span class="MCBreadcrumbsPrefix">| </span><a class="MCBreadcrumbsLink" href="../Titel.htm">GeViScope SDK</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="../300_Action documentation.htm">Action documentation</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">System actions</span>
</div>
<h1>System actions</h1>
<p>All actions describing system behaviour.</p>
<p>&#160;</p>
<h2><a name="Custom"></a>Custom action</h2>
<p>Action name:CustomAction(Int, String)</p>
<p>Action category: logical</p>
<p>This action has no side effects and can be used for customer purposes.</p>
<table style="caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">INT parameter
</td>
<td class="BodyE-Column1-Body1">Int
</td>
<td class="BodyD-Column1-Body1">Numeric parameter.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">STRING parameter
</td>
<td class="BodyE-Column1-Body2">String
</td>
<td class="BodyD-Column1-Body2">Literal parameter.
</td>
</tr>
</table>
<h2><a name="Database"></a>Database recording info per ring</h2>
<p>Action name:DatabaseRecordingInfoRing(DatabaseRing, NoVideoRecording, NoAudioRecording, NoRecordingAtAll, VideoSamplesPerSecond, VideoMBPerSecond, AudioSamplesPerSecond, AudioMBPerSecond, WriteWaitTimesPercent, RingCapacity, OldestItem, RecordingDepth, EstimatedRequiredCapacity)</p>
<p>Action category: logical</p>
<p>Database recording info per ring.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">database ring
</td>
<td class="BodyE-Column1-Body1">DatabaseRing
</td>
<td class="BodyD-Column1-Body1">Database ring.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">no video recording
</td>
<td class="BodyE-Column1-Body2">NoVideoRecording
</td>
<td class="BodyD-Column1-Body2">Video is recording or not.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">no audio recording
</td>
<td class="BodyE-Column1-Body1">NoAudioRecording
</td>
<td class="BodyD-Column1-Body1">Audio is recording or not.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">no recording
</td>
<td class="BodyE-Column1-Body2">NoRecordingAtAll
</td>
<td class="BodyD-Column1-Body2">Video and/or audio is recording or not.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">video samples/s
</td>
<td class="BodyE-Column1-Body1">VideoSamplesPerSecond
</td>
<td class="BodyD-Column1-Body1">Video samples per second.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">video samples MB/s
</td>
<td class="BodyE-Column1-Body2">VideoMBPerSecond
</td>
<td class="BodyD-Column1-Body2">Video MB per second.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">audio samples/s
</td>
<td class="BodyE-Column1-Body1">AudioSamplesPerSecond
</td>
<td class="BodyD-Column1-Body1">Audio samples per second.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">audio samples MB/s
</td>
<td class="BodyE-Column1-Body2">AudioMBPerSecond
</td>
<td class="BodyD-Column1-Body2">Audio MB per second.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">write wait %
</td>
<td class="BodyE-Column1-Body1">WriteWaitTimesPercent
</td>
<td class="BodyD-Column1-Body1">Write wait times in percent.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">ring capacity
</td>
<td class="BodyE-Column1-Body2">RingCapacity
</td>
<td class="BodyD-Column1-Body2">Ring capacity.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">oldest item
</td>
<td class="BodyE-Column1-Body1">OldestItem
</td>
<td class="BodyD-Column1-Body1">Time stamp of the oldest item.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">recording depth
</td>
<td class="BodyE-Column1-Body2">RecordingDepth
</td>
<td class="BodyD-Column1-Body2">Recording depth in hours.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">estimated required capacity
</td>
<td class="BodyE-Column1-Body1">EstimatedRequiredCapacity
</td>
<td class="BodyD-Column1-Body1">Estimated required capacity.
</td>
</tr>
</table>
<h2>Database recording info total</h2>
<p>Action name:DatabaseRecordingInfoTotal(NoVideoRecording, NoAudioRecording, NoRecordingAtAll, VideoSamplesPerSecond, VideoMBPerSecond, AudioSamplesPerSecond, AudioMBPerSecond, WriteWaitTimesPercent, TotalCapacity, FreeCapacity, AllocatedCapacity, OldestItem, RecordingDepth, EstimatedRequiredCapacity, RequiredCapacityFactor, RequiredCapacityAvailable)</p>
<p>Action category: logical</p>
<p>Database recording info total.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">no video recording
</td>
<td class="BodyE-Column1-Body1">NoVideoRecording
</td>
<td class="BodyD-Column1-Body1">Video is recording or not.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">no audio recording
</td>
<td class="BodyE-Column1-Body2">NoAudioRecording
</td>
<td class="BodyD-Column1-Body2">Audio is recording or not.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">no recording
</td>
<td class="BodyE-Column1-Body1">NoRecordingAtAll
</td>
<td class="BodyD-Column1-Body1">Video and/or audio is recording or not.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">video samples/s
</td>
<td class="BodyE-Column1-Body2">VideoSamplesPerSecond
</td>
<td class="BodyD-Column1-Body2">Video samples per second.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">video samples MB/s
</td>
<td class="BodyE-Column1-Body1">VideoMBPerSecond
</td>
<td class="BodyD-Column1-Body1">Video MB per second.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">audio samples/s
</td>
<td class="BodyE-Column1-Body2">AudioSamplesPerSecond
</td>
<td class="BodyD-Column1-Body2">Audio samples per second.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">audio samples MB/s
</td>
<td class="BodyE-Column1-Body1">AudioMBPerSecond
</td>
<td class="BodyD-Column1-Body1">Audio MB per second.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">write wait %
</td>
<td class="BodyE-Column1-Body2">WriteWaitTimesPercent
</td>
<td class="BodyD-Column1-Body2">Write wait times in percent.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">total capacity
</td>
<td class="BodyE-Column1-Body1">TotalCapacity
</td>
<td class="BodyD-Column1-Body1">Total capacity.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">free capacity
</td>
<td class="BodyE-Column1-Body2">FreeCapacity
</td>
<td class="BodyD-Column1-Body2">Free capacity.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">allocated capacity
</td>
<td class="BodyE-Column1-Body1">AllocatedCapacity
</td>
<td class="BodyD-Column1-Body1">Allocated capacity.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">oldest item
</td>
<td class="BodyE-Column1-Body2">OldestItem
</td>
<td class="BodyD-Column1-Body2">Time stamp of the oldest item.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">recording depth
</td>
<td class="BodyE-Column1-Body1">RecordingDepth
</td>
<td class="BodyD-Column1-Body1">Recording depth in hours.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">estimated required capacity
</td>
<td class="BodyE-Column1-Body2">EstimatedRequiredCapacity
</td>
<td class="BodyD-Column1-Body2">Estimated required capacity.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">required capacity factor
</td>
<td class="BodyE-Column1-Body1">RequiredCapacityFactor
</td>
<td class="BodyD-Column1-Body1">Required capacity factor.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">required capacity available
</td>
<td class="BodyE-Column1-Body2">RequiredCapacityAvailable
</td>
<td class="BodyD-Column1-Body2">Required capacity available.
</td>
</tr>
</table>
<h2>Database started</h2>
<p>Action name:DatabaseStarted(Status, TotalSize)</p>
<p>Action category: logical</p>
<p>This action will be fired at the database start-up.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">status
</td>
<td class="BodyE-Column1-Body1">Status
</td>
<td class="BodyD-Column1-Body1">Database status message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">total size
</td>
<td class="BodyE-Column1-Body2">TotalSize
</td>
<td class="BodyD-Column1-Body2">Database total size.
</td>
</tr>
</table>
<h2><a name="Event"></a>Event recording changed</h2>
<p>Action name:EventRecordingChanged(EventID, TypeID)</p>
<p>Action category: logical</p>
<p>Event recording settings are changed.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID
</td>
<td class="BodyE-Column1-Body1">EventID
</td>
<td class="BodyD-Column1-Body1">Instance ID of the event.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type
</td>
<td class="BodyE-Column1-Body2">TypeID
</td>
<td class="BodyD-Column1-Body2">Type of the event.
</td>
</tr>
</table>
<h2>Event started</h2>
<p>Action name:EventStarted(EventID, TypeID, ForeignKey)</p>
<p>Action category: logical</p>
<p>Event has started.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID
</td>
<td class="BodyE-Column1-Body1">EventID
</td>
<td class="BodyD-Column1-Body1">Instance ID of the event.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type
</td>
<td class="BodyE-Column1-Body2">TypeID
</td>
<td class="BodyD-Column1-Body2">Type of the event.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">foreign key
</td>
<td class="BodyE-Column1-Body1">ForeignKey
</td>
<td class="BodyD-Column1-Body1">Optional foreign key used to start the alarm.
</td>
</tr>
</table>
<h2>Event stopped</h2>
<p>Action name:EventStopped(EventID, TypeID)</p>
<p>Action category: logical</p>
<p>Event has stopped.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID
</td>
<td class="BodyE-Column1-Body1">EventID
</td>
<td class="BodyD-Column1-Body1">Instance ID of the event.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">event type
</td>
<td class="BodyE-Column1-Body2">TypeID
</td>
<td class="BodyD-Column1-Body2">Type of the event.
</td>
</tr>
</table>
<h2><a name="FRC"></a>FRC notification</h2>
<p>Action name:FRCNotification(Notification, Param, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>FRC notification.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">notification
</td>
<td class="BodyE-Column1-Body1">Notification
</td>
<td class="BodyD-Column1-Body1">Notification reason.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">param
</td>
<td class="BodyE-Column1-Body2">Param
</td>
<td class="BodyD-Column1-Body2">Additional parameter.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description
</td>
<td class="BodyE-Column1-Body1">Description
</td>
<td class="BodyD-Column1-Body1">Optional notification text.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">additional info
</td>
<td class="BodyE-Column1-Body2">XMLInfo
</td>
<td class="BodyD-Column1-Body2">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2><a name="GEMOS"></a>GEMOS alarm</h2>
<p>Action name:GEMOSalarm(GEMOSkey, GEMOSint, GEMOSstr)</p>
<p>Action category: logical</p>
<p>GEMOS alarm notification.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">GEMOS key
</td>
<td class="BodyE-Column1-Body1">GEMOSkey
</td>
<td class="BodyD-Column1-Body1">GEMOS alarm key.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">GEMOS int
</td>
<td class="BodyE-Column1-Body2">GEMOSint
</td>
<td class="BodyD-Column1-Body2">GEMOS alarm integer parameter.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">GEMOS str
</td>
<td class="BodyE-Column1-Body1">GEMOSstr
</td>
<td class="BodyD-Column1-Body1">GEMOS alarm string parameter.
</td>
</tr>
</table>
<h2><a name="Kill"></a>Kill all events</h2>
<p>Action name:KillAllEvents()</p>
<p>Action category: logical</p>
<p>Kill all active events.</p>
<h2>Kill event</h2>
<p>Action name:KillEvent(TypeID)</p>
<p>Action category: logical</p>
<p>Kill event.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">event type
</td>
<td class="BodyE-Column1-Body1">TypeID
</td>
<td class="BodyD-Column1-Body1">Type of the event.
</td>
</tr>
</table>
<h2>Kill event by instance</h2>
<p>Action name:KillEventByID(EventID)</p>
<p>Action category: logical</p>
<p>Kill event by instance ID.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID
</td>
<td class="BodyE-Column1-Body1">EventID
</td>
<td class="BodyD-Column1-Body1">Instance ID of the event.
</td>
</tr>
</table>
<h2><a name="Live"></a>Live check</h2>
<p>Action name:LiveCheck(Counter, Date)</p>
<p>Action category: logical</p>
<p>This action will be fired every 10 seconds and intended for use as live check.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">counter
</td>
<td class="BodyE-Column1-Body1">Counter
</td>
<td class="BodyD-Column1-Body1">This is the number of already fired live check actions.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2">Date
</td>
<td class="BodyD-Column1-Body2">Current server time.
</td>
</tr>
</table>
<h2><a name="Set2"></a>Set clock</h2>
<p>Action name:SetClock(Date)</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Set clock.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">current time </td>
<td class="BodyE-Column1-Body1">Date</td>
<td class="BodyD-Column1-Body1">Current time.
</td>
</tr>
</table>
<h2><a name="Setup"></a>Setup changed</h2>
<p>Action name:SetupChanged(User, Host, Date, ResourceKind, ResourceID, ChangeKind, Details, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: logical</p>
<p>Setup changed.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">user name
</td>
<td class="BodyE-Column1-Body1">User
</td>
<td class="BodyD-Column1-Body1">Name of the user modified the setup.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">remote host
</td>
<td class="BodyE-Column1-Body2">Host
</td>
<td class="BodyD-Column1-Body2">Host from where the connection was done.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">current time
</td>
<td class="BodyE-Column1-Body1">Date
</td>
<td class="BodyD-Column1-Body1">Current time.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">resource kind
</td>
<td class="BodyE-Column1-Body2">ResourceKind
</td>
<td class="BodyD-Column1-Body2">Modified resource kind.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">resource ID
</td>
<td class="BodyE-Column1-Body1">ResourceID
</td>
<td class="BodyD-Column1-Body1">Modified resource ID.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">change kind
</td>
<td class="BodyE-Column1-Body2">ChangeKind
</td>
<td class="BodyD-Column1-Body2">Change kind.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">details
</td>
<td class="BodyE-Column1-Body1">Details
</td>
<td class="BodyD-Column1-Body1">Details of the modification.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client host
</td>
<td class="BodyE-Column1-Body2">ClientHost
</td>
<td class="BodyD-Column1-Body2">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">client type
</td>
<td class="BodyE-Column1-Body1">ClientType
</td>
<td class="BodyD-Column1-Body1">Client type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client account
</td>
<td class="BodyE-Column1-Body2">ClientAccount
</td>
<td class="BodyD-Column1-Body2">User account from where the connection is done.
</td>
</tr>
</table>
<h2>Setup upload progress</h2>
<p>Action name:SetupUploadProgress(User1, User2, Host, Progress, Date)</p>
<p>Action category: logical</p>
<p>Setup upload progress.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">first user
</td>
<td class="BodyE-Column1-Body1">User1
</td>
<td class="BodyD-Column1-Body1">Name of the user modified the setup.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">second user
</td>
<td class="BodyE-Column1-Body2">User2
</td>
<td class="BodyD-Column1-Body2">Name of the second user by four eyes authentication.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">remote host
</td>
<td class="BodyE-Column1-Body1">Host
</td>
<td class="BodyD-Column1-Body1">Host from where the connection was done.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">progress %
</td>
<td class="BodyE-Column1-Body2">Progress
</td>
<td class="BodyD-Column1-Body2">Progress in percent.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">current time
</td>
<td class="BodyE-Column1-Body1">Date
</td>
<td class="BodyD-Column1-Body1">Current stage time.
</td>
</tr>
</table>
<h2><a name="Set"></a>Set watchdog</h2>
<p>Action name:SetWatchdog(Timeout)</p>
<p>Action category: logical</p>
<p>Set watchdog.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">timeout
</td>
<td class="BodyE-Column1-Body1">Timeout
</td>
<td class="BodyD-Column1-Body1">Timeout in seconds, before the watchdog must be retriggered and before the hardware watchdog will set the hardware contact.
</td>
</tr>
</table>
<h2><a name="SMRP"></a>SMRP viewer cleared</h2>
<p>Action name:SMRPViewerCleared()</p>
<p>Action category: logical</p>
<p>SMRP viewer cleared.</p>
<h2>SMRP viewer connected</h2>
<p>Action name:SMRPViewerConnected(Server, Channel)</p>
<p>Action category: logical</p>
<p>SMRP viewer connected to the camera.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">server
</td>
<td class="BodyE-Column1-Body1">Server
</td>
<td class="BodyD-Column1-Body1">Server name.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel
</td>
<td class="BodyE-Column1-Body2">Channel
</td>
<td class="BodyD-Column1-Body2">Channel.
</td>
</tr>
</table>
<h2><a name="SMTP"></a>SMTP mail</h2>
<p>Action name:SMTPMailSend(Subject, To, Cc, Body, Channel)</p>
<p>Action category: logical</p>
<p>This action will send a user defined email if GscMail is connected</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">subject
</td>
<td class="BodyE-Column1-Body1">Subject
</td>
<td class="BodyD-Column1-Body1">Mail subject.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">to
</td>
<td class="BodyE-Column1-Body2">To
</td>
<td class="BodyD-Column1-Body2">Mail recepients.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cc
</td>
<td class="BodyE-Column1-Body1">Cc
</td>
<td class="BodyD-Column1-Body1">Carbon copy recepients.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">body
</td>
<td class="BodyE-Column1-Body2">Body
</td>
<td class="BodyD-Column1-Body2">Mail body.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
</table>
<h2><a name="Start"></a>Start event</h2>
<p>Action name:StartEvent(TypeID, ForeignKey)</p>
<p>Action category: logical</p>
<p>Start event.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">event type
</td>
<td class="BodyE-Column1-Body1">TypeID
</td>
<td class="BodyD-Column1-Body1">Type of the event.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">foreign key
</td>
<td class="BodyE-Column1-Body2">ForeignKey
</td>
<td class="BodyD-Column1-Body2">Optional foreign key used to store for the alarm.
</td>
</tr>
</table>
<h2><a name="Stop"></a>Stop all events</h2>
<p>Action name:StopAllEvents()</p>
<p>Action category: logical</p>
<p>Stop all active events.</p>
<h2><a name="Stop2"></a>Stop event</h2>
<p>Action name:StopEvent(TypeID)</p>
<p>Action category: logical</p>
<p>Stop event.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">event type
</td>
<td class="BodyE-Column1-Body1">TypeID
</td>
<td class="BodyD-Column1-Body1">Type of the event.
</td>
</tr>
</table>
<h2><a name="Stop3"></a>Stop event by instance</h2>
<p>Action name:StopEventByID(EventID)</p>
<p>Action category: logical</p>
<p>Stop event by instance ID.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID
</td>
<td class="BodyE-Column1-Body1">EventID
</td>
<td class="BodyD-Column1-Body1">Instance ID of the event.
</td>
</tr>
</table>
<h2><a name="System"></a>System error</h2>
<p>Action name:SystemError(Source, Message, WindowsError, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify system error.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Windows error code
</td>
<td class="BodyE-Column1-Body1">WindowsError
</td>
<td class="BodyD-Column1-Body1">Optional Windows error code.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">description
</td>
<td class="BodyE-Column1-Body2">Description
</td>
<td class="BodyD-Column1-Body2">Optional description of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">additional info
</td>
<td class="BodyE-Column1-Body1">XMLInfo
</td>
<td class="BodyD-Column1-Body1">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2>System info</h2>
<p>Action name:SystemInfo(Source, Message, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify system information.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description
</td>
<td class="BodyE-Column1-Body1">Description
</td>
<td class="BodyD-Column1-Body1">Optional description of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">additional info
</td>
<td class="BodyE-Column1-Body2">XMLInfo
</td>
<td class="BodyD-Column1-Body2">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2>System settings changed</h2>
<p>Action name:SystemSettingsChanged(SetupChanged, User1, User2, Host, TimeRangeChanged, TimeRange, LicenceChanged, Date)</p>
<p>Action category: logical</p>
<p>Setup of the system and/or the current time range changed.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">setup changed
</td>
<td class="BodyE-Column1-Body1">SetupChanged
</td>
<td class="BodyD-Column1-Body1">System setup has changed.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">first user
</td>
<td class="BodyE-Column1-Body2">User1
</td>
<td class="BodyD-Column1-Body2">Name of the user modified the setup.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">second user
</td>
<td class="BodyE-Column1-Body1">User2
</td>
<td class="BodyD-Column1-Body1">Name of the second user by four eyes authentication.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">remote host
</td>
<td class="BodyE-Column1-Body2">Host
</td>
<td class="BodyD-Column1-Body2">Host from where the connection was done.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time range changed
</td>
<td class="BodyE-Column1-Body1">TimeRangeChanged
</td>
<td class="BodyD-Column1-Body1">Time range has changed.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">current time range
</td>
<td class="BodyE-Column1-Body2">TimeRange
</td>
<td class="BodyD-Column1-Body2">Currently active time range.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">licence changed
</td>
<td class="BodyE-Column1-Body1">LicenceChanged
</td>
<td class="BodyD-Column1-Body1">Licence has changed.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">change time
</td>
<td class="BodyE-Column1-Body2">Date
</td>
<td class="BodyD-Column1-Body2">Time of the system settings changed.
</td>
</tr>
</table>
<h2>System started</h2>
<p>Action name:SystemStarted(Date)</p>
<p>Action category: logical</p>
<p>This action will be fired only once at the system start-up.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">start time
</td>
<td class="BodyE-Column1-Body1">Date
</td>
<td class="BodyD-Column1-Body1">Time of the system start-up.
</td>
</tr>
</table>
<h2>System terminating</h2>
<p>Action name:SystemTerminating(Date, WindowsShutdown)</p>
<p>Action category: logical</p>
<p>This action will be fired when the system is going shutdown.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">stop time
</td>
<td class="BodyE-Column1-Body1">Date
</td>
<td class="BodyD-Column1-Body1">Time of the system shutdown.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Windows shutdown
</td>
<td class="BodyE-Column1-Body2">WindowsShutdown
</td>
<td class="BodyD-Column1-Body2">Indicates whether the system shutdown is done due to the windows shutdown.
</td>
</tr>
</table>
<h2>System warning</h2>
<p>Action name:SystemWarning(Source, Message, WindowsError, Description, XMLInfo)</p>
<p>Action category: logical</p>
<p>Notify system warning.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">source subsystem
</td>
<td class="BodyE-Column1-Body1">Source
</td>
<td class="BodyD-Column1-Body1">Source of the message.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message code
</td>
<td class="BodyE-Column1-Body2">Message
</td>
<td class="BodyD-Column1-Body2">Kind of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Windows error code
</td>
<td class="BodyE-Column1-Body1">WindowsError
</td>
<td class="BodyD-Column1-Body1">Optional Windows error code.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">description
</td>
<td class="BodyE-Column1-Body2">Description
</td>
<td class="BodyD-Column1-Body2">Optional description of the message.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">additional info
</td>
<td class="BodyE-Column1-Body1">XMLInfo
</td>
<td class="BodyD-Column1-Body1">Optional additional info (usually as XML string).
</td>
</tr>
</table>
<h2><a name="Transfer"></a>Transfer binary buffer</h2>
<p>Action name:TransferBinaryBuffer(InternalHandle, Parameter)</p>
<p>Action category: logical</p>
<p>Transfer binary buffer.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">internal handle
</td>
<td class="BodyE-Column1-Body1">InternalHandle
</td>
<td class="BodyD-Column1-Body1">Internal handle.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">parameter
</td>
<td class="BodyE-Column1-Body2">Parameter
</td>
<td class="BodyD-Column1-Body2">Parameter.
</td>
</tr>
</table>
<h2>Transfer binary channel buffer</h2>
<p>Action name:TransferBinaryChannelBuffer(Channel, InternalHandle, Parameter)</p>
<p>Action category: logical</p>
<p>Transfer binary channel buffer.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">channel
</td>
<td class="BodyE-Column1-Body1">Channel
</td>
<td class="BodyD-Column1-Body1">Channel.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">internal handle
</td>
<td class="BodyE-Column1-Body2">InternalHandle
</td>
<td class="BodyD-Column1-Body2">Internal handle.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">parameter
</td>
<td class="BodyE-Column1-Body1">Parameter
</td>
<td class="BodyD-Column1-Body1">Parameter.
</td>
</tr>
</table>
<h2><a name="User"></a>User login</h2>
<p>Action name:UserLogin(User1, User2, Host, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: logical</p>
<p>This action will be fired when the user has connected to the system.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">first user
</td>
<td class="BodyE-Column1-Body1">User1
</td>
<td class="BodyD-Column1-Body1">Name of the user connected to the system.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">second user
</td>
<td class="BodyE-Column1-Body2">User2
</td>
<td class="BodyD-Column1-Body2">Name of the second user by four eyes authentication.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">remote host
</td>
<td class="BodyE-Column1-Body1">Host
</td>
<td class="BodyD-Column1-Body1">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client host
</td>
<td class="BodyE-Column1-Body2">ClientHost
</td>
<td class="BodyD-Column1-Body2">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">client type
</td>
<td class="BodyE-Column1-Body1">ClientType
</td>
<td class="BodyD-Column1-Body1">Client type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client account
</td>
<td class="BodyE-Column1-Body2">ClientAccount
</td>
<td class="BodyD-Column1-Body2">User account from where the connection is done.
</td>
</tr>
</table>
<h2>User login failed</h2>
<p>Action name:UserLoginFailed(User1, User2, Host, RejectReason, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: logical</p>
<p>This action will be fired when the user has tried to connect to the system but was rejected.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">first user
</td>
<td class="BodyE-Column1-Body1">User1
</td>
<td class="BodyD-Column1-Body1">Name of the user tried to connect to the system.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">second user
</td>
<td class="BodyE-Column1-Body2">User2
</td>
<td class="BodyD-Column1-Body2">Name of the second user by four eyes authentication.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">remote host
</td>
<td class="BodyE-Column1-Body1">Host
</td>
<td class="BodyD-Column1-Body1">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">reject reason
</td>
<td class="BodyE-Column1-Body2">RejectReason
</td>
<td class="BodyD-Column1-Body2">Reason of the rejection.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">client host
</td>
<td class="BodyE-Column1-Body1">ClientHost
</td>
<td class="BodyD-Column1-Body1">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client type
</td>
<td class="BodyE-Column1-Body2">ClientType
</td>
<td class="BodyD-Column1-Body2">Client type.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">client account
</td>
<td class="BodyE-Column1-Body1">ClientAccount
</td>
<td class="BodyD-Column1-Body1">User account from where the connection is done.
</td>
</tr>
</table>
<h2>User logout</h2>
<p>Action name:UserLogout(User1, User2, Host, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: logical</p>
<p>This action will be fired when the user has disconnected from the system.</p>
<table style="margin-left: 0;margin-right: auto;caption-side: top;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" />
<col class="Column-Column1" />
<col class="Column-Column1" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter
</th>
<th class="HeadD-Column1-Header1">Function
</th>
</tr>
</thead>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">first user
</td>
<td class="BodyE-Column1-Body1">User1
</td>
<td class="BodyD-Column1-Body1">Name of the user disconnected from the system.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">second user
</td>
<td class="BodyE-Column1-Body2">User2
</td>
<td class="BodyD-Column1-Body2">Name of the second user by four eyes authentication.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">remote host
</td>
<td class="BodyE-Column1-Body1">Host
</td>
<td class="BodyD-Column1-Body1">Host from where the connection was done.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client host
</td>
<td class="BodyE-Column1-Body2">ClientHost
</td>
<td class="BodyD-Column1-Body2">Host from where the connection is done.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">client type
</td>
<td class="BodyE-Column1-Body1">ClientType
</td>
<td class="BodyD-Column1-Body1">Client type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">client account
</td>
<td class="BodyE-Column1-Body2">ClientAccount
</td>
<td class="BodyD-Column1-Body2">User account from where the connection is done.
</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>