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>
This commit is contained in:
Administrator
2025-12-31 18:10:54 +01:00
commit 14893e62a5
4189 changed files with 1395076 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
<!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">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>GeViScope Software Development Kit (SDK)</title>
<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><span class="MCBreadcrumbs">GeViScope Software Development Kit (SDK)</span>
</div>
<h1 xmlns="http://www.w3.org/TR/REC-html40">GeViScope Software Development Kit (SDK)</h1>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Introduction
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">The GeViScope SDK consists of a collection
of free software interfaces for the GEUTEBRÜCK DVRs GeViScope and RePorter. It can
be used to integrate these devices in custom applications and although for
linking not yet supported peripherals.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40"> <![CDATA[ ]]></p>
<p xmlns="http://www.w3.org/TR/REC-html40">The interfaces are based on native Win32
DLLs. So they can be used with various development platforms of the Windows OS.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To support the .NET technology the SDK
examples contain wrapper classes based on C++/CLI. These wrapper examples can
be freely used, modified and extended by the SDK users. The C# examples
included in the SDK demonstrate, how the wrappers can be used by custom
applications.
</p>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Contents
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="011Files_And_Directory_Structure.htm">Files
and directory structure of the SDK</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="012Setting_Up_Virtual_Test_Environment.htm">Setting up a virtual test
environment</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="014Remote_Control_GscView.htm">Remote
control GSCView</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="013SDK_Interfaces_Overview.htm">Overview
of the interfaces in the SDK</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="015Supported_Development_Platforms.htm">Supported development platforms</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="016Guidelines_And_Hints.htm">Guidelines
and hints</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="018GscView_DataFilter_Plugin.htm">GSCView
data filter plugins</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="019Examples_Overview.htm">Examples
overview</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="ActionDoku/ATMActions.htm">Action
documentation</a>
</p>
<p xmlns="">&#160;</p>
<p class="Verdana8pt" xmlns="http://www.w3.org/TR/REC-html40">Documentation-History Version 3.9 / PME
</p>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Files and directory structure of the SDK
</title>
<link href="Resources/TableStyles/Rows.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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Files and directory structure of the SDK</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Files and directory structure of the SDK
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40"> <![CDATA[ ]]></p>
<p xmlns="http://www.w3.org/TR/REC-html40">During the installation of the SDK the
environment variable %GSCSDKPATH% which points to the root directory of the SDK
is set. This reference path is used in all examples.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0" xmlns="http://www.w3.org/TR/REC-html40">
<col />
<col />
<tbody>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">%GSCSDKPATH%\Bin</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Contains
all dynamic link libraries and is the target directory for the compiled examples<br xmlns="http://www.w3.org/TR/REC-html40" /><br xmlns="http://www.w3.org/TR/REC-html40" /></td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">%GSCSDKPATH%\include</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Contains
all Delphi import units, C++ header and cppfiles<br /><br /></td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColSep">%GSCSDKPATH%\lib</td>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColEnd">Contains
all lib files for Borland C++ Builder and Microsoft Visual C++</td>
</tr>
</tbody>
</table>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The matching interface units between C++
and Delphi have the same name but compiler specific file extensions.
</p>
</body>
</html>

View File

@@ -0,0 +1,151 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Setting up a virtual test environment
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Setting up virtual test environment</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Setting up a virtual test environment
</h2>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Introduction
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">All required components for setting up a
virtual GeViScope device are included in the SDK. So
an independent development of custom solutions can be achieved without any
special hardware required.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After starting up the GeViScopeserver (part of the virtual GeViScope device) GeViScope software can be used with full function for two
hours. After that time the functionality is limited. After stop and restart of
the server full functionality is offered for two hours again.
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Step by step
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">After the successful installation of the
SDK all necessary files exist in the installation folder (normally “%HOMEPATH%\My
Documents\GeViScopeSDK”).</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 1: Assign local policy “Lock pages in memory”</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To run GeViScopeserver on your local machine, a local policy needs to be assigned to the user
account under which GeViScope server should work.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Please open the “Local Security Policy”
dialog in the control panel Administrative Tools.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/012image002_600x429.jpg" alt="Policies.jpg" class="padding600" style="width: 600;height: 429;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">With “Security Settings / Local Policies / User
Rights Assignment” the privilege “Lock pages in memory” has to be assigned to
the user account under which GeViScope server should
run.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The user has to be a member of the local
Administrators group.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The user has to logout and login again to
let the setting take effect.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 2: unpack the test files</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Unpack the file “\BIN\GeViScope.Database.zip”
to the root directory of your system drive (normally “C:”).&#160;Afterwards the file “C:\GeViScope.Database”
should exist. Please note that the file is not seen in the windows explorer if
hidden files and folders are masked out.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Unpack the file “\BIN\DatabaseBackup.zip”
to the sub folder “\BIN” of the GeViScope SDK base
directory (normally “%HOMEPATH%\My Documents\GeViScopeSDK”).
After that the file “\BIN\DatabaseBackup.gpf“, which contains a test backup
file in GBF format (“GEUTEBRÜCK Backup File”) should exist.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 3: start the GeViScopeserver</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Start the server by double clicking on file
“\BIN\GSCServer.exe“. Now a console application should start.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/012image006_600x300.jpg" alt="GSCServer.JPG" class="padding600" style="width: 600;height: 300;" />
</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 4: import the test setup</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Start the GSCSetupsoftware (file “\BIN\GSCSetup.exe“ ) and establish a connection to the local
server. Use the following login information:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Username = sysadmin
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Password = masterkey
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Send the setup once to the server by using
the menu entry “Send setup to server“.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The test setup “<a href="file://bin/PluginExampleSetupForGSCSetup.set">\BIN\GeViScopeSDKSetup.set</a>
can be imported into the server with the help of the menu entry “Import setup from
file“. Afterwards it should be send to the server once again.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 5: view live video and backup video in GSCView</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Now the correct setup of the test
environment should be tested. For that purpose the GSCViewsoftware (file “\BIN\GSCView.exe”) can be started and again a connection to the
local server should be established.&#160;After a successful connection media channels are available and can be
viewed.&#160;Simply drag the media channels
on the viewers of GSCView.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The menu entry “Open backup file…” allows
opening the test backup file “\BIN\DatabaseBackup.gpf“, which also contains
media channels that can be displayed. Please check the correct function of the
backup by play back the video material.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 6: Use of tool “\BIN\ GSCPLCSimulator.exe”</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The software “\BIN\ GSCPLCSimulator.exe”
serves as a monitoring tool for all messages (actions) and events that are
transported inside the complete system. Furthermore actions can be triggered
and events can be started and stopped.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After building up a connection to the local
server all action traffic is displayed in a list.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">This tool is extremely helpful for testing
of custom applications based on the SDK and for analyzing message flow in the
complete system.
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Background information
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">To provide a test environment with full functionality
the GeViScope media plugin“MCS” (Media Channel Simulator) is used. It simulates real video media channels
by channeling test pictures into the GeViScopeserver. 16 media channels can be used as live channels or can be recorded into
the test database. Furthermore the channels create messages (actions) that
allow using them as base for developing video analysis software.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The media plugin“MCS” is part of the SDK including source code (development platform Borland
C++ Builder 6) and documentation (please see topic “Examples overview” for more
information).
</p>
</body>
</html>

View File

@@ -0,0 +1,203 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Overview of the interfaces in the SDK
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Overview of the interfaces in the SDK</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Overview of the interfaces in the SDK
</h2>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Introduction
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">This document gives a short overview of the
different interfaces that belong to the SDK. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Please note, that all interfaces include
class declarations to access the exported functions of the dynamic link libraries.
To use them in C++, the matching cpp files and the lib files corresponding to
the DLLs have to be added to the custom project.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/013image001_600x365.jpg" alt="InterfacesOverview.JPG" class="padding600" style="width: 600;height: 365;" />
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Building blocks of functionality
</h3>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">DBI</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Low level
server and database interface
</li>
<li value="2">Connection
handling, GBF access, raw database access (no video display!), media
export functionality, backup functions, access to raw live media (no video
display!), setup data access
</li>
<li value="3">Supports
basic functionality for building blocks “PLC” and “MediaPlayer”
</li>
<li value="4">Main
binary file: GSCDBI.DLL
</li>
<li value="5">Main
include files (C++): GSCDBI.h, GSCDBI.cpp
</li>
<li value="6">Main
include files (Pascal): GSCDBI.pas
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">PLC</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Complex
notification, action and event processing
</li>
<li value="2">Listen
to, dispatch, create and send actions
</li>
<li value="3">Listen to
events and system notifications
</li>
<li value="4">Allows controlling
and monitoring the system
</li>
<li value="5">Main
binary file: GSCActions.DLL
</li>
</ul>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Main
include files (C++): GSCActions.h
</li>
</ul>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Main
include files (Pascal): GSCActions.pas
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">TACI</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Telnet
Action Command Interface
</li>
<li value="2">Simple
ASCII-Format communication based on Telnet
</li>
<li value="3">Allows controlling
and monitoring the system
</li>
<li value="4">Received
actions need to be parsed
</li>
<li value="5">To use
that interface, the media plugin “GSCTelnetActionCommand” needs to be
installed
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">MediaPlayer</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">High
level server and database interface including media presentation
</li>
<li value="2">Display
video, play audio (live and backup)
</li>
<li value="3">Integrated
export functionality (GBF, MPEG, Video-DVD, Single picture)
</li>
<li value="4">Search
media data by time or corresponding to event data
</li>
<li value="5">Main
binary file: GSCMediaPlayer.DLL
</li>
</ul>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Main
include files (C++): GSCMediaPlayer.h, GSCMediaPlayer.cpp
</li>
</ul>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Main
include files (Pascal): GSCMediaPlayer.pas
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">OffscreenViewer</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Part of
building block “MediaPlayer”
</li>
<li value="2">Same
functionality as MediaPlayer, but: no rendering, only decompressing
</li>
<li value="3">Class
TGSCOffscreenViewer can be used analogous to TGSCViewer
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Media plugin (GeViScope server plugins)</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GeViScope
server plugins allow integrating custom peripherals in GeViScope systems
</li>
<li value="2">Channeling
of video and/or audio media into the server
</li>
<li value="3">Including
full access to PLC
</li>
<li value="4">Plugins
run as In-Process-DLLs in GeViScope server software
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">GSCView data filter plugin</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GSCView
plugins allow integrating custom data filter frontends in GSCView software
</li>
<li value="2">Plugins
run as In-Process-DLLs in GSCView software
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">GSCView data presentation plugin</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GSCView
plugins allow customized presentation of event data in GSCView software,
especially of event data presented in viewed pictures
</li>
<li value="2">Plugins run
as In-Process-DLLs in GSCView software
</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,266 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Remote control GSCView by actions
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Remote control GscView</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Remote control GSCView by actions
</h2>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Introduction
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">The simplest approach to view and browse
live and recorded video of one or more GeViScopes is to remote control GSCView
out of custom solutions. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">GSCView can be used in a special mode so that
it can be controlled by actions that are sent from a GeViScope server. The
actions can be channeled into the system using the SDK (GSCDBI.DLL and
GSCActions.DLL) in custom applications. As an alternative the actions can be
sent to the TACI interface of the GeViScope server. The TACI interface is a
media plugin of the GeViScope server, which can receive actions as ASCII text
commands similar to a TELNET communication. The TACI plugin has to be licensed.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image002_600x435.jpg" alt="Overview.jpg" class="padding600" style="width: 600;height: 435;" />
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Step by step
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">The following step by step instructions
show how to configure a simple system to demonstrate remote controlling
GSCView. The virtual test environment included in the SDK should be
successfully installed and set up before following these instructions (see topic
<a href="012Setting_Up_Virtual_Test_Environment.htm">Setting up a virtual test
environment</a>).
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 1: start the GeViScope server
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Start the server by double clicking on file
“\BIN\GSCServer.exe“. Now a console application should start.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image001_600x300.jpg" alt="GSCServer.JPG" class="padding600" style="width: 600;height: 300;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 2: start GSCView
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Start the GSCView software (file
“\BIN\GSCView.exe”).
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 3: start the profile manager
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The menu entry “Options Profile manager…”
starts the internal profile manager of GSCView. The profil manager allows
configuring all GSCView settings.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image003_600x447.jpg" alt="ProfileManager.jpg" class="padding600" style="width: 600;height: 447;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 4: declare local connection as “connect
automatically”
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">By selecting “Connections” in the section
“Resources” the local connection can be declared as a connection that is
automatically built up after starting GSCView. Additional the option “Reconnect
automatically” should be activated.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image004_600x447.jpg" alt="LocalConnectionAutomatic.jpg" class="padding600" style="width: 600;height: 447;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If the connection is open in GSCView or
GSCSetup, the settings of the connection cannot be changed. Close all local
connections at first to be able to change the connection settings.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 5: configure GSCView to be able to remote control it
by actions
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The entry “Options profile” in the section
“Profiles” shows a tab control with a lot of different GSCView settings. To be
able to remote control GSCView the option “Remote control” on the “Actions” tab
has to be set.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image005_600x447.jpg" alt="RemoteControlGSCViewOption.jpg" class="padding600" style="width: 600;height: 447;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The “Viewer client number” should be set to
a arbitrary global number that is unique in the whole system. This global
“Viewer client number” identifies this special instance of GSCView in the whole
network. The number is used in different actions to remote control GSCView.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">By contrast the “global number” of a viewer
in a custom scene identifies a special viewer in a user defined scene. Details
about user defined scenes will be topic of the next step.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 6: user defined scenes
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To define user defined scenes in GSCView
the entry “Scenes” in section “Resources” should be selected. By right clicking
on one of the predefined scenes new user defined scenes can be created. For
this step by step example two new scenes with the names “MyStartScene” and
“MyScene” have to be added. With the button “Edit scene” the global numbers of
the viewers of the scene and the video channels that should be displayed can be
set.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The “MyStartScene” should be based on the
“Matrix 4x4”. The viewers should have the global numbers 1001 to 1016. Each
viewer should display live pictures of a video channel of the local connection.
The video channels can be set via drag &amp; drop while editing the scene.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image016_600x438.jpg" alt="MyStartSceneDefinition.jpg" class="padding600" style="width: 600;height: 438;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The “MyScene” should be based on the
“Matrix 2x2” and the viewers should have the global numbers 1101 to 1104. The
viewers should not automatically display any video channel. They will be used by
special actions to display video channels.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image007_600x431.jpg" alt="MySceneDefinition.jpg" class="padding600" style="width: 600;height: 431;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 7: modify the appearance of GSCView
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The appearance of GSCView can be controlled
by different settings in the entry “Options profile” of the section “Profiles”.
For this test scenario, GSCView should appear as a stupid video wall without
any user controls directly visible in the GSCView application window. To
achieve this, the following options on the “Application” tab have to be set:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image008_600x447.jpg" alt="GSCViewAppearanceSettings.jpg" class="padding600" style="width: 600;height: 447;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Please keep in mind, that if the option “Sensitive
area enabled” is not set and if all “Hide…” options are set, the main menu of
GSCView only can be accessed by pressing F10!
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 8: save all settings
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">All settings should be saved by selecting
the menu entry “File Save”.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Step 9: test the system with GSCPLCSimulator
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After restarting GSCView it should appear
in full mode with 16 viewers displaying live pictures of the video channels of
the local connection.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image009_600x467.jpg" alt="GSCViewAfterStartUp.jpg" class="padding600" style="width: 600;height: 467;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Now start the software “\BIN\
GSCPLCSimulator.exe” to test the system. The GSCPLCSimulator serves as a
monitoring tool for all messages (actions) and events that are transported
inside the complete system. Furthermore actions can be triggered and events can
be started and stopped.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After its start the connection to the local
server should be build up automatically and all action traffic is displayed in
a list.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image010_600x497.jpg" alt="GSCPLCSimulatorAfterStartUp.jpg" class="padding600" style="width: 600;height: 497;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">With the button “Dialog” an action can be selected
and with the button “Send” this action can be send to the GeViScope server. For
testing the system first select the action “VC change scene by name” in the
category “Viewer actions” to display “MyScene” on the GSCView with the global
“Viewer client number” 1000.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image011.jpg" alt="DisplayMyScene.jpg" class="padding600" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After sending the action, GSCView should
display an “empty” “MyScene”.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image012_600x467.jpg" alt="EmptyMyScene.jpg" class="padding600" style="width: 600;height: 467;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To display video channels in the viewers of
“MyScene” the action “Viewer connect live” can be used. The parameter “viewer”
now means the global number of a viewer of “MyScene”, e.g. 1102. The parameter
“channel” should be set to the global number of the video channel that should
be displayed, e.g. 2.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image013.jpg" alt="DisplayVideoChannel.jpg" class="padding600" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After sending the action, GSCView displays
live video of the video channel 2 on the upper left viewer in GSCView.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image014_600x467.jpg" alt="GSCViewWithDisplayedVideoChannel.jpg" class="padding600" style="width: 600;height: 467;" />
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Background information
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">In GeViScope systems actions are used to
communicate between the GeViScope server and any client application. All available
actions can be divided into three groups:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Notification actions (for example “User
Login”), command actions (for example “Viewer connect live”) and logical
actions (these actions are not directly created by the GeViScope server and
they dont directly result in any reaction in the GeViScope server, for example
“Custom action”).
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">All actions are grouped in different
categories. The category “Viewer actions” contains all actions that are
relevant for remote controlling GSCView.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To get notifications about GSCView
activities, one of the options “Send notification actions” in the profile
manager of GSCView has to be set. All possible notification actions are
collected in the action category “Viewer notifications”.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/014image015_600x447.jpg" alt="GSCViewNotifications.jpg" class="padding600" style="width: 600;height: 447;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">More detailed information about all available
actions can be found in the topic “Action documentation” (especially <a href="ActionDoku/VideoActions.htm">Viewer actions</a> and <a href="ActionDoku/ViewerNotificationActions.htm">Viewer notifications</a>).
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Please be aware of the fact that GSCView is
working in an asynchronous mode. If a custom application sends an action, that
depends on the result of the previous sent action there may be the need for
inserting a pause time before sending the second action (e.g. send action “Viewer
connect live”, wait one second, send action “Viewer print picture”). GSCView
does not have an input queue for remote control actions.
</p>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Supported development platforms
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Supported development platforms</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Supported development platforms
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">The SDK is designed and tested to be used
with the following development environments:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">CodeGear
C++ Builder 6 ©
</li>
<li value="2">CodeGear
C++ Builder 2009 ©
</li>
<li value="3">CodeGear
Delphi 7 ©
</li>
<li value="4">CodeGear
Delphi 2005 ©
</li>
<li value="5">CodeGear
Delphi 2009 ©
</li>
<li value="6">Microsoft
Visual Studio 2005, C++, MFC ©
</li>
<li value="7">Microsoft
Visual Studio 2008, C++, MFC ©
</li>
<li value="8">Microsoft
Visual Studio 2005, C++/CLI ©
</li>
<li value="9">Microsoft
.NET&#160;© (wrapper classes are
contained in the “Examples” folder)
</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,806 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Guidelines and hints
</title>
<link href="Resources/TableStyles/Rows.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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Guidelines and hints</span>
</div>
<h2>Guidelines and hints
</h2>
<h3>Introduction
</h3>
<p>It is recommended to be familiar with the GeViScope system and the possibilities of modern video
surveillance systems and video management systems. Before starting programming
your custom GeViScope client you should know basics
of video formats, video compression, GeViScope
events, GeViScope actions and the principles of a
client - server network communication.
</p>
<p>&#160; </p>
<p>The following sections support you with
some suggestions and hints about using the SDK interfaces.
</p>
<h3>General hints
</h3>
<p>If your application needs to listen to
events and actions please use the application PLCSimulator.exe that you can
find on Your GeViScope device. This software allows
you to start actions and events which might be used by your program.
</p>
<p>&#160; </p>
<p>You should work and do some tests with a
real GeViScope device or with the virtual test
environment belonging to the SDK. Create some events and actions, start them
with PLCSimulator.exe.
</p>
<p>&#160; </p>
<p>Starting the setup software GSCSetup.exe
with the command line parameter /utilities will offer you the possibility to
open DBITest to discover the database structure and
to evaluate and test select statements against the database. Additionally this
tool offers you the possibility to start the registry editor to evaluate the
internal structure of the GeViScope setup.
</p>
<p>&#160; </p>
<p class="GutZuWissen">Make
sure to delete all objects that are created inside of DLLs. The objects
themselves should always offer a Destroy() or Free()
method for that.</p>
<p>&#160;</p>
<p>Callback functions, which are called out of
the SDK DLLs, are called from threads, which were created inside the DLLs.
Variables and pointers that are passed as arguments of the callback may not be
used outside the callback context. They are only valid for the duration of the
callback call.
</p>
<p>&#160; </p>
<p>Structures that are used as arguments for
SDK functions should always be initialized by the function memset(). After setting all
the structure elements to zero, the size or structsize
element has to be initialized with the sizeof() function.
</p>
<p>&#160; </p>
<p>MPEG-2 files that were created by SDK
functions can possibly not be played with the windows media player. The reason
is a missing MPEG-2 decoder. We recommend using DVD player software like PowerDVD or the VCL Media Player software.
</p>
<h3>Working with handles and instances
</h3>
<p>Integral part of the SDK
are units that give the user a comfortable access to the plain functions
of the DLL, e.g. GSCDBI.h/.cpp/.pas.
In these units classes encapsulate access to instances of objects which are
created inside the DLL. To have access from outside the DLL (custom
application) to the inside residing instances, handles are used. The units have
to be added to the project respectively to the solution to avoid linker errors.
</p>
<p>&#160; </p>
<p>After work with instances is finished, the
instances have to be deleted by calling their destroy()
or free() method. Otherwise there will be memory leaks left.
</p>
<p>&#160; </p>
<p>Using the plain exported functions of the
DLL is not recommended. To get access to full functionality you should use the
units instead (pas files or h/cpp files).
</p>
<p>&#160; </p>
<p>The following example (in pseudo code)
should illustrate the above facts:
</p>
<p>&#160; </p>
<p><span style="color: #008000;">&#160;// define a handle to a server object</span>
</p>
<p>&#160;HGscServer
MyServer;
</p>
<p>&#160;</p>
<p>&#160;<span style="color: #008000;">// create a server object instance inside the DLL and</span><br /><span style="color: #008000;">&#160;// get a handle to it</span></p>
<p>&#160;MyServer =
DBICreateRemoteserver();
</p>
<p>&#160;
</p>
<p>&#160;...
</p>
<p>&#160;</p>
<p>&#160;<span style="color: #008000;">// work with the object instance with the help of the
handle</span></p>
<p>&#160;MyServer-&gt;Connect();
</p>
<p>&#160;
</p>
<p>&#160;...
</p>
<p>&#160;
</p>
<p><span style="color: #008000;">&#160;// define a handle to a PLC object
</span>
</p>
<p>&#160;HGscPLC
PLC;
</p>
<p>&#160;
</p>
<p style="color: #008000;">&#160;&#160;// create a
PLC object instance inside the DLL and
</p>
<p style="color: #008000;">&#160;// get a handle to it
</p>
<p>&#160;PLC =
MyServer.CreatePLC();
</p>
<p>&#160;
</p>
<p>&#160;...
</p>
<p>&#160;
</p>
<p>&#160;<span style="color: #008000;">// work with the object instance with the help of the
handle</span></p>
<p>&#160;PLC-&gt;OpenPushCallback(...);
</p>
<p>&#160;</p>
<p>&#160;...
</p>
<p>&#160;</p>
<p>&#160;<span style="color: #008000;">// destroy PLC object</span> <![CDATA[ ]]></p>
<p>&#160;PLC-&gt;Destroy();
</p>
<p>&#160;
</p>
<p>&#160;...
</p>
<p>&#160;
</p>
<p><span style="color: #008000;">&#160;// destroy server object
</span>
</p>
<p>&#160;MyServer-&gt;Destroy();
</p>
<h3>Interaction between DBI and MediaPlayer
</h3>
<p>The DBI interface gives access to GeViScope server functionality. After creating an instance
with the function DBICreateRemoteserver() a connection to the server can be established by calling
the method Connect() of the server object instance.
</p>
<p>&#160;</p>
<p>The following methods of a server object
instance can be called to get access to different kinds of functions (not a
complete list):
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col />
<col />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Method
</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function</th>
</tr>
</thead>
<tbody>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">CreateDataSet(), CreateDataPacket() </td>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Fetch data from server database</td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">CreateLiveStream()</td>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Fetch live data from server</td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">CreateRegistry() </td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Fetch setup data from server (media
channel information, event information, …)</td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">CreatePLC()</td>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">Listen to, create and send actions </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>The example (in pseudo code) of the
previous chapter should illustrate the above facts.
</p>
<p>&#160;</p>
<p>The MediaPlayer
interface offers simple to use objects to display live and recorded video in
windows controls. A viewer object instance needs to be created by calling GMPCreateViewer().
The viewer needs a handle to a windows control and a handle to a server object
instance. It handles fetching data, decompressing data and displaying video in
the linked windows control by itself.
</p>
<p>&#160;</p>
<p>The following methods of a viewer object
instance can be called to get access to different kinds of functions (not a
complete list):
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col />
<col />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Method</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function </th>
</tr>
</thead>
<tbody>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">ConnectDB() </td>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Fetch video data from the database and
display it in any play mode required. Filter and search criteria can
optionally be defined. </td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">SetPlayMode(pmPlayNextEvent)</td>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">Display the next available event pictures</td>
</tr>
</tbody>
</table>
<p>&#160;
</p>
<p>The following example (in pseudo code)
shows how to create a viewer and use it afterwards:</p>
<p>&#160;</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// define a handle to a viewer object</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;HGscViewer
MyViewer;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// create a viewer object instance inside the DLL and</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// get a handle to it</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewer =
GMPCreateViewer(WindowHandle, ...);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// define a structure with data needed to link</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// the viewer to a media channel in the server</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;TMPConnectData MyViewerConnectData;
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;&#160;// handle to the server object instance </span>
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewerConnectData.Connection = MyServer; </p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewerConnectData.ServerType = ctGSCServer; </p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewerConnectData.MediaType = mtServer; </p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// ID of the media channel that should be displayed</span>
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewerConnectData.MediaChID = ...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// link the viewer to a media channel and display live data</span></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyViewer-&gt;ConnectDB(MyViewerConnectData, pmPlayStream, ...); </p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// destroy viewer object</span>
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;&#160;MyViewer-&gt;Destroy(); </p>
<p>&#160;
</p>
<p>Beside the viewer object class there is
another class in the MediaPlayer interface: The offscreen viewer object class. If you want to decompress
media, which should not be displayed with the help of the viewer object, you
can use the offscreen viewer object. An instance can
be created with the function GMPCreateOffscreenViewer(). The offscreen viewer object
instance provides nearly the same functionality as the viewer object class
does. The video footage is not rendered in a window,
it is decompressed in a special DecompBuffer object
instance. After the decompression is done inside the offscreen
viewer, the hosting application can be notified with the help of a callback
function. Inside the callback the decompressed image can be accessed.
</p>
<p>&#160;</p>
<p>The DecompBuffer
class encapsulates special functions for effective decompressing. So it is
recommend to use it. Creating an instance of the
buffer can be reached by calling the function GMPCreateDecompBuffer(). The
instance can be used for as many decompressions as needed. The method GetBufPointer()
gives access to the raw picture data inside the buffer.
</p>
<p>&#160;
</p>
<p>Here is a short example (in pseudo code)
how to work with an offscreen viewer object:
</p>
<p>&#160;</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// define a handle to a DecompBuffer object
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;HGscDecompBuffer
MyDecompBuffer;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// create a DecompBuffer object instance inside the DLL and
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// get a handle to it
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyDecompBuffer
= GMPCreateDecompBuffer();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// define a handle to a offscreen viewer object
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;HGscViewer
MyOffscreenViewer;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// create an offscreen viewer object instance inside the
DLL and
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// get a handle to it
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewer
= GMPCreateOffscreenViewer(MyDecompBuffer);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// set callback of the offscreen viewer object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewer.SetNewOffscreenImageCallBack(NewOffscreenImageCallback);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// define a structure with data needed to link
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// the offscreen viewer to a media channel in the server
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;TMPConnectData
MyOffscreenViewerConnectData;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// handle to the server object instance
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewerConnectData.Connection
= MyServer;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewerConnectData.ServerType
= ctGSCServer;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewerConnectData.MediaType
= mtServer;
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// ID of the media channel that should be decompressed
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewerConnectData.MediaChID
= ...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// link the offscreen viewer to a media channel and
decompress live data
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewer-&gt;ConnectDB(MyOffscreenViewerConnectData,
pmPlayStream, ...);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// destroy offscreen viewer object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyOffscreenViewer-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">&#160;// destroy DecompBuffer object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyDecompBuffer-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// callback function, that is called after images have been
decompressed
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// get a raw pointer to the picture in the DecompBuffer
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// object
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyDecompBuffer-&gt;GetBufPointer(BufferPointer,
...);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// copy the picture into a windows bitmap resource
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// for example
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;SetDIBits(...,
BitmapHandle, ..., BufferPointer, ..., DIB_RGB_COLORS);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<h3>Enumeration of setup data
</h3>
<p>GeViScope Server resources can be enumerated by custom applications. The
setup object, which can be instantiated by calling the server method CreateRegistry(),
offers functionality for this.
</p>
<p>&#160;</p>
<p>Enumeration of resources normally is done
in four steps:
</p>
<p>&#160;</p>
<ol>
<li value="1">Define an
array of type GSCSetupReadRequest with the only
element “/”. This causes the method ReadNodes() to transfer the whole setup from the server to the
custom application.
</li>
<li value="2">Call the
method ReadNodes() of the setup object to get the whole setup from the
server.
</li>
<li value="3">Call one of
the Get…() methods of the setup object to get an
array of GUIDs representing the list of resources. There are different Get…() methods, e. g. GetMediaChannels()
or GetEvents().
</li>
<li value="4">Use the
GUID array to receive the resources data by calling Get…Settings()
methods, e. g. GetMediaChannelSettings() or GetEventSettings().
</li>
</ol>
<p>&#160;</p>
<p>Here is an example (in pseudo code), that
shows how to enumerate the media channels:
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// connect to the server</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyServer-&gt;Connect();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// define a
handle to a setup object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;HGscRegistry MySetup;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// create a setup object instance inside the DLL and
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// get a handle to it
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MySetup =
MyServer-&gt;CreateRegistry();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// define a array for the setup read request
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;GscSetupReadRequest SetupReadRequest[1];
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;SetupReadRequest[0].NodeName = "/";
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// read the setup data from the server
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MySetup-&gt;ReadNodes(&amp;SetupReadRequest, ...);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// define
a GUID array for the GUIDs of the
</p>
<p class="CODEetc" style="margin-left: 25px;color: #008000;">&#160;// existing media channels
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;GuidDynArray MediaChannels;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// get the GUID array out of the setup data
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MySetup-&gt;GetMediaChannels(MediaChannels);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">// get the data of
each single media channel
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #4169e1;">for </span>each MediaChannelGUID <span style="color: #4169e1;">in
</span>MediaChannels
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;MySetup-&gt;GetMediaChannelSettings(MediaChannelGUID,
</p>
<p class="CODEetc" style="margin-left: 200px;">&#160;MediaChannelID,
</p>
<p class="CODEetc" style="margin-left: 200px;">&#160;&#160;GlobalNumber,
</p>
<p class="CODEetc" style="margin-left: 200px;">&#160;...);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// destroy setup object</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MySetup-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;<span style="color: #008000;">// destroy server object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">&#160;MyServer-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;&#160;...
</p>
<p>&#160;
</p>
<p>Please note that especially the media
channels can be enumerated by using the global function GMPQueryMediaChannelList()
of the MediaPlayer interface as well.
</p>
<p>&#160;
</p>
<h3>PLC, actions and events
</h3>
<p>The PLC (Prcess
Logic Control) object supports you with functionality for handling
notifications, actions and events. The method CreatePLC() of the server
object class creates a handle to a PLC object inside the DBI DLL.
</p>
<p>&#160;</p>
<p>The following methods of a PLC object
instance can be called to get access to different kinds of functions (not a
complete list):
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col />
<col />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Method </th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function
</th>
</tr>
</thead>
<tbody>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">SendAction() </td>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Send an action to the connected server </td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">StartEvent() </td>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Start an event of the connected server </td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">SubscribeActions()</td>
<td width="307" valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Subscribe a list of actions that should
be notified by a registered callback function </td>
</tr>
<tr>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">
<p>OpenPushCallback()
</p>
</td>
<td width="307" valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">Register a callback function, that is
called if an notification arrives or a event starts/stops or if one of the
subscribed actions arrives </td>
</tr>
</tbody>
</table>
<p>&#160;
</p>
<p>To receive Notifications and actions a
callback function can be registered with the method OpenPushCallback(). After
receiving an action, the action should be decoded and dispatched by the an instance of the class GSCActionDispatcher.
The action dispatcher gives you a simple way to react on specific actions. Here
is a short example (in pseudo code):
</p>
<p>&#160;</p>
<p class="CODEetc" style="color: #008000;margin-left: 25px;">&#160;// initialization code:
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// connect to the server
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;MyServer-&gt;Connect();
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;<span style="color: #008000;">// define a handle to a PLC object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;">&#160;HGSCPLC
PLC;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// create a PLC object instance inside the DLL and
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// get a handle to it
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;PLC =
MyServer.CreatePLC();
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// link your callback function for a custom action
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// to the action dispatcher, so that the callback function
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// is called automatically if a cutsom action arrives
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;ActionDispatcher-&gt;OnCustomAction = this-&gt;MyCustomActionHandler;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// register a callback function for notifications,
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// events and actions (this callback function dispatches
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// all received actions with the help of the
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// GSCActionDispatcher)
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;PLC-&gt;OpenPushCallback(...);
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;<span style="color: #008000;">// destroy PLC object
</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;">&#160;PLC-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;<span style="color: #008000;">// destroy server object</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;">&#160;MyServer-&gt;Destroy();
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 25px;">&#160;// callback function for all notifications, events and
</p>
<p class="CODEetc" style="color: #008000;margin-left: 25px;">&#160;// subscribed actions:
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// dispatch the received action to the linked
</p>
<p class="CODEetc" style="color: #008000;margin-left: 50px;">&#160;// callback functions
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;ActionDispatcher-&gt;Dispatch(ActionHandle);
</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;</p>
<p class="CODEetc" style="margin-left: 50px;">&#160;...
</p>
<p>&#160;
&#160;
</p>
<h3>Media channel IDs
</h3>
<p>The existing media channels can be
displayed by the viewer objects of the MediaPlayer interface.
Normally this is done with the method ConnectDB(). This method needs the media channel ID to identify the
media channel (camera) that should be displayed.
</p>
<p>&#160;</p>
<p>The media channel IDs are generated
automatically by the GeViScope server. Every created
media channel gets an ID that is always unique. So if you remove media channels
from the setup and add them again, they will sure receive some new IDs.
</p>
<p>&#160;</p>
<p>For that reason media channels should not
be accessed by constant IDs. It is recommend using global numbers instead,
because they can be changed in the setup. To find the fitting media channel ID
for a given global number, the media channels should be enumerated from the
server setup. Please refer to chapter “Enumeration of setup data” in this
document to see how this is done. </p>
<p>&#160;</p>
<p>There is a similar difficulty with events,
digital inputs and outputs. Events dont have global numbers. Here the event
name should be used instead.
</p>
<p>&#160;
</p>
<h3>Handling connection collapses
</h3>
<p>The callback OpenPushCallback() of the
PLC object enables to listen to different kinds of notifications from the PLC
object. One is the “plcnPushCallbackLost”
notification. It is fired if a connection is internally detected as collapsed.
As a reaction on this event you should destroy or free all objects that were
created inside the DLLs and start a phase of reconnect tries. The reconnect
tries should start every 30 seconds for example. Additionally your application
can listen to UDP broadcasts that are sent by the GeViScope
server. After your application received this broadcast it can directly try to
reconnect to the server. Please be aware of the fact, that broadcasts only work
in LAN routers normally block broadcasts.
</p>
<p>&#160;
</p>
<h3>Using MediaPlayer with GeViScope and MULTISCOPE III servers
</h3>
<p>Generally the MediaPlayer
interface can be used with GeViScope as well as
MULTISCOPE III servers. To link the server connection to the viewer object, the
connection data structure has to be defined. The type of the structure is “TMPConnectData”. The element “ServerType”
identifies the kind of server whose media should be displayed in the viewer.
</p>
<p>&#160;</p>
<p>Please have a look on the example (in
pseudo code) in the chapter “Interaction between DBI and MediaPlayer”
in this document.
</p>
<p>&#160;</p>
<p>For creating different kind of connections,
different DLLs have to be used. For GeViScope the DLL
“GSCDBI.DLL” and for MULTISCOPE III the DLL “MscDBI.DLL” has to be included in
the project or solution of the custom application. They can coexist. </p>
<p>&#160;</p>
<p>Handling a connection to a MULTISCOPE III
server is similar to GeViScope. Details can be found
in the MULTISCOPE III SDK documentation.
</p>
<p>&#160;
</p>
</body>
</html>

View File

@@ -0,0 +1,206 @@
<!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|GeViScope Software Development Kit (SDK)|Using the SDK with .NET">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>0171GSC_Registry</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="017Using_SDK_DotNet.htm">Using the SDK with .NET</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">GeViScope Registry</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">GeViScope REGISTRY</h2>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Using the GscRegistry with .NET</h3>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">Introduction</p>
<p xmlns="http://www.w3.org/TR/REC-html40">By using the GeViScope registry (GSCREGISTRY) it is possible to modify GeViScope/Re_porter settings programmatically. The GscRegistry is a proprietary registry format developed by GEUTEBRÜCK. This registry format is similar to the Microsoft Windows registry.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">All needed GeViScope server settings are stored in the GscRegistry database. The creation of own registry databases based on files is also possible.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The GEUTEBRÜCK GEVISCOPE SDK provides several classes and methods to allow a comfortable access to the GscRegistry.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">Requirements</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following requirements are needed to create a .NET application that uses the GscRegistry functionality:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• .NET-Framework 2.0 SP1 or newer</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- .NET-Framework 2.0 SP1 Wrapper-Assemblies:</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">GscExceptionsNET_2_0.dll</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">GscDBINET_2_0.dll</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- .NET-Framework 4.0 Wrapper-Assemblies:</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">GscExceptionsNET_4_0.dll</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">GscDBINET_4_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• Native Win32-DLLs, used by the .NET-Wrapper:</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- GscActions.dll</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- GscDBI.dll</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- GscMediaPlayer.dll</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- GscHelper.dll</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">- MscDBI.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• Microsoft Visual C++ Redistributable Package</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">Using the registry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">In the following, the usage of the GscRegistry with .NET is explained in detail. It discusses the following steps:</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Open the registry</li>
<li value="2"> Read values out of nodes</li>
<li value="3">Create a node</li>
<li value="4">Add values to a node</li>
<li value="5">Save the registry</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">All necessary classes and methods for using the GscRegistry are available in the GscDBI namespace. To include this namespace the following using-statement is needed:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">using</span> GEUTEBRUECK.GeViScope.Wrapper.DBI;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Open the registry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To read or modify GeViScope/Re_porter settings it is necessary to establish a connection to the preferred GeViScope/Re_porter server before. After this is done you need to create a new object of the class GscRegistry and initialize it by using the CreateRegistry() method which is contained in the GscServer object.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: normal;" xmlns="http://www.w3.org/TR/REC-html40">C#-Code: Open the registry</p>
<p style="font-weight: normal;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span><span style="color: #808080;">(_GscServer !=</span> <span style="color: #4169e1;">null</span><span style="color: #808080;">)</span></p>
<p style="font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #808080;">{</span>
</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// create an object instance of the server registry</span>
</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegistry</span> <span style="color: #808080;">GscRegistry = _GscServer.CreateRegistry();</span></p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span>(GscRegistry != <span style="color: #4169e1;">null</span>)</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// define an array for the setup read request (registry node paths to read)</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegistryReadRequest</span><span style="color: #808080;">[] ReadRequests = </span><span style="color: #4169e1;">new </span><span style="color: #48d1cc;">GscRegistryReadRequest</span><span style="color: #808080;">[1];</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #808080;">ReadRequests[0] =</span> <span style="color: #4169e1;">new </span><span style="color: #48d1cc;">GscRegistryReadRequest</span>(<span style="color: #ff0000;">"/"</span><span style="color: #808080;">, 0);</span></p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// read the nodes (setup data) out of the server registry</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';color: #808080;font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">GscRegistry.ReadNodes(ReadRequests);</p>
<p style="margin-left: 25px;font-family: 'Courier New';color: #808080;font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p style="font-family: 'Courier New';color: #808080;font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The method <i>ReadNodes()</i> of the GscRegistry object expects an array of the type <i>GscRegistryReadRequest</i> which contains all node paths to be read out of the registry. In the source code snippet above, the array simply contains one element which represents the root node (“/”). By reading the root node the entire registry will be read out.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Read values of nodes</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following source code snippet shows how to read values out of nodes:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: normal;" xmlns="http://www.w3.org/TR/REC-html40">C#-Code: Read values out of nodes</p>
<p style="font-weight: normal;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if</span><span style="color: #808080;"> (GscRegistry !=</span> <span style="color: #4169e1;">null</span><span style="color: #808080;">)</span></p>
<p style="color: #808080;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegNode </span><span style="color: #808080;">RegNode = GscRegistry.FindNode(</span>"/System/MediaChannels/"<span style="color: #808080;">);</span></p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">for</span><span style="color: #808080;"> (</span><span style="color: #4169e1;">int</span><span style="color: #808080;"> i = 0; i &lt; RegNode.SubNodeCount; ++i)</span>
</p>
<p style="margin-left: 25px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #808080;">{</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// find the GeViScope registry node of the parent node by means of the index</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegNode</span> <span style="color: #808080;">SubRegNode = RegNode.SubNodeByIndex(i);</span></p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegVariant</span> <span style="color: #808080;">RegVariant = <span style="color: #4169e1;">new </span>GscRegVariant();</span></p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="margin-left: 50px;color: #008000;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">// Get the value "Name" out of the sub registry type and store the value and</p>
<p style="margin-left: 50px;color: #008000;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">// value type in the GscRegVariant class</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #808080;">SubRegNode.GetValueInfoByName("Name", <span style="color: #4169e1;">ref </span>RegVariant);</span>
</p>
<p style="margin-left: 50px;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="margin-left: 50px;color: #808080;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span>(RegVariant != <span style="color: #4169e1;">null </span>&amp;&amp; RegVariant.ValueType == <span style="color: #48d1cc;">GscNodeType</span>.ntWideString)</p>
<p style="margin-left: 50px;color: #808080;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">Console.WriteLine(RegVariant.Value.WideStringValue);</p>
<p style="margin-left: 25px;color: #808080;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p style="color: #808080;font-family: 'Courier New';font-size: 9pt;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To read a specific node out of the registry the <i>GscRegistry</i> class provides the method <i>FindNode()</i>.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">For that the path to the preferred node has to be committed to the method and it you will get back an object of the type of <i>GscRegNode</i>. This object contains all sub nodes and values of the found node.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To access a sub node of the parent node the method <i>SubNodeByIndex()</i> provided by the class <i>GscRegNode</i> can be used or use the <i>SubNodeByName()</i> method if the name of the sub node is already known.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The method <i>GetValueInfoByName()</i> can be used to access a specific value of a node. This method expects the name of the specific value as well as a reference to an object of type of <i>GscRegVariant</i>. The <i>GscRegVariant</i> object will be filled with the type of the value (ValueType) as well as the value itself (Value).</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Create a node</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To create a new node in a parent node the method <i>CreateSubNode()</i> which is provided by the class <i>GscRegNode</i> needs to be called. The method expects the name of the new node.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">C#-Code: Create a node</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span>(_GscRegistry != <span style="color: #4169e1;">null</span>)</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegNode</span> RegNode = _GscRegistry.FindNode(<span style="color: #ff0000;">"/System/MediaChannels/0000"</span>);</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// create a new sub node in NodePath</span>
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span>(RegNode != <span style="color: #4169e1;">null</span>)</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">RegNode.CreateSubNode(<span style="color: #ff0000;">"NewNode"</span>);</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Add values to a node</p>
<p xmlns="http://www.w3.org/TR/REC-html40">There are several methods in the class <i>GscRegNode</i> to add values to a node. Depending on the type of the value it is needed to call the right method for writing this type into the registry. For example if you would like to write an Int32 value into the registry you need to use the method <i>WriteInt32()</i>.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">C#-Code: Add values to node</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">public void</span> AddValue(<span style="color: #4169e1;">string </span>NodePath, <span style="color: #4169e1;">string </span>ValueName, <span style="color: #48d1cc;">GscNodeType </span>ValueType,</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">object Value)</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegNode</span> RegNode = _GscRegistry.FindNode(NodePath);</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if </span>(RegNode != <span style="color: #4169e1;">null</span>)</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">switch </span>(ValueType)</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">case </span><span style="color: #48d1cc;">GscNodeType</span>.ntWideString:</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 100px;" xmlns="http://www.w3.org/TR/REC-html40">RegNode.WriteWideString(ValueName, Value.ToString());</p>
<p class="CODEetc" style="margin-left: 100px;" xmlns="http://www.w3.org/TR/REC-html40">break;</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">case </span><span style="color: #48d1cc;">GscNodeType</span>.ntInt32:</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">{</p>
<p class="CODEetc" style="margin-left: 100px;" xmlns="http://www.w3.org/TR/REC-html40">RegNode.WriteInt32(ValueName, <span style="color: #48d1cc;">Convert</span>.ToInt32(Value));</p>
<p class="CODEetc" style="margin-left: 100px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">break</span>;</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">}</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Save the registry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After the <i>GscRegistry</i> object was modified (e.g. new nodes/new values), the server also needs to know about the changes made. For this the GscRegistry class provides the method <i>WriteNodes()</i>.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">C#-Code: Add values to node</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// define an array for the setup write request</span>
</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #48d1cc;">GscRegistryWriteRequest</span>[] WriteRequests = <span style="color: #4169e1;">new </span><span style="color: #48d1cc;">GscRegistryWriteRequest</span>[1];</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">WriteRequests[0] = <span style="color: #4169e1;">new </span><span style="color: #48d1cc;">GscRegistryWriteRequest</span>(<span style="color: #ff0000;">"/"</span>, 0);</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">GscRegistry.WriteNodes(WriteRequests, <span style="color: #4169e1;">true</span>);</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The <i>WriteNodes()</i> method expects an array containing objects of the type of <i>GscRegistryWriteRequest</i>. Each GscRegistryWriteRequest contains a path to a node that has to be saved.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="Notice">&#160;NOTICE</p>
<p class="NoticePrint" xmlns="http://www.w3.org/TR/REC-html40">It is recommended to only add one element to this array which contains the root path (“/”). This results in saving the entire registry structure.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">Structure of GSCRegistry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The GEVISCOPE SDK offers two possibilities to browse the structure of the <i>GscRegistry</i>. By means of the application <i>GscRegEdit</i> that is delivered with the SDK, it is possible to browse or modify the registry similar to Microsofts Windows registry.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">In addition to <i>GscRegEdit</i> you can also use the registry editor which is integrated in GSCSetup. To activate this feature the key combination <i>STRG+ALT+U</i> needs to be actuated. The entry <i>Registry editor</i> in the section <i>Utilities</i> in the navigation bar on the left will now be shown.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">Examples</p>
<p xmlns="http://www.w3.org/TR/REC-html40">To get a better idea of how to use the GscRegistry, the GEVISCOPE SDK provides further .NET example applications.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The examples can be found in the folder „Examples“ folder in the GeViScopeSDK main folder:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">C:\Program Files (x86)\GeViScopeSDK\Examples\VS2008NET\VS2008NET_GscRegEdit<br xmlns="http://www.w3.org/TR/REC-html40" />Simple registry editor, GUI application (Visual Studio 2008)</li>
<li value="2">C:\Program Files (x86)\GeViScopeSDK\Examples\VS2008NET\VS2010NET_GscRegEdit<br xmlns="http://www.w3.org/TR/REC-html40" />Simple registry editor, GUI application (Visual Studio 2010)</li>
<li value="3">C:\Program Files (x86)\GeViScopeSDK\Examples\VS2008NET\VS2008NET_GscRegistryBasics<br xmlns="http://www.w3.org/TR/REC-html40" />Console application (Visual Studio 2008)</li>
<li value="4">C:\Program Files (x86)\GeViScopeSDK\Examples\VS2010NET\VS2010NET_GscRegistryBasics<br xmlns="http://www.w3.org/TR/REC-html40" />Console application (Visual Studio 2010)</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
</body>
</html>

View File

@@ -0,0 +1,95 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Using the SDK with .NET
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Using the SDK with .NET
</span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Using the SDK with .NET
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">To make the usage of the native Win32 DLLs
easier in .NET languages like C# or VB.NET, the SDK contains some wrapper
assemblies around the plain SDK DLLs.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/017image004a_600x438.png" alt="DotNet_WrapperAssemblies.jpg" class="padding600" style="width: 600;height: 438;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">These wrapper assemblies are developed in
C++/CLI and published with the SDK. The assemblies can be found in the GeViScope SDK binary folder “GeViScopeSDK\BIN”. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The SDK provides wrapper assemblies for the .NET-Frameworks versions 2.0 and 4.0 which are named as follows:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">.NET-Framework 2.0</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscExceptionsNET_2_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscActionsNET_2_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscMediaPlayerNET_2_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscDBINET_2_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p style="font-weight: bold;" xmlns="http://www.w3.org/TR/REC-html40">.NET-Framework 4.0</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscExceptionsNET_4_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscActionsNET_4_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscMediaPlayerNET_4_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40">• GscDBINET_4_0.dll</p>
<p xmlns="http://www.w3.org/TR/REC-html40"> <![CDATA[ ]]></p>
<p xmlns="http://www.w3.org/TR/REC-html40">These wrapper assemblies can be used
together with our native SDK DLLs (GscActions.DLL, GscDBI.DLL, GscHelper.DLL,
GscMediaPlayer.DLL, MscDBI.DLL) to create custom applications under any .NET
language on a windows platform. The assemblies need to be referenced by the
.NET project and all the files (assemblies and native DLLs) have to reside in
the application folder.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/017image002a.png" xmlns="http://www.w3.org/TR/REC-html40" class="padding600" />
</p>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Deploying a custom solution based on the .NET wrapper
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">To successfully deploy a custom application
that uses the .NET wrapper contained in the SDK, the following prerequisites
have to be fulfilled:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">a) Microsoft Visual C++ Redistributable Package has to be
installed</p>
<p xmlns="http://www.w3.org/TR/REC-html40"> <![CDATA[ ]]></p>
<p xmlns="http://www.w3.org/TR/REC-html40">The wrapper assemblies are developed in C++/CLI. So for executing them on a none development machine, the Microsoft Visual C++ Redistributable Package is needed. This package exists in a debug or in a release version. On productive machines the release version needs to be installed.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">For applications using the .NET-Framework 2.0 the Visual C++ 2008 Redistributable Package is needed. In case that the application is developed using the .NET-Framework 4.0 you need to install the Visual C++ 2010 Redistributable Package.</p>
<p xmlns="http://www.w3.org/TR/REC-html40"> <![CDATA[ ]]></p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">b) .NET Framework Version 2.0 SP 1 or newer has to be
installed </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If updating the .NET Framework on a
GEUTEBRÜCK device (GeViScope or re_porter) fails, a special Microsoft tool
Windows Installer CleanUp Utility (MSICUU2.exe) can improve the situation. After executing
this tool, updating the Framework should be possible.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">c) Wrapper assemblies AND native SDK DLLs are needed </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Beside the custom application also the
wrapper assemblies and the native SDK DLLs (listed above) are needed in the
same folder as in which the custom application resides.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If the application uses the .NET-Framework 4.0 you need to reference the GeViScope wrapper DLLs with the extension _4_0 otherwise please use the wrapper assemblies with the extension _2_0 (see above).</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,428 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>GSCView data filter plugins </title>
<link href="Resources/TableStyles/Rows.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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">GscView data filter plugins</span>
</div>
<h2>GSCView data filter plugins </h2>
<h3>Introduction </h3>
<p>GSCView offers the possibility to integrate
customized data filter dialogs. Data filter dialogs are used to search and
filter video footage by additional event data. They can be customized to the different
business environments in which GeViScope is used.</p>
<p>
<img width="599" height="363" src="Images/018image002.jpg" alt="AllHelloWorldEvents.jpg" class="padding600" />
</p>
<p>The following sections support you with
some suggestions and hints about creating customized data filter plugins.</p>
<h3>General hints </h3>
<p>Custom data filters are hosted in flat windows
32Bit dynamic link libraries. Differing from normal DLLs the data filter DLLs
have the extension “.GPI”. All data filter DLLs existing in the same folder as
GSCView are integrated in GSCView automatically. </p>
<p>
<img width="345" height="152" src="Images/018image004.jpg" alt="AvailableDataFilters.jpg" class="padding600" />
</p>
<h3>The customized data filter DLL interface </h3>
<p>Each DLL has to export the function
GSCPluginRegisterSearchFilter() that is called by GSCView to use the customized
dialogs. The exact definition of this function and some additional type
definitions can be found in the unit “GSCGPIFilter.pas/.h”.</p>
<p> &#160; </p>
<p>Inside the function
GSCPluginRegisterSearchFilter() one or even more data filter dialogs have to be
registered by calling the function Callbacks.RegisterFilter().</p>
<p> &#160; </p>
<p>The following example (in pseudo code)
shows how this is done:</p>
<p> &#160; </p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #4169e1;">if</span>(Callbacks.RegisterFilter == NULL)</p>
<p class="CODEetc" style="margin-left: 50px;"><span style="color: #4169e1;">return </span>FALSE;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;">TPluginFilterDefinition def;
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;">def =
SimpleFilter.GetFilterDefinition();
</p>
<p class="CODEetc" style="margin-left: 25px;">Callbacks.RegisterFilter(Callbacks.HostHandle, def);
</p>
<p>&#160;</p>
<p>The structure TPluginFilterDefinition
defines some informational data and all the callback functions needed for a
single dialog. GSCView uses the definition to call the different callback
functions during its execution.
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 120px;" />
<col style="width: 400px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Name of callback function</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">InitFilter()
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Can be used to initialize the data filter
dialog. To integrate the dialog in GSCView, the function has to return true. </td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">ShowFilter() </td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Inside this function the dialog should be
displayed as a stand-alone (modal) dialog. GSCView calls the function after
the user activates the <img width="18" height="18" src="Images/018image005.jpg" alt="ShowDataFilterButton.jpg" />&#160;button.</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">DeinitFilter() </td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Can be used to deinitialize the data
filter dialog. The function has to return true, even if it is not used. </td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">GetFilterGuid()
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">The function should provide a global
unique identifier (GUID) that is used inside GSCView to identify the dialog.
The GUID can be defined as a static constant value. </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>As an alternative to the modal display of
the data filter dialog, the dialog can be displayed nested in the GSCView main
window or GSCView event list. But at the moment this feature is only supported
by custom filter dialogs created with Borland Delphi ©.
</p>
<p>&#160;</p>
<p>
<img src="Images/018image006.jpg" alt="NestedDataFilter.jpg" class="padding600" />
</p>
<p>To achieve the nested display, the
additional callback functions of the structure TPluginFilterDefinition have to
be implemented. The Borland Delphi © example “GSCViewDataFilter” demonstrates
the details. </p>
<h3>Creating the filter criteria </h3>
<p>If the custom data filter is applied,
GSCView does a query against the tables “events” and “eventdata” of the
internal GeViScope database. For this query a filter criteria is needed. The
custom data filter delivers the criteria and gives it back to GSCView in the
ShowFilter() callback function.</p>
<p>&#160;</p>
<p>To build up meaningful filter criteria some
background knowledge of the GeViScope database is needed. </p>
<p>The table “events” contains all the events recorded
in the database (only event information, not the samples; the samples are
linked to the events). </p>
<p>&#160;</p>
<p>The table “eventdata” contains additional
data belonging to the events. Inside the table the different parameters of
actions are saved. If for example an event is started by the CustomAction(4711,
“Hello world”), the value 4711 is saved in the row “Int64_A” and the value
“Hello world” is saved in the row “String_A”. Because the event is started by a
CustomAction, the value 8 is saved in the row “EventDataKind”. Each action has
an individual mapping of action parameters to rows in the table “eventdata”.
</p>
<p>&#160;</p>
<p>For different business environments special
actions can be created by GEUTEBRÜCK. There already exist some special actions
like:</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 150px;" />
<col style="width: 200px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Action name</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Business environment</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">ATMTransaction()
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Automated teller machines
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">ACSAccessGranted()
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Access control systems
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">SafebagOpen()
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Cash management systems
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">POSData()
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">Point of sale systems
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>The action internally defines the mapping
of action parameters to rows in the table “eventdata”. The code of an action
(for a CustomAction the code is 8) is stored in the row “EventDataKind”. The
codes of actions are listed in the action reference documentation “GSCActionsReference_EN.pdf”.</p>
<p>&#160;</p>
<p>To evaluate the mapping of action
parameters to database rows, GSCSetup can be used. By pressing STRG+ALT+U in
GSCSetup the special utility “DBI test” gets available. </p>
<p>
<img src="Images/018image007.jpg" alt="GSCSetupUtility.jpg" class="padding600" />
</p>
<p>With “DBI test” the structure and content
of the GeViScope database can be analyzed. The following SQL queries can be
helpful:</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 150px;" />
<col style="width: 250px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">SQL query</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function
</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">select * from events
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Fetches records from the table “events”
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">select * from eventdata
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Fetches records from the table
“eventdata”
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowEnd_ColSep">select * from samples
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowEnd_ColEnd">Fetches records from the table “samples”
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>The following table should demonstrate how
to build up filter criteria depending on parameters given in the custom data
filter dialog (here the CustomAction() is used to start the events):
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 180px;" />
<col style="width: 255px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Action parameter INT</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Action parameter STRING</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">FilterCriteria.SQLstatement</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">SQL query</th>
</tr>
</thead>
<tbody>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Nothing
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Nothing
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">EventData.EventDataKind
= 8
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">select * from EventData
&#160;left join Events
&#160;on
EventData.EventID = Events.EventID
&#160;with
EventData.EventDataKind = 8
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Nothing
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Hello world
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">EventData.EventString_A = "Hello
world" and
&#160;EventData.EventDataKind = 8
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">select * from EventData
&#160;left join Events
&#160;on EventData.EventID
= Events.EventID
&#160;with
EventData.EventString_A = "Hello world"
and
&#160;EventData.EventDataKind = 8
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">4711
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Nothing
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">EventData.EventInt64_A = 4711 and
&#160;EventData.EventDataKind
= 8
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">select * from EventData
&#160;left join Events
&#160;on EventData.EventID
= Events.EventID
&#160;with
EventData.EventInt64_A = 4711 and
&#160;EventData.EventDataKind = 8
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">4711
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Hello world
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">EventData.EventInt64_A = 4711 and
&#160;EventData.EventString_A
= "Hello world" and
&#160;EventData.EventDataKind = 8
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">select * from EventData
&#160;left join Events
&#160;on
EventData.EventID = Events.EventID
&#160;with
EventData.EventInt64_A = 4711 and
&#160;EventData.EventString_A
= "Hello world" and
&#160;EventData.EventDataKind = 8
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColSep">Nothing
</td>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColSep">Hello*
</td>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColSep">EventData.EventString_A = "Hello*"
and
&#160;EventData.EventDataKind
= 8
</td>
<td class="TableStyle_Rows_Body_0_0_RowEnd_ColEnd">select * from EventData
&#160;left join Events
&#160;on
EventData.EventID = Events.EventID
&#160;with
EventData.EventDataKind = 8
&#160;where EventData.EventString_A LIKE "Hello*"
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>During testing the custom data filter
dialog in the GSCView event list a double click on the status bar of the event
list delivers the SQL query that is executed in the GeViScope server.
</p>
<p>
</p>
<p>
<img src="Images/018image001.jpg" alt="DataFilterSQLQuery.jpg" class="padding600" />
</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,35 @@
<!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|GeViScope Software Development Kit (SDK)">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Examples overview </title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Examples overview </span>
</div>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Examples overview </h2>
<p xmlns="http://www.w3.org/TR/REC-html40">The examples overview is organized in two different views on all examples including the GeViScopeSDK:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="020Examples_GroupedByTasks.htm">Examples grouped by programming tasks</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="021Examples_GroupedByDevelopmentPlatforms.htm">Examples grouped by development platforms</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,370 @@
<!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|GeViScope Software Development Kit (SDK)|Examples overview">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Examples grouped by programming tasks
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="019Examples_Overview.htm">Examples overview</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Grouped by programming tasks</span>
</div>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Examples grouped by programming tasks
</h3>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">LiveStream (CodeGear
C++ Builder 6 and 2009)
</li>
<li value="2">SimpleClient (CodeGear Delphi 7, 2005 and 2009)
</li>
<li value="3">GSCLiveStream (Microsoft Visual
Studio 2005, C++, MFC)
</li>
<li value="4">VS2008CPP_SimpleClient
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="5">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="6">VS2008NET_SimpleClient
(Microsoft Visual Studio 2008, C#)
</li>
<li value="7">VS2008NET_ActionsAndEvents
(Microsoft Visual Studio 2008, C#)
</li>
<li value="8">VS2008WPF_SimpleClient
(Microsoft Visual Studio 2008, C#, WPF)
</li>
<li xmlns="" value="9">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_SimpleClient (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="10">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_ActionsAndEvents (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="11">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010WPF_SimpleClient (Microsoft Visual Studio 2010, C#, WPF)</p>
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Enumerate existing media channels and event types
from a GeViScope server </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">LiveStream (CodeGear
C++ Builder 6 and 2009)
</li>
<li value="2">SimpleClient (CodeGear Delphi 7, 2005 and 2009)
</li>
<li value="3">GSCLiveStream (Microsoft Visual
Studio 2005, C++, MFC)
</li>
<li value="4">VS2008CPP_SimpleClient
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="5">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li xmlns="" value="6">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2008NET_GscRegEdit (Microsoft Visual Studio 2008, C#)</p>
</li>
<li xmlns="" value="7">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2008NET_GscRegistryBasics (Microsoft Visual Studio 2008, C#)</p>
</li>
<li value="8">VS2008NET_SimpleClient
(Microsoft Visual Studio 2008, C#)</li>
<li value="9">VS2010CPP_ConfigReader (Microsoft Visual Studio 2010, C++) </li>
<li xmlns="" value="10">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_SimpleClient (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="11">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_ActionsAndEvents (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="12">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_GscRegEdit (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="13">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_GscRegistryBasics (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="14">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010WPF_SimpleClient (Microsoft Visual Studio 2010, C#, WPF)</p>
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer interface </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">LiveStream (CodeGear
C++ Builder 6 and 2009)
</li>
<li value="2">SimpleClient (CodeGear Delphi 7, 2005 and 2009)
</li>
<li value="3">GSCLiveStream (Microsoft Visual
Studio 2005, C++, MFC)
</li>
<li value="4">VS2008CPP_SimpleClient
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="5">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="6">VS2008NET_SimpleClient
(Microsoft Visual Studio 2008, C#)
</li>
<li value="7">VS2008WPF_SimpleClient
(Microsoft Visual Studio 2008, C#, WPF)
</li>
<li xmlns="" value="8">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_SimpleClient (Microsoft Visual Studio 2010, C#)</p>
</li>
<li xmlns="" value="9">
<p xmlns="http://www.w3.org/TR/REC-html40"> VS2010WPF_SimpleClient (Microsoft Visual Studio 2010, C#, WPF)</p>
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Display recorded event media with the MediaPlayer interface
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="2">VS2008NET_ActionsAndEvents
(Microsoft Visual Studio 2008, C#)
</li>
<li value="3">VS2010NET_ActionsAndEvents (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Handling actions and PLC notifications </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GSCActions (CodeGear
C++ Builder 6 and 2009)
</li>
<li value="2">SimpleClient (CodeGear Delphi 7, 2005 and 2009)
</li>
<li value="3">ResourceStateMonitor (Delphi
2009)
</li>
<li value="4">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="5">VS2008NET_ActionsAndEvents
(Microsoft Visual Studio 2008, C#)
</li>
<li xmlns="" value="6">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010CPP_ControlBlockingFilters (Microsoft Visual Studio 2010, C++)</p>
</li>
<li value="7">VS2010NET_ActionsAndEvents (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Handling events
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">LiveStream (CodeGear
C++ Builder 6 and 2009)
</li>
<li value="2">GSCLiveStream (Microsoft Visual
Studio 2005, C++, MFC)
</li>
<li value="3">VS2008CPP_ActionsAndEvents
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="4">VS2008NET_ActionsAndEvents
(Microsoft Visual Studio 2008, C#)
</li>
<li value="5">VS2010NET_ActionsAndEvents (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Creating backups
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Backup (CodeGear Delphi 7 and 2009)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Synchronized display of more than one media
channels
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">SynchPlayback (CodeGear C++ Builder 6 and 2009)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Custom draw in viewers of MediaPlayer
interface
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">SynchPlayback (CodeGear C++ Builder 6 and 2009)
</li>
<li value="2">VS2008CPP_SimpleClient
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="3">VS2008NET_SimpleClient
(Microsoft Visual Studio 2008, C#)
</li>
<li value="4">VS2010NET_SimpleClient (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Export picture data
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">MediaPlayerExport (CodeGear Delphi 7 and 2009)
</li>
<li value="2">MPEGExport (CodeGear
Delphi 7 and 2009)
</li>
<li value="3">VS2008NET_MediaPlayerExport
(Microsoft Visual Studio 2008, C#)
</li>
<li xmlns="" value="4">
<p xmlns="http://www.w3.org/TR/REC-html40">VS2010NET_MediaPlayerExport (Microsoft Visual Studio 2010, C#)</p>
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Control PTZ cams
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Telecontrol (CodeGear
Delphi 7 and 2009)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Fetch a user blocking list from the server
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">UserBlockingList (CodeGear C++ Builder 6 and 2009)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Decompress live and recorded media with the offscreen viewer
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">OffscreenViewer (CodeGear Delphi 7 and 2009)
</li>
<li value="2">VS2008CPP_OffscreenViewer
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="3"> VS2008CPP_OffscreenViewer_Console (Microsoft Visual Studio 2008, C++) </li>
<li value="4">VS2008NET_OffscreenViewer
(Microsoft Visual Studio 2008, C#)
</li>
<li value="5">VS2010NET_OffscreenViewer (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Decompress raw live media by using the DBI</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_RawLiveStreamDecompress (Microsoft Visual Studio 2008, C++, MFC)</li>
<li value="2">VS2008CPP_RawLiveStreamDecompress_Console (Microsoft Visual Studio 2008, C++)</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Create a general service application
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">WindowsService (CodeGear C++ Builder 6 and 2009)
</li>
<li value="2">VS2008CPP_ServiceFrameworkDemo
(Microsoft Visual Studio 2008, C++)
</li>
<li value="3">VS2008NET_ServiceFrameworkDemo
(Microsoft Visual Studio 2008, C#)
</li>
<li value="4">VS2010NET_ServiceFrameworkDemo (Microsoft Visual Studio 2010, C#) </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Full-duplex audio communication between GeViScope components
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The AudioBackChannel &#160;GeViScope Server Plugin (Visual Studio 2010) is an example for a GeViScope Server plugin. It
realizes a full-duplex audio communication between different GeViScope components. The full scope of operation can be
found in the document <a href="210ABCDoku.htm" xmlns="http://www.w3.org/TR/REC-html40">Audio Back Channel (ABC) Plugin documentation</a>.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Simulate media channels in GeViScope
servers
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The MCS (Media Channel Simulator) GeViScope Server Plugin (CodeGear C++ Builder 6) is another example for a GeViScope Server plugin. It shows
how to channel media data inside the GeViScope system
without using special video hardware. In addition the handling of actions
inside a server plugin is demonstrated. The full
scope of operation can be found in the document <a href="211MCSDoku.htm" xmlns="http://www.w3.org/TR/REC-html40">MCS
Documentation</a>.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Simulate a screen saver as a GeviScope
Server Plugin </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The DelphiScreenSaverPlugin &#160;GeViScope Server Plugin (CodeGear Delphi 7) is another example to demonstrate
channeling media into a GeViScope Server with the
help of a Server Plugin.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Provide a customized data filter dialog in GSCView </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">GSCView offers the possibility to integrate customized data filter dialogs.
Data filter dialogs are used to search and filter video footage by additional
event data. They can be customized to the different business environments in
which GeViScope is used. Detailed information can be
found in the document <a href="018GscView_DataFilter_Plugin.htm">GSCView data filter plugins</a>.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following examples demonstrate how to
create customized data filter dialogs:
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">SimpleGSCViewDataFilter (CodeGear Delphi 7 and 2009)
</li>
<li value="2">GSCViewDataFilter (CodeGear Delphi 7 and 2009)
</li>
<li value="3">VS2008CPP_SimpleGSCViewDataFilter
(Microsoft Visual Studio 2008, C++, MFC)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Presenting GEUTEBRÜCK Backup Files (GBF) </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_SimpleGBFViewer
(Microsoft Visual Studio 2008, C++, MFC)
</li>
<li value="2">SimpleGBFViewer (CodeGear Delphi 2009)
</li>
<li value="3">VS2008NET_SimpleGBFViewer
(Microsoft Visual Studio 2008, C#)
</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Monitor the state of media channels (cameras)
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ResourceStateMonitor (CodeGear Delphi 2009)
</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,491 @@
<!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|GeViScope Software Development Kit (SDK)|Examples overview">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Examples grouped by development platforms
</title>
<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="010GeViScope_SDK.htm">GeViScope Software Development Kit (SDK)</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="019Examples_Overview.htm">Examples overview</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Grouped by development platforms</span>
</div>
<h3 xmlns="http://www.w3.org/TR/REC-html40">Examples grouped by development platforms
</h3>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">CodeGear C++ Builder 6 and 2009 ©</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">LiveStream </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling events </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GSCActions </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">SynchPlayback </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling events </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Synchronized display of more than one media channels </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">UserBlockingList </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Fetch a user blocking list from the server </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">WindowsService </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">WindowsService (CodeGear C++ Builder 6 and 2009) </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">The MCS(Media Channel Simulator) GeViScope Server Plugin is another example for a GeViScope Server plugin. It shows how to channel media data inside the GeViScope system without using special video hardware. In addition the handling of actions inside a server plugin is demonstrated. The full scope of operation can be found in the document <a href="211MCSDoku.htm">MCS
Documentation</a>. </li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">CodeGear Delphi 7, 2005 und 2009 © </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">SimpleClient </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Backup </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Creating backups </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">MediaPlayerExport </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export picture data </p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">MPEGExport </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export picture data
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">Telecontrol
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Control PTZ cams
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">OffscreenViewer
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompress live and recorded media
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">The SimpleGSCViewDataFilter and GSCViewDataFilter
example are examples for customized data filter dialogs of GSCView. Detailed information can be found in the
document <a href="018GscView_DataFilter_Plugin.htm">GSCView
data filter plugins</a>.
</li>
<li value="2">SimpleGBFViewer (only Delphi
2009)
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Open and close a GEUTEBRÜCK Backup Files (GBF)
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels in the GBF file
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display media with the MediaPlayer
interface
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ResourceStateMonitor (only
Delphi 2009)
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">monitor the state of media channels (cameras)
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2005, C++, MFC ©</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GSCLiveStream
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2005, C++, CLI ©</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li xmlns="http://www.w3.org/TR/REC-html40" value="1">The VSIPCamPlugin GeViScope Server Plugin is an example to show how simple it is to channel some pictures from an IP cam into a GeViScope server</li>
</ul>
<p xmlns="http://www.w3.org/TR/REC-html40">
<br xmlns="http://www.w3.org/TR/REC-html40" />
</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2008, C++, MFC ©
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_SimpleClient
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_OffscreenViewer
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompress live and recorded media
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_ActionsAndEvents
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling events
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display recorded event media with the MediaPlayer
interface
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_SimpleGBFViewer
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Open and close a GEUTEBRÜCK Backup Files (GBF)
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels in the GBF file
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display media with the MediaPlayer
interface
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">The VS2008CPP_SimpleGSCViewDataFilter example is an example for a customized data
filter dialog of GSCView. Detailed information can be found in the document <a href="018GscView_DataFilter_Plugin.htm" xmlns="http://www.w3.org/TR/REC-html40">GSCView data filter plugins</a>.
</li>
<li value="2">VS2008CPP_RawLiveStreamDecompress_Console</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Receiving live streams by using the DBI</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompressing frames by means of the decompressor object of the GscMediaPlayer-DLL</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_OffscreenViewer_Console</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Using the OffscreenViewer to receive a live stream in a console application</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">OffscreenViewer provides a decompressed image in a callback</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Only the picture ID (PicID) of the image will be displayed in the console</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_RawLiveStreamDecompress_Console</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Receiving live streams by using the DBI</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompressing frames by means of the decompressor object of the GscMediaPlayer-DLL</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008CPP_OffscreenViewer_Console</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Using the OffscreenViewer to receive a live stream in a console application</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">OffscreenViewer provides a decompressed image in a callback</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Only the picture ID (PicID) of the image will be displayed in the console</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft ActiveX ©</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">GscViewer (ActiveX Control)</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Encapsulating of GeViScope functionality into an ActiveX control</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ActiveX_DOTNETClient</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Invocation of the GscViewer ActiveX control from C#</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ActiveX_HTML_Page</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Invocation of the GscViewer ActiveX control from inside a web page (html)</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ActiveX_VB6Client (deprecated)</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Invocation of the GscViewer ActiveX control from inside a VB6 application</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">ActiveX_VB6MultiClient (deprecated)</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Invocation of several GscViewer ActiveX control from inside a VB6 application</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2008, C# ©
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_SimpleClient
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_ActionsAndEvents
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling events
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display recorded event media with the MediaPlayer
interface
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_OffscreenViewer
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompress live and recorded media
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_RawDBDecompress</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Fetching database records</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompressing the fetched records as fast as possible</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_MediaPlayerExport
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export picture data
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_SimpleGBFViewer
</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Open and close a GEUTEBRÜCK Backup Files (GBF)
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels in the GBF file
</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display media with the MediaPlayer
interface
</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">The VS2010NET_ServiceFrameworkDemo example </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">is an example for a general service application. Services based on the GEUTEBRÜCK <br xmlns="http://www.w3.org/TR/REC-html40" />Service Framework behave like all GEUTEBRÜCK product</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_GscRegEdit</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Simple GeViScope registry editor</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Modify GeViScope settings using the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export settings to GeViScope registry file format</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008NET_GscRegistryBasics</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Simple demonstration in using the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Reading out media channels</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Add a value to the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Saving the GeViScope registry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="GutZuWissenHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2008, C#, WPF © </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2008WPF_SimpleClient </li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope
server </p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer
interface</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2010, C++</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010CPP_ConfigReader</li>
<li value="2">VS2010CPP_ControlBlockingFilters</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2010, C# ©</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_SimpleClient</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer interface</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_ActionsAndEvents</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels and event types from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer interface</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling actions</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Handling events</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display recorded event media with the MediaPlayer interface</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_OffscreenViewer</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompress live and recorded media</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Custom draw</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_RawDBDecompress</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Fetching database records</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Decompressing the fetched records as fast as possible</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_MediaPlayerExport</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export picture data</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_SimpleGBFViewer</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Open and close a GEUTEBRÜCK Backup Files (GBF)</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels in the GBF file</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display media with the MediaPlayer interface</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">The VS2010NET_ServiceFrameworkDemo</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">example is an example for a general service application. Services based on the GEUTEBRÜCK Service Framework behave like all GEUTEBRÜCK product services.</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_GscRegEdit</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Simple GeViScope registry editor</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Modify GeViScope settings using the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Export settings to GeViScope registry file format</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010NET_GscRegistryBasics</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Simple demonstration in using the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Reading out media channels</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Add a value to the GeViScope registry</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Saving the GeViScope registry</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="BeispielHeader" xmlns="http://www.w3.org/TR/REC-html40">Microsoft Visual Studio 2010, C#, WPF ©</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<ul xmlns="http://www.w3.org/TR/REC-html40">
<li value="1">VS2010WPF_SimpleClient</li>
</ul>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Connect to and disconnect from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">enumerate existing media channels from a GeViScope server</p>
<p style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">Display live and recorded media with the MediaPlayer interface</p>
<p style="margin-left: 75px;page-break-after: always;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>The Media Plugin SDK
</title>
<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>
<h1 xmlns="http://www.w3.org/TR/REC-html40">The Media Plugin SDK
</h1>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Introduction </h2>
<p xmlns="http://www.w3.org/TR/REC-html40">This chapter of the documentation describes
the Media Plugin SDK. The Media Plugin SDK is a standalone part of the GeViScope SDK.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">With the help of Media Plugins
functionality can be added to the recording side of GeViScope.
Media Plugins are DLLs which are loaded during the
start of the GeViScope server. Their normal purpose
is to stream media (video and/or audio) data into the server. Additionally
Media Plugins can be used to integrate special IO hardware in GeViScope. </p>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Contents </h2>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="111MediaPlugin_Overview.htm">Overview</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="112MediaPlugin_DLLInterface.htm">The
DLL interface</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="113MediaPlugin_RegisteringDevice.htm">Registering
a device</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="114MediaPlugin_MediaDataLoop.htm">The
media data loop</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="115MediaPlugin_StreamingMediaData.htm">Streaming
media data</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="116MediaPlugin_PluginSettings.htm">Plugin settings</a>
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><a href="117MediaPlugin_NewTaskSettings.htm">New
task settings</a>
</p>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Overview </title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Overview </h2>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/110image016_600x439.jpg" alt="MediaPluginOverview.jpg" class="padding600" style="width: 600;height: 439;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">A Media Plugin is a single DLL that is
loaded by the GeViScope server at its startup. Inside the DLL devices are
defined. A good example for such a device would be an IP camera. Instances of
devices are added to the hardware configuration with the help of GSCSetup.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/110image017_600x449.jpg" alt="AddPluginDevice.jpg" class="padding600" style="width: 600;height: 449;" />
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Each device can have multiple channels. A
channel can be a media channel (for video and/or audio), a digital input
channel or a digital output channel. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Normally an IP camera would be a device
with one media channel.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After adding a device from a Media Plugin
DLL to the hardware configuration, the new available media channel can be added
to the list of media channels (GSCSetup). </p>
<p xmlns="http://www.w3.org/TR/REC-html40">
<img src="Images/110image018_600x450.jpg" alt="AddPluginMediaChannel.jpg" class="padding600" style="width: 600;height: 450;" />
</p>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>The DLL interface </title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">The DLL interface </h2>
<p xmlns="http://www.w3.org/TR/REC-html40">A Media Plugin DLL is a plain windows 32
bit DLL. It has to export the one single function “GSCMediaPluginRequest”.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">PluginRequestResult <span style="color: #4169e1;">__stdcall</span>GSCMediaPluginRequest(IGSCMediaPlugin* pluginHandler,</p>
<p style="margin-left: 250px;" xmlns="http://www.w3.org/TR/REC-html40">PluginRequest&#160;request) </p>
<p xmlns="http://www.w3.org/TR/REC-html40">{ </p>
<p xmlns="http://www.w3.org/TR/REC-html40">} </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">During startup the GeViScope server
searches for all DLLs in the sub folder “MediaPlugins” relative to
“GSCServer.EXE”. All DLLs that export the GSCMediaPluginRequest function are
accepted as a plugin. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">The server calls the function three times:
First time for initialization, second time for registering devices. After
devices had been registered, they run autonomic in a thread. Each device has
its own thread in the server process. During the shutdown of the server the
function is called the third time. Here deinitialization takes place.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following example (in pseudo code)should demonstrate this:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">switch </span>(request) </p>
<p xmlns="http://www.w3.org/TR/REC-html40">{ </p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">case </span>prPluginInitialize:</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #008000;">// initialize all devices
</span></p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #4169e1;">case </span>prPluginRegisterDevices:
</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">&#160;// register and start devices</span>
</p>
<p style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #4169e1;">case </span>prPluginDeinitialize:
</p>
<p style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #008000;">// deinitialize all devices</span></p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p xmlns="http://www.w3.org/TR/REC-html40">} </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,120 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Registering a device
</title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Registering a device
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">After the second call of the function “GSCMediaPluginRequest” (with parameter “request” is set to
“prPluginRegisterDevices”) the plugin
DLL can register one or multiple devices. This is done by calling the global
function “SetSimpleDevice”.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The user can create device instances of
registered devices by using GSCSetup. Actually only
one instance per device can be created. So as a workaround the plugin should register multiple devices of the same type. A
later version of GeViScope will arrange this
procedure more smooth and transparently.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following example (in pseudo code)
should demonstrate the registration of 16 devices of the same type:</p>
<p xmlns="http://www.w3.org/TR/REC-html40"> </p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">case </span>prPluginRegisterDevices:
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">{
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// register 16 devices to support maximal 16 IP cams</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">for(int </span>i = 1; i
&lt;= 16; ++i)
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">{
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// plugin (device) name and serial</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">wstring
PluginName(L"<span style="color: #ff0000;">VS2008CPP_IPCamJPEG"</span>);
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">wstring
PluginSerial(PluginName);
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">wchar_t</span> Buf[1024];
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">_itow_s(i, Buf, 1024, 10);
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">PluginSerial += L<span style="color: #ff0000;">" "</span>;
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">PluginSerial += Buf;
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">PluginSerial += L<span style="color: #ff0000;">" "</span>;
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">PluginSerial += L<span style="color: #ff0000;">" Serial"</span>;
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// device properties</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">const </span>DevicePropertiesEx
</p>
<p class="CODEetc" style="margin-left: 100px;" xmlns="http://www.w3.org/TR/REC-html40">localDeviceProperties(
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">1,
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">0,
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">0,
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">PluginName.c_str(),
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">PluginSerial.c_str(),
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">L<span style="color: #ff0000;">"VS2008CPP - IP-Cam-JPEG-Example"</span>,
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">GSCMediaPlugins::pcIPCameraPlugin,
</p>
<p class="CODEetc" style="margin-left: 150px;" xmlns="http://www.w3.org/TR/REC-html40">0);
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// register the device</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">SetSimpleDevice(pluginHandler,
MediaDataLoop, localDeviceProperties, i,<br xmlns="http://www.w3.org/TR/REC-html40" /></p>
<p class="CODEetc" style="margin-left: 200px;" xmlns="http://www.w3.org/TR/REC-html40">GetDefaultSettings(pluginHandler));
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">}
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">break</span>;
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">}
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If the media plugin
that should be developed is an IP camera driver or an driver for a video
encoder, the property "description" of the structure "DevicePropertiesEx" should follow a special naming
convention:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">DevicePropertiesEx.description
= L<span style="color: #ff0000;">"#Manufacturer IPC"</span>;</p>
<p class="CODEetc" xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">This ensures the consistent presentation of
this plugin like all IP camera drivers in a future
version of the GeViScope software especially in GSCSetup.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>The media data loop
</title>
<link href="Resources/TableStyles/Rows.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>
<h2>The media data loop
</h2>
<p>Each device that is registered gets its own
thread in which the media data loop (function MediaDataLoop) is running. The
media data loop is an endless loop that handles server requests and fulfills the
purpose of the plugin. The server calls the media data loop after startup for
each device instance.
</p>
<p>&#160;</p>
<p>The first thing that a media data loop
should do is waiting for valid plugin device settings. The following example
(in pseudo code) should demonstrate this:
</p>
<p>&#160;</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">// wait until the settings for the plugin device are
available</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #4169e1;">if </span>(WaitForNewSettingsOrAbort() == peStop) <span style="color: #4169e1;">return</span>; <span style="color: #008000;">// Leave loop on
stop request</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;">ReadNewSettings(); <span style="color: #008000;">// Read initial device settings</span> <![CDATA[ ]]></p>
<p>&#160;</p>
<p>After doing internal device instance
creation or device instance initialization the endless loop should follow. The
endless loop waits for events, that the server fires. The events are defined by
the help of a filter definition. Here is an example (in pseudo code) for this:
</p>
<p>&#160;</p>
<p class="CODEetc" style="margin-left: 25px;">PluginNextEventFilter filter =
</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #4169e1;">static_cast</span>&lt;PluginNextEventFilter&gt;(pefNewSettings
| pefCreateNewVideoData);
</p>
<p class="CODEetc" style="margin-left: 25px;">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #008000;">// here the media data loop starts</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;"><span style="color: #4169e1;">for </span>(;;)
</p>
<p class="CODEetc" style="margin-left: 25px;">{
</p>
<p class="CODEetc" style="margin-left: 50px;"><span style="color: #008000;">// wait until the server fires the next event for this
plugin</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;">PluginNextEvent pluginEvent = simpleDevice-&gt;WaitForNextEvent(filter);
</p>
<p class="CODEetc" style="margin-left: 50px;"><span style="color: #4169e1;">switch </span>(pluginEvent)
</p>
<p class="CODEetc" style="margin-left: 50px;">{
</p>
<p>&#160;</p>
<p>The following types of server events are
actually supported (not a complete list):
</p>
<p>&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 140px;" />
<col style="width: 439px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Method
</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Function
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">peCreateNewVideoData
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">The server requests a new image from the
plugin
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">peNewSettings
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">The server notifies the plugin about new
settings, that are available
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">peNewDeviceTask
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">The server notifies the plugin about new
task settings especially for this device
</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">peStop
</td>
<td class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">The server notifies the plugin, that the
plugin should stop its media data loop
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,68 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Streaming media data
</title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Streaming media data
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">If the plugin listens to server events of
type “peCreateNewVideoData” all timing issues are handled by the server. The
plugin only has to react on these events and should deliver an actual image
each time this event is fired.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The server calculates the needed triggering
rate depending on the settings for that device channel. Live streaming as well
as permanent and event recording settings are comprised.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If a device handles more than one channel
the calculation combines all settings of all device channels. The method
“EventTriggeredForWhichChannel” of the device can be used to identify the
channel, for which an image should be created.</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">After the server requests a new image the
plugin should push it to the server by using the streamer interface. The
following example (in pseudo code) should demonstrate this:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">switch </span>(pluginEvent)</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">{ </p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">case </span>peCreateNewVideoData:&#160; </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">{ </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">&#160;// the server requests a new imag</span>
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="">&#160;</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">if</span>(iPCamJPEGDevice-&gt;CreateSnapshot(jPEGPic,
MAXPICSIZE, jPEGPicSize)) </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">{ </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// give the new image to the GeViScope server</span>
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">streamer-&gt;PushJpeg(0, jPEGPic, jPEGPicSize); </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">} </p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">break</span>; </p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">} </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">For pushing bitmaps into the server the
method “PushBitmapAsJpeg” should be used. Please note, that the bitmaps are
compressed into JPEG graphics, which needs a lot of CPU performance.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;
</p>
</body>
</html>

View File

@@ -0,0 +1,99 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Plugin settings
</title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">Plugin settings
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">The settings of a plugin are divided into
device and per channel settings. All settings are stored in an internal format
very similar to the windows registry. </p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The plugin has to define its default settings
that are later modified by the user (GSCSetup). Here is an example (in pseudo
code) of defining default device settings:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">CComPtr&lt;IPluginSettingsDefaultParameters&gt;
GetDefaultSettings(IGSCMediaPlugin* pluginHandler)
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">{
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;PluginDefaultSettings settings(pluginHandler);
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #008000;">// Write default settings for plugin device</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;ReadWritePluginSettings
deviceSettings(settings.DefaultParametersForDevice());
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #008000;">// web cam in Berlin</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;deviceSettings.WriteString(<span style="color: #ff0000;">"Snapshot
URL", </span></p>
<p class="CODEetc" style="margin-left: 175px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #ff0000;">"http://www.dhm.de/webcams/pics/cam4_huge.jpg"</span>);
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #4169e1;">return </span>settings.GetDefaultParameters();
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">}
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p xmlns="http://www.w3.org/TR/REC-html40">Default channel settings are defined by
this:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160; </p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// Write default settings for the channels of the plugin
device</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">ReadWritePluginSettings
channelSettings(settings.DefaultParametersForChannels());
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">channelSettings.WriteInt(<span style="color: #ff0000;">"foo"</span>, 1);
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The plugin notifies the default settings to
the server during device registration:</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// register the device</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">SetSimpleDevice(pluginHandler, MediaDataLoop, localDeviceProperties, i,
GetDefaultSettings(pluginHandler));
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">If the user changes the system settings
(GSCSetup) the server fires the event “peNewSettings”.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">Please not, that this event is also fired, if
the settings of the device are not affected. So it would be a good idea for the
plugin to check if one of its settings has changed or not.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The following example (in pseudo code)
demonstrates reading the plugin settings:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">SettingsReader
reader(simpleDevice);
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">...
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;">const </span>ReadWritePluginSettings&amp; deviceSettings =
reader.DeviceSettings();
</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">string&#160;NewSnapshotURL = deviceSettings.ReadString(<span style="color: #ff0000;">"Snapshot URL"</span>);
</p>
</body>
</html>

View File

@@ -0,0 +1,55 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>New task settings
</title>
<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>
<h2 xmlns="http://www.w3.org/TR/REC-html40">New task settings
</h2>
<p xmlns="http://www.w3.org/TR/REC-html40">For each channel the server notifies the
plugin about new task settings, whenever the server needs to record or stream a
different frame rate or a different video or audio profile (the video profile
defines the quality and the resolution). It fires events of the type
“peNewDeviceTask”.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The server only notifies the plugin, if the
maximal frame rate or the highest video profile changes.
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">The needed frame rate and video or audio
profile can be read out like this:
</p>
<p xmlns="http://www.w3.org/TR/REC-html40">&#160;</p>
<p class="CODEetc" style="margin-left: 25px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;<span style="color: #4169e1;">case </span>peNewDeviceTask:&#160;
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;{
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #008000;">// new
device task settings</span> <![CDATA[ ]]></p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">GeViScopeDeviceTask dt;
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40">simpleDevice-&gt;GetCurrentStreamTask(simpleDevice&gt;EventTriggeredForWhichChannel(),
dt);
</p>
<p class="CODEetc" style="margin-left: 75px;" xmlns="http://www.w3.org/TR/REC-html40"><span style="color: #4169e1;"> break;</span>
</p>
<p class="CODEetc" style="margin-left: 50px;" xmlns="http://www.w3.org/TR/REC-html40">&#160;}
</p>
</body>
</html>

View File

@@ -0,0 +1,374 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Audio Back Channel (ABC) Plugin documentation</title>
<link href="Resources/TableStyles/Rows.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>
<h2><b>Audio Back Channel (ABC) Plugin documentation</b>
</h2>
<h3><b>1. Destination</b>
</h3>
<p>The ABC plugin may be used to create a uni/bidirectional (full duplex)
audio communication between different components of the GeViScope/re_porter
environment. Application scenarios are for example:</p>
<p>&#160;</p>
<ul>
<li value="1"> the uni/bidirectional
audio communication of a GSCView station with GeViScope devices. This may be
used for example for announcements from CCTV workstations to railway stations
where GeViScopes are installed (<b>announcement function</b>).
</li>
<li value="2">the uni/bidirectional audio communication between two GSCView
workstations (<b>audio chat function</b>)
</li>
<li value="3">(not) CCTV related audio broadcast function (for example shopping mall
announcements or even entertainment with recorded audio multimedia material) (<b>thin
audio client function</b>)
</li>
</ul>
<p>&#160;</p>
<p>The ABC function is not thought to replace professional Intercom
technology. Its principal transmission latency of about 500ms makes real
intercom applications inconvenient. It just represents a simple means to
transmit audio from a GSCView workstation to other devices which have the
necessary ABC plugin software installed. Nevertheless the architectural
approach of the feature allows quite flexible communication scenarios.
</p>
<h3><b>2. Communication architecture</b>
</h3>
<p>The ABC function is implemented as a GeViScope media plugin device. It
requires the availability of the ABC plugin on the system which is to output
the audio backchannel on its loudspeakers (<b>ABC output</b>). To access the
audio source a GSCServer must be installed on the system which represents the
input of the audio backchannel (<b>ABC source</b>). The audio device may be a
microphone or any other audio component which may be connected to the PC audio
input. This architectural approach allows different application scenarios which
are to be explained in the following paragraphs together with the necessary setup
parameters in both the&#160;ABC source and the ABC output.</p>
<p>&#160;</p>
<p>The ABC function is working completely independent of the DSP audio
inputs of GeViScope. It may be used even if GeViscope/re_porter is not using
its audio inputs (unidirectional audio for example for the announcement
function). In the following just the ABC function is explained. The common audio
functions of the GSC/re_porter system are not influenced and may be used as
accustomed.</p>
<h4><b>2.1. GSCView → GSC</b>
</h4>
<h5><b>2.1.1 General architecture</b>
</h5>
<p>
<img width="564" height="354" src="Images/210image005.jpg" class="padding600" />
</p>
<p>The image shows the basic communication architecture of ABC. In that
installation the function may be used to send audio from a microphone on the GSCView &#160;workstationto either:</p>
<p>&#160;</p>
<p>1.&#160;&#160;&#160;&#160; a fixed (but connected) GeViScope independently from the video
presentation
</p>
<p>2.&#160;&#160;&#160;&#160; the GeViScope which has the video channel which is presented in the
active viewer of GSCView
</p>
<p>3.&#160;&#160;&#160;&#160; all GeViScopes which are currently connected to GSCView (audio
broadcast)
</p>
<p>&#160;</p>
<p>The ABC behaviour 1,2 or 3 may be parametrized
in GSCView and is dependent on the setup for the ABC control buttons. ABC works
in the following way:</p>
<p>&#160;</p>
<ul>
<li value="1">The audio source for ABC is realized by a (virtual) GSCServer which must
be installed on the ABC source system.
</li>
<li value="2">This virtual server offers an audio media channel which may be accessed
remotely. The input microphone is connected to that media channel.
</li>
<li value="3">GSCView (or any other GSC action source - for example Multimap, GeViSoft
or GSCSDK based applications) transmits ABC Control Actions to the ABC output
system. These actions contain the IP address (or network name) of the ABC
source system.
</li>
<li value="4">The ABC actions are forwarded to the ABC plugin which must be installed
on the ABC output system.
</li>
<li value="5">The ABC plugin gets the IP address of the ABC source and connects to it
via the GSCDBI interface. Then it searches the ABC source for a audio channel which it is to output. If an audio source
channel was found the ABC plugin starts the audio transmission and feeds the
audio to the local loudspeaker output.
</li>
<li value="6"> If the ABC plugin gets an ABC_disconnect action or if it gets a new ABC_connect
action the old audio stream is closed and if necessary the new one is opened.
</li>
</ul>
<p>&#160;</p>
<p>To get that function running there is some setup work (GSCSetup ABC
source, GSCSsetup ABC output, Setup GSCView) necessary which is described in
the following instructions.
</p>
<h5><b>2.1.2 Installation step by step</b>
</h5>
<p>The following describes a step by step setup for the application
scenario of this paragraph. Based on that example the realization of other
types of applications (like an GSCView ↔ GSCView
intercommunication) should be simple.</p>
<p>&#160;</p>
<p><b>ABC source </b>
</p>
<p>&#160;</p>
<p>Before starting you should make sure that the system audio channel is
working at all and the microphone input is processed by Windows. A test with
the Windows audio recorder function shows that.</p>
<p>&#160;</p>
<p>a) (virtual) GSCServer setup</p>
<p>&#160;</p>
<ol style="margin-top: 0cm;list-style-type: decimal;" start="1">
<li value="1">Install
GSCServer on the ABC source system
</li>
<li value="2">Start GSCSetup
and connect to the GSCServer on the ABC source system.
</li>
<li value="3">Move to the
“Hardware” dialog.
</li>
<li value="4">Add a virtual
channel. For example you can use any IP camera type for that. It just
provides a placeholder for the ABC function.
</li>
<li value="5">Check
the “Use &#160;system &#160;audio” box in the &#160;belonging “Hardware settings” dialog. This assigns the system audio input to that media
channel.
</li>
<li value="6">Save the setup
</li>
<li value="7">Move to the
“Media Channels” dialog.
</li>
<li value="8">Add the virtual
media channel to the list.
</li>
<li value="9">Change the name
of that channel to the default name for the ABC function
(AUDIOBACKCHANNEL)
</li>
<li value="10">Move to the live
streaming function dialog of that channel
</li>
<li value="11">Select “High”
for the “Audio profile” of the live stream.
</li>
</ol>
<p>&#160;</p>
<p>After that the source system offers a network audio channel.</p>
<p>&#160;</p>
<p>b) GSCView setup</p>
<p>&#160;</p>
<ol style="margin-top: 0cm;list-style-type: decimal;" start="1">
<li value="1">Open the GSCView
profile manager
</li>
<li value="2">Select the menu
“Custom buttons”
</li>
<li value="3">Create a custom
button
</li>
<ol style="margin-top: 0cm;list-style-type: lower-alpha;" start="1">
<li value="1">Caption &#160;Speak
</li>
<li value="2">Action on mouse
down&#160;ABC_Connect(”ABC
source address”)
</li>
<li value="3">Action on mouse
up &#160;ABC_Disconnect()
</li>
<li value="4">Send to&#160;Server
of selected viewer
</li>
</ol>
</ol>
<p>&#160;</p>
<p>ABC source address in the ABC_Connect actions represents the IP address
or network name of the ABC source system. If the button is pressed the “Action
on mouse down” is sent to the remote GSC. Its ABC plugin receives it and
connects to the IP address parameter of the ABC_Connect Attention: Do not mix
up the IP addresses of the ABC source and ABC output system. If
the button is released that action is as well transmitted to the remote GSC.It tells the ABC plugin to close the IP connection and henceforth to mute the
audio transmission.
</p>
<p>&#160;</p>
<p>If you would like to connect the ABC just to a fixed server you can
select it in the “Send to” option of the “Speak” button. This could perhaps be
necessary in an installation where multiple GSCs are remotely installed at the
same site but just one has a loudspeaker connected.</p>
<p>&#160;</p>
<p><b>ABC output</b>
</p>
<p>&#160;</p>
<p>On the GSC which is to output an ABC channel do the following:</p>
<p>&#160;</p>
<p>Before starting you should make sure that the system audio output is
working at all. Connect a loudspeaker and try to play an audio sample with the
media player.</p>
<p>&#160;</p>
<ol style="margin-top: 0cm;list-style-type: decimal;" start="1">
<li value="1">Copy the ABC
plugin (AudioBackChannel.dll) to the directory mediaplugins (in the
GEVISCOPE system folder).
</li>
<li value="2">Start GSCSetup
and connect to the GSCServer on the ABC output system
</li>
<li value="3">Move to the
“Hardware” dialog.
</li>
<li value="4">Open the menu
item “Add” in the context menu. Select “Add”. This shows a list of
available media plugins. Select the ABC plugin.
</li>
<li value="5">Save that setup
to the GeViScope. It is NOT necessary to setup a “Media channel” for that
plugin as it is accustomed for normal devices.
</li>
</ol>
<p>&#160;</p>
<p>That procedure must be done on each GSC which is to output audio from
the ABC source system.
</p>
<h5><b>2.1.3 Parameters of the ABC plugin</b>
</h5>
<p>In the hardware dialog of the ABC output system you may adjust some
parameters which control the behaviour of the audio backchannel:
</p>
<p class="MsoNormal" align="center" style="text-align: center;">
<img src="Images/210image001_600x372.jpg" class="padding600" style="width: 600;height: 372;" />
</p>
<table class="TableStyle_Rows" style="mc-table-style: url('Resources/TableStyles/Rows.css');" cellspacing="0">
<col style="width: 120px;" />
<col style="width: 480px;" />
<tbody>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Default volume</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Defines the default loudness of the audio output</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep" style="font-weight: bold;">GSCChannel</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">That is the name of the audio channel on the ABC source system. The default is
AUDIOBACKCHANNEL</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">GSC user name<br />GSC password<br /></td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">The connection between the ABC plugin and the ABC source server needs a normal
GSC account. The default is “sysadmin” “masterkey”. If you want to use another
account you can change it here. That account must be available in the setup of
the ABC source system</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowEnd_ColSep" style="font-weight: bold;">Prebuffer latency<br />Runtime latency</td>
<td class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">These parameters influence the audio transmission latency. To have an audio
transmission without stream interruption a certain buffering is necessary. If
there are audio interruptions you may reduce them by increasing the latencies</td>
</tr>
</tbody>
</table>
<h5><b>2.1.4 ABC Actions</b>
</h5>
<p>ABC is controled by special ABC-actions. These actions may be created by
any software which interfaces either GeViScope or GeViSoft. This needs not to
be just GSCView but may be used in Multimap or SDK clients as well to control
the establishment of ABC audio connections. If for example Multimap is used to
control GSCView remotely you may add ABC control buttons to Multimap maps
instead of controling ABC from GSCView. You may even use MBEG or any other
hardware / software interface of GeViSoft to control the ABC function.</p>
<p>&#160;</p>
<p>ABC connections are controled by the following GSC actions:</p>
<p>&#160;</p>
<ul>
<li value="1">ABC_Connect(“ABC source address”)<br />Instructs the remote ABC plugin to connect to the audio channel auf the ABC source. A new ABC_Connect action overwrites the old connection.</li>
<li value="2">ABC_Disconnect()<br />Disconnects the ABC connection on that GSC where it is sent to.</li>
</ul>
<h3><b>3. ABC Extensions (07/2008)</b>
</h3>
<h4><b>3.1 Action controled playing of pre-recorded audio files</b>
</h4>
<ul>
<li value="1">May be used to play
audio files (WAV) controled by any action and action mapping in GSC
</li>
<li value="2">Alternative to the
direct speech between GSCView and GSC. May be used in GSCView as well
alternatively to the direct microphone connection. Has advantages in the
following situations:
</li>
</ul>
<p style="margin-left: 75px;">- Low bandwidth
connections between GSCView and GSC. The ABC live
channel needs a minimum of 128 kbit / second. Playing of predefined audio files
does not consume bandwidth
</p>
<p style="margin-left: 75px;">- the surveillance
staff has no possibility to misuse the live function or to make stupid audio comments
via live connections
</p>
<p style="margin-left: 75px;">- clearer understandable
speech if a predefined reaction is possible. Not dependend from the clarity of
speech of the guards.
</p>
<p style="margin-left: 75px;">- Possible to be
controled from Multiview with custom buttons which address different
announcements.
</p>
<ul>
<li value="1">May be used for lots
of other applications as well :
</li>
</ul>
<p style="margin-left: 75px;">- Audio error messages
on the GSC. All SystemError/Warning actions may be mapped to an audio message
</p>
<p style="margin-left: 75px;">- Automatically
produced audio messages for example by video sensor actions “You are
trespassing a forbidden zone …” <br /><br /></p>
<p>The control is done by the action:
</p>
<p>&#160;</p>
<p class="CODEetc">ABCPlayFile
</p>
<p>&#160;</p>
<p>with the parameters: </p>
<ul>
<li value="1">FileID represents a
number of an audio file. The name is automatically created as
GSCSOUND_FileID.Wav. The ABC plugin searches for files with that name and plays
them.
</li>
<li value="2">FileName represents
a name of an audio file. If that parameter is valid FileID is ignored
</li>
<li value="3">AutoRepeat the
audio file is played in a loop
</li>
</ul>
<p>&#160;</p>
<p>The playback of audio files and file loops may be
interrupted with the ABC_Disconnect action. The audio files should reside in
the GSC home directory.<br /><br /></p>
</body>
</html>

View File

@@ -0,0 +1,340 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>MCS Documentation</title>
<link href="Resources/TableStyles/Rows.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>
<h2><b>MCS Documentation</b>
</h2>
<h3><b>1. General</b>
</h3>
<p>MCS (Media Channel Simulator) is part of the GEUTEBRÜCK GSCSDK. It
serves for 2 purposes:
</p>
<p>&#160;</p>
<ul>
<li value="1">In binary form it is
part of the GeViScope SDK installation. The plugin resides within the directory
mediaplugins of the GeViScope software installation. The GeViScope server loads
the plugins of that directory on start. The MCS plugin simulates important
properties and functions of GeViScope media channels for the developer who
wants to use the GEUTEBRÜCK SDKs. This offers the comfortable possibility to
develop external software for the GeViScope DVR without having any DVSP4
compression hardware or physical image sources like IP cameras.
</li>
<li value="2">In source format the
MCS serves as a programming sample for the most important aspects of the GEUTEBRÜCK
GSCRecPluginSDK. This part of the GSCSDK may be used to integrate external
image sources like IP cameras, grabber boards or TV cards into the GeViScope
environment.
</li>
</ul>
<h3><b>2. MCS as media simulator for the GEUTEBRÜCK GSCSDK</b>
</h3>
<p>The GSCSDK installs the following 4 components which belong to the MCS
plugin:
</p>
<p>&#160;</p>
<ul>
<li value="1">The plugin itself
(MCS.DLL). It resides in the directory MEDIAPLUGINS
</li>
<li value="2">A GeViScope setup
file MCSDefaultSetup.set. You may upload that setup to the GeViScope server to
have basic operation of the simulated GeViScope environment directly available.
So there is no need to deal with the details of the complex parametrization
possibilities of GeViScope at least in the very beginning.
</li>
<li value="3">Some JPEG sample
image directories in the directory MCSIMAGES. The MCSDefaultSetup defines that
the first 4 channels of the 16 MCS channels get their images from these
directories. The other channels simulate images.
</li>
<li value="4">The source code of
the MCS sample as Borland C++ Builder version 6.0 project.
</li>
</ul>
<p>&#160;</p>
<p>MCS simulates:
</p>
<p>&#160;</p>
<ul>
<li value="1">The operation of 16
video channels. It may either generate simulated images or read images from
directory sources.
</li>
<li value="2">The generation of
actions which simulate video motion detections
</li>
<li value="3">The control of the 16
simulated video channels with certain commands like camera off / on or the simulation
of an alarm driven text overlay
</li>
<li value="4">The automatic quality
/ resolution changeover because of event driven recordings or for the GeViScope
feature dynamic live streaming (DLS)
</li>
</ul>
<p>&#160;</p>
<p>The MCSDefaultSetup of the GeViScope server realizes the following basic
functions:
</p>
<p>&#160;</p>
<ul>
<li value="1">Live access for all 16 MCS channels </li>
<li value="2">Event recording for
all 16 MCS channels. This is controled either by the internally simulated video
motion detection simulation or for testing with digital input contact simulations.
</li>
</ul>
<p>&#160;</p>
<p>The following image shows the display of the 16 MCS
channels within GSCView based on the MCSDefaultSetup.set file of the SDK.
</p>
<p>
<img src="Images/211image003_600x434.jpg" alt="MCS.JPG" class="padding600" style="width: 600;height: 434;" />
</p>
<h4><b>2.1 MCS parameters in GSCSetup</b>
</h4>
<p>The MCS plugin sample is controlled in the hardware configuration dialog
of GSCSetup. You may change the following global (for the complete virtual MCS
device) and individual channel parameters.
</p>
<p>&#160;</p>
<p><b>Global parameters:</b>
</p>
<p xmlns="">&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 120px;" />
<col style="width: 120px;" />
<col style="width: 220px;" />
<thead xmlns="">
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Parameter
</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Default value
</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Meaning
</th>
</tr>
</thead>
<tbody xmlns="">
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">ImageDirectory
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">MCSIMAGES
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">The directory
which is used to fetch JPEG images as sources for the 16 MCS channels. Below
that root directory you may have 16 directories Ch0..Ch15. The MCS channels
read the JPEG images within these directories cyclically if the channel
dependent option SimulateImages is false.
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">UseDefault
ImageDirectory
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">If
true the parameter ImageDirectory is ignored. Images are always read from the
path “GeViScope-Server directory”\MCSIMAGES
</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p><b>Local channel parameters</b>
</p>
<p xmlns="">&#160;</p>
<table style="caption-side: top;mc-table-style: url('Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<col style="width: 120px;" />
<col style="width: 120px;" />
<col style="width: 220px;" />
<thead>
<tr>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Parameter</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColSep">Default value</th>
<th class="TableStyle_Rows_Head_0_0_RowSep_ColEnd">Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">ActivityFrequency
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">1
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">average
number of simulated VideoSensorAlarm actions per second per channel
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">RandomActivities
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">simulated
activities are created randomly
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">ShowImageInfo
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">the created
simulated images show image info like compression method or image counters.
Ignored if images are read from an image directory
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">ShowTicker
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">turns
on/off the embedded live ticker of the produced simulated images. Ignored if
images are read from an image directory
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">SimulateActivity
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">turns
VideoSensorAlarm simulation on/off
</td>
</tr>
<tr>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">SimulateImages
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">true
</td>
<td valign="top" class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd">images
are either simulated or read from an image directory.
</td>
</tr>
</tbody>
</table>
<h4><b>2.2 Simulation of channel control with GeViScope
actions</b>
</h4>
<p>The MCS plugin
simulates some behaviour of real world video devices in relation to GeViScope
commands. The following 2 functions are supported for test purposes:
</p>
<p>&#160;</p>
<ul>
<li value="1">Camera off/on. If MCS
receives these commands from GeViScope it will simulate the turn on/off of a
real camera by producing black images
</li>
<li value="2">OSD text. By
receiving that command MCS will overlay the received text to the simulated
images it produces. This function is ignored in case of JPEG images which are
read from an image directory.
</li>
</ul>
<p>&#160;</p>
<p>You may explore that
behavior by using the GeViScope client tool GSCPlcSimulator which is part of
the GeViScope installation. It allows to simulate any command which is
understood by GeViScope. For the functions above you need for example the following
actions (for channel 1 of the plugin):
</p>
<p>&#160;</p>
<ul>
<li value="1">CameraOn (1)
</li>
<li value="2">CameraOff(1)
</li>
<li value="3">CameraRAWOutput (1,
"Hello world")
</li>
</ul>
<p>&#160;</p>
<p>You should see the result in GSCView directly.
</p>
<h4><b>3. MCS source code</b>
</h4>
<p>By analyzing the MCS
source code you may explore the implementation principles for the following
base tasks which are supported by the plugin SDK interface:
</p>
<p>&#160;</p>
<ul>
<li value="1">Registration of media
channels within the GeViScope environment
</li>
<li value="2">Streaming images from
a media source to the GeViScope server
</li>
<li value="3">Using the high speed
MJPEG encoder of the plugin SDK to compress bitmap images
</li>
<li value="4">Receiving stream
control information depending on internal events of the GeViScope system. These
notifications may be used to change video resolution, quality or image rates
inside the plugin.
</li>
<li value="5">Sending messages from
the plugin to the GeViScope server
</li>
<li value="6">Getting notifications
about GeViScope actions which may control the behaviour of the plugin
</li>
<li value="7">Getting access to the
GeViScope setup. The MCS demonstrates how plugins may embed their setup
parameters into the setup environment of GeViScope
</li>
</ul>
<p>&#160;</p>
<p>The GSCSDK installs the complete source code of the
MCS sample as Borland C++ 6.0 project.
</p>
</body>
</html>

View File

@@ -0,0 +1,27 @@
<!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">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Action documentation</title>
<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><span class="MCBreadcrumbs">Action documentation</span>
</div>
<h1>Action documentation</h1>
<p>The following chapter contains a short overview about the existing GEUTEBRÜCK actions and there parameter descriptions.</p>
</body>
</html>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

View File

@@ -0,0 +1,8 @@
<xml xmlns:o="urn:schemas-microsoft-com:office:office">
<o:MainFile HRef="../ABCDoku.htm"/>
<o:File HRef="themedata.thmx"/>
<o:File HRef="colorschememapping.xml"/>
<o:File HRef="image005.jpg"/>
<o:File HRef="image001.jpg"/>
<o:File HRef="filelist.xml"/>
</xml>

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,43 @@
<!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>ACS access denied</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">ATM / ACS</span>
</div>
<h1 class="Mitte">ATM / ACS</h1>
<p>&#160;</p>
<h2 class="Mitte"><a name="ACS"></a>ACS access denied</h2>
<p>&#160;</p>Action name:<i>ACSAccessDenied(ACSName, ACSNo, Account, BancCode, CardNo, TimeStamp, Reason)</i>Action category: logical
ACS access denied.
<table style="caption-side: top;margin-left: 0;margin-right: auto;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 colspan="2" class="HeadE-Column1-Header1">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ACS</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSName</i></td><td width="77px" class="BodyD-Column1-Body1">ACS name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">ACS no</td><td width="72px" class="BodyE-Column1-Body2"><i>ACSNo</i></td><td width="77px" class="BodyD-Column1-Body2">ACS no.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">account</td><td width="72px" class="BodyE-Column1-Body1"><i>Account</i></td><td width="77px" class="BodyD-Column1-Body1">Account no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">bank code</td><td width="72px" class="BodyE-Column1-Body2"><i>BancCode</i></td><td width="77px" class="BodyD-Column1-Body2">Bank code.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">card no</td><td width="72px" class="BodyE-Column1-Body1"><i>CardNo</i></td><td width="77px" class="BodyD-Column1-Body1">Card no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="77px" class="BodyD-Column1-Body2">Time stamp.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">reason</td><td width="72px" class="BodyE-Column1-Body1"><i>Reason</i></td><td width="77px" class="BodyD-Column1-Body1">Reason.</td></tr></table><p>&#160;</p><div id="nsr" class="header"><h2 class="Mitte"><a name="ACS2"></a>ACS access granted</h2><p>&#160;</p></div><div id="text" class="content">Action name:<i>ACSAccessGranted(ACSName, ACSNo, Account, BancCode, CardNo, TimeStamp)</i>Action category: logical
</div><div class="content">ACS access granted.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><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 align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ACS</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSName</i></td><td width="77px" class="BodyD-Column1-Body1">ACS name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">ACS no</td><td width="72px" class="BodyE-Column1-Body2"><i>ACSNo</i></td><td width="77px" class="BodyD-Column1-Body2">ACS no.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">account</td><td width="72px" class="BodyE-Column1-Body1"><i>Account</i></td><td width="77px" class="BodyD-Column1-Body1">Account no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">bank code</td><td width="72px" class="BodyE-Column1-Body2"><i>BancCode</i></td><td width="77px" class="BodyD-Column1-Body2">Bank code.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">card no</td><td width="72px" class="BodyE-Column1-Body1"><i>CardNo</i></td><td width="77px" class="BodyD-Column1-Body1">Card no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="77px" class="BodyD-Column1-Body2">Time stamp.</td></tr></table><p>&#160;</p></div><h2 class="Mitte"><a name="ACS3"></a>ACS raw answer</h2><p>&#160;</p>Action name:<i>ACSRawAnswer(ACSName, TimeStamp, ACSData)</i>Action category: logical
ACS raw answer.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><col class="Column-Column1"></col><col class="Column-Column1"></col><col class="Column-Column1"></col><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ACS</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSName</i></td><td width="82px" class="BodyD-Column1-Body1">ACS name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="82px" class="BodyD-Column1-Body2">Time stamp.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">answer</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSData</i></td><td width="82px" class="BodyD-Column1-Body1">ACS answer.</td></tr></table><p>&#160;</p><h2 class="Mitte"><a name="ACS4"></a>ACS raw data</h2><p>&#160;</p>Action name:<i>ACSRawData(ACSName, TimeStamp, ACSData)</i>Action category: logical
ACS raw data.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><col class="Column-Column1"></col><col class="Column-Column1"></col><col class="Column-Column1"></col><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ACS</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSName</i></td><td width="77px" class="BodyD-Column1-Body1">ACS name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="77px" class="BodyD-Column1-Body2">Time stamp.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">data</td><td width="72px" class="BodyE-Column1-Body1"><i>ACSData</i></td><td width="77px" class="BodyD-Column1-Body1">ACS data.</td></tr></table><p>&#160;</p><div id="nsr" class="header"><h2 class="Mitte"><a name="ATM"></a>ATM raw answer</h2><p>&#160;</p></div><div id="text" class="content">Action name:<i>ATMRawAnswer(ATMName, TimeStamp, ATMData)</i>Action category: logical
ATM raw answer.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><col class="Column-Column1"></col><col class="Column-Column1"></col><col class="Column-Column1"></col><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ATM</td><td width="72px" class="BodyE-Column1-Body1"><i>ATMName</i></td><td width="83px" class="BodyD-Column1-Body1">ATM name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="83px" class="BodyD-Column1-Body2">Time stamp.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">answer</td><td width="72px" class="BodyE-Column1-Body1"><i>ATMData</i></td><td width="83px" class="BodyD-Column1-Body1">ATM answer.</td></tr></table><p>&#160;</p></div><h2 class="Mitte"><a name="ATM2"></a>ATM raw data</h2><p>&#160;</p>Action name:<i>ATMRawData(ATMName, TimeStamp, ATMData)</i>Action category: logical
ATM raw data.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><col class="Column-Column1"></col><col class="Column-Column1"></col><col class="Column-Column1"></col><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">ATM</td><td width="72px" class="BodyE-Column1-Body1"><i>ATMName</i></td><td width="77px" class="BodyD-Column1-Body1">ATM name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="69px" class="BodyE-Column1-Body2">time stamp</td><td width="72px" class="BodyE-Column1-Body2"><i>TimeStamp</i></td><td width="77px" class="BodyD-Column1-Body2">Time stamp.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="69px" class="BodyE-Column1-Body1">data</td><td width="72px" class="BodyE-Column1-Body1"><i>ATMData</i></td><td width="77px" class="BodyD-Column1-Body1">ATM data.</td></tr></table><p>&#160;</p><h2 class="Mitte"><a name="ATM3"></a>ATM transaction</h2><p>&#160;</p>Action name:<i>ATMTransaction(ATMName, NewTransaction, Photostep, ATMNo, Account, BancCode, CardNo, TAN1, TAN2, TimeStamp1, TimeStamp2, Amount, Currency)</i>Action category: logical
ATM transaction.
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" cellspacing="0" class="TableStyle-Rows"><col class="Column-Column1"></col><col class="Column-Column1"></col><col class="Column-Column1"></col><thead><tr class="Head-Header1"><th class="HeadE-Column1-Header1" colspan="2">Parameter</th><th class="HeadD-Column1-Header1">Function</th></tr></thead><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">ATM</td><td width="100px" class="BodyE-Column1-Body1"><i>ATMName</i></td><td width="103px" class="BodyD-Column1-Body1">ATM name.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">new transaction</td><td width="100px" class="BodyE-Column1-Body2"><i>NewTransaction</i></td><td width="103px" class="BodyD-Column1-Body2">New transaction.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">photostep</td><td width="100px" class="BodyE-Column1-Body1"><i>Photostep</i></td><td width="103px" class="BodyD-Column1-Body1">Photostep.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">ATM no</td><td width="100px" class="BodyE-Column1-Body2"><i>ATMNo</i></td><td width="103px" class="BodyD-Column1-Body2">ATM no.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">account</td><td width="100px" class="BodyE-Column1-Body1"><i>Account</i></td><td width="103px" class="BodyD-Column1-Body1">Account no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">bank code</td><td width="100px" class="BodyE-Column1-Body2"><i>BancCode</i></td><td width="103px" class="BodyD-Column1-Body2">Bank code.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">card no</td><td width="100px" class="BodyE-Column1-Body1"><i>CardNo</i></td><td width="103px" class="BodyD-Column1-Body1">Card no.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">tan 1</td><td width="100px" class="BodyE-Column1-Body2"><i>TAN1</i></td><td width="103px" class="BodyD-Column1-Body2">TAN 1.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">tan 2</td><td width="100px" class="BodyE-Column1-Body1"><i>TAN2</i></td><td width="103px" class="BodyD-Column1-Body1">TAN 2.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">time stamp 1</td><td width="100px" class="BodyE-Column1-Body2"><i>TimeStamp1</i></td><td width="103px" class="BodyD-Column1-Body2">Time stamp 1.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">time stamp 2</td><td width="100px" class="BodyE-Column1-Body1"><i>TimeStamp2</i></td><td width="103px" class="BodyD-Column1-Body1">Time stamp 2.</td></tr><tr align="left" valign="top" class="Body-Body2"><td width="97px" class="BodyE-Column1-Body2">amount</td><td width="100px" class="BodyE-Column1-Body2"><i>Amount</i></td><td width="103px" class="BodyD-Column1-Body2">Amount.</td></tr><tr align="left" valign="top" class="Body-Body1"><td width="97px" class="BodyE-Column1-Body1">currency</td><td width="100px" class="BodyE-Column1-Body1"><i>Currency</i></td><td width="103px" class="BodyD-Column1-Body1">Currency.</td></tr></table><p>&#160;</p><p>&#160;</p></body>
</html>

View File

@@ -0,0 +1,117 @@
<!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>Audio control</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">Audio control</span>
</div>
<h1 class="Mitte">Audio control</h1>
<p id="text">All actions to control the audio streams, also all notifications about the state change of the audio streams.</p>
<p>&#160;</p>
<h2 class="Mitte"><a name="ABC"></a>ABC connect</h2>
<div id="text" class="content">Action name:<i>ABCConnect(Address)</i>Action category: logical
Connect audio back channel.</div>
<table style="caption-side: top;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/TABLE.css');" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1">
</col>
<col class="Column-Column1">
</col>
<col class="Column-Column1">
</col>
<thead>
<tr class="Head-Header1">
<th colspan="2" class="HeadE-Column1-Header1">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr align="left" valign="top" class="Body-Body1">
<td width="51px" class="BodyE-Column1-Body1">address</td>
<td width="53px" class="BodyE-Column1-Body1"><i>Address</i>
</td>
<td width="180px" class="BodyD-Column1-Body1">Address of the remote server.</td>
</tr>
<tr height="0px" class="Body-Body2">
</tr>
</table>
<p>&#160;</p>
<h2 class="Mitte"><a name="ABC2"></a>ABC disconnect</h2>
<div id="text" class="content">Action name:<i>ABCDisconnect()</i>Action category: logical
Disconnect audio back channel.</div>
<p>&#160;</p>
<h2 class="Mitte"><a name="ABC3"></a>ABC play file</h2>
<div id="text" class="content">Action name:<i>ABCPlayFile(FileID, FileName, AutoRepeat)</i>Action category: logical
Play file on audio back channel.</div>
<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>
<col class="Column-Column1">
</col>
<col class="Column-Column1">
</col>
<thead>
<tr class="Head-Header1">
<th colspan="2" class="HeadE-Column1-Header1">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr align="left" valign="top" class="Body-Body1">
<td width="58px" class="BodyE-Column1-Body1">file id</td>
<td width="74px" class="BodyE-Column1-Body1"><i>FileID</i>
</td>
<td width="149px" class="BodyD-Column1-Body1">File ID.</td>
</tr>
<tr align="left" valign="top" class="Body-Body2">
<td width="58px" class="BodyE-Column1-Body2">file name</td>
<td width="74px" class="BodyE-Column1-Body2"><i>FileName</i>
</td>
<td width="149px" class="BodyD-Column1-Body2">Name of the file.</td>
</tr>
<tr align="left" valign="top" class="Body-Body1">
<td width="58px" class="BodyE-Column1-Body1">repeat</td>
<td width="74px" class="BodyE-Column1-Body1"><i>AutoRepeat</i>
</td>
<td width="149px" class="BodyD-Column1-Body1">Repeat file automatically</td>
</tr>
</table>
<p>&#160;</p>
<h2 class="Mitte"><a name="Sensor"></a>Sensor audio alarm</h2>
<div id="text" class="content">Action name:<i>SensorAudioAlarm(Channel)</i>Action category: logical
Audio alarm detected.</div>
<table style="caption-side: top;margin-left: 0;margin-right: auto;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 colspan="2" class="HeadE-Column1-Header1">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tr align="left" valign="top" class="Body-Body1">
<td width="51px" class="BodyE-Column1-Body1">channel</td>
<td width="54px" class="BodyE-Column1-Body1"><i>Channel</i>
</td>
<td width="60px" class="BodyD-Column1-Body1">Channel.</td>
</tr>
<tr height="0px" class="Body-Body2" />
</table>
<p>&#160;</p>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,567 @@
<!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>Cash management 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">Cash management actions</span>
</div>
<h1>Cash management actions</h1>
<p>Cash Management Actions offer the exchange of accompanying meta data between Cash Management Systems and GeViScope/Re_porter. With these actions money handling processes can be documented consistently via video. The use of these actions for starting and restarting of event recordings leads to the display of the accompanying video data in live streams of GscView and the storage of those in the video database. The video sequences recorded by Cash Management Actions can later be recovered easily in GscView by using the accompanying meta data and a special data filter dialog.</p>
<p>&#160;</p>
<h2><a name="Safebag"></a>Safebag close</h2>
<p>Action name:SafebagClose(WorkingPlace, StartTime, StopTime, SafebagNo, SafebagInfo, StepID, Debit, Total, Difference, HasDifference, Notes, Coins, Cheques)</p>
<p>Action category: logical</p>
<p>Safebag close.</p>
<p>The integrated Cash Management System sends the action as soon as the user has finished the counting of one safe bag and has confirmed that to the Cash Management System .</p>
<p>Via the parameter "working place" the affected working place will be identified. The further parameter will be provided with accompanying video data by Cash Management System.</p>
<p>The parameter "StepID" can be provided with a code figure by the Cash Management System for the currently running process step.</p>
<p>&#160;</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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">stop time </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StopTime
</td>
<td class="BodyD-Column1-Body1">Time stamp, when the handling of the safe bag stopped. </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag no.
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body2">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag info
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body1">Additional alphanumerical identification of safe bag </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">step id
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body2">Code figure for the currently running process step (given by Cash Management System individually) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">debit
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Debit
</td>
<td class="BodyD-Column1-Body1">Debit amount of safebag </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">total
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Total
</td>
<td class="BodyD-Column1-Body2">Effective total amount of safe bag according to counting (will be accumulated by Cash Management Systems on counting) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">difference
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Difference
</td>
<td class="BodyD-Column1-Body1">Difference between total amount and result respectively progress of counting</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">has difference
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">HasDifference
</td>
<td class="BodyD-Column1-Body2">Yes = current total amount has a difference to debit amount
<br />No = current total amount is identical with debit amount
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">notes
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Notes
</td>
<td class="BodyD-Column1-Body1">Denomination of counted banknotes. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">coins
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Coins
</td>
<td class="BodyD-Column1-Body2">Denomination of counted coins. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cheques
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Cheques
</td>
<td class="BodyD-Column1-Body1">Denomination of counted cheques. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
</table>
<h2><a name="Safebag2"></a>Safebag data</h2>
<p>Action name:SafebagData(WorkingPlace, StartTime, SafebagNo, SafebagInfo, StepID, Debit, Total, Difference, HasDifference, Notes, Coins, Cheques)</p>
<p>Action category: command</p>
<p>Safebag data.</p>
<p>The integrated Cash Management System sends the action as soon as the user has finished counting one variety of notes or coins and has confirmed that to the system.</p>
<p>Via the parameter "working place" the affected working place will be identified. The further parameter will be provided with accompanying meta data by the Cash Management System.</p>
<p>The parameter "StepID" can be provided with a code figure by the Cash Management System for the currently running process step.</p>
<p>&#160;</p>
<table style="caption-side: top;margin-left: 0;margin-right: auto;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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag no.
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag info
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical identification of safe bag</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">step id
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body1">Code figure for the currently running process step (given by cash management system individually </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">debit
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Debit
</td>
<td class="BodyD-Column1-Body2">Debit amount of safe bag </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">total
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Total
</td>
<td class="BodyD-Column1-Body1">Effective total amount of safe bag according to counting ( will be accumulated by the Cash management System during counting) </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">difference
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Difference
</td>
<td class="BodyD-Column1-Body2">Difference between total amount and result respectively progress of counting</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">has difference
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">HasDifference
</td>
<td class="BodyD-Column1-Body1">Yes = current total amount has a difference to debit amount
<br />No = current total amount is identical with debit amount
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">notes
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Notes
</td>
<td class="BodyD-Column1-Body2">Denomination of counted banknotes. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">coins
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Coins
</td>
<td class="BodyD-Column1-Body1">Denomination of counted coins. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">cheques
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Cheques
</td>
<td class="BodyD-Column1-Body2">Denomination of counted cheques. The Display in GscView is in table form. The table has max. 2 columns. The individual lines can be separated via insertion of control '\r' (0x0D). The separation of both columns within one line can be carried out via insertion of control '\t' (0x09). </td>
</tr>
</table>
<h2><a name="Safebag3"></a>Safebag open</h2>
<p>Action name:SafebagOpen(WorkingPlace, StartTime, SafebagNo, SafebagInfo, StepID)</p>
<p>Action category: notification</p>
<p>Safebag open.</p>
<p>The integrated Cash Management System sends the action as soon as the user has opened the safe bag and confirmed that with an entry in the Cash Management System.</p>
<p>The affected Working Place will be identified via the parameter "Working place". Further parameters will be filled with accompanying meta data on the part of the Cash Management System.</p>
<p>The Parameter "StepID" can be addressed by the Cash Management System with a code figure for the currently running process step.</p>
<p>&#160;</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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag no.
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag info
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical identification of safe bag</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">step id
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body1">Code figure for the currently running process step (given by cash management system individually </td>
</tr>
</table>
<h2><a name="Safebag4"></a>Safebag passing of risk data</h2>
<p>Action name:SafebagPassingOfRiskData(WorkingPlace, StartTime, SafebagNo, SafebagInfo, StepID, UserID1, UserID2, TourNumber, TargetWorkingPlace, PassingOfRiskType)
</p>
<p>Action category: command
</p>
<p>The integrated Cash Management System sends the action continuously for each safe bag while the amount of safe bags between two employees will be transferred and this will be confirmed to the Cash Management System. This part of the money handling process is a "passing of risk".
Via the parameter "working place" the affected transfer place and respectively the working place will be identified. The further parameters will be filled with accompanying video data by the Cash Management System.
The parameter "StepID" can be provided with a code figure by the Cash Management System for the currently running process step. </p>
<p>&#160;</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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag no.
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag info
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical identification of safe bag</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">step id
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body1">Code figure for the currently running process step (given by cash management system individually </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">user 1</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">UserID1</td>
<td class="BodyD-Column1-Body2">Number of employee, transferring the safe bag to another employee.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">user 2</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">UserID2</td>
<td class="BodyD-Column1-Body1">Number of employee, who receives the safe bag from another employee.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">tour no</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TourNumber</td>
<td class="BodyD-Column1-Body2">Tour-Number (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">target working place</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TargetWorkingPlace</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of a place respectively a working place where safe bags will be transferred to (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">passing of risk type</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PassingOfRiskType</td>
<td class="BodyD-Column1-Body2">Detailed information to "passing of risk" (optional) </td>
</tr>
</table>
<h2><a name="Safebag5"></a>Safebag passing of risk start</h2>
<p>Action name:SafebagPassingOfRiskStart(WorkingPlace, StartTime, SafebagNo, SafebagInfo, StepID, UserID1, UserID2, TourNumber, TargetWorkingPlace, PassingOfRiskType)
</p>
<p>Action category: command
</p>
<p>The integrated Cash Management System sends the action as soon as a number of safe bags will be transferred between two employees and this is confirmed to the Cash Management System. This part of the money handling process is a "passing of risk".
Via the parameter "working place" the affected transfer place and respectively the working place will be identified. The further parameters will be filled with accompanying meta data by the Cash Management System.
The parameter "StepID" can be provided with a code figure by the Cash Management System for the currently running process step. </p>
<p>&#160;</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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag no.
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag info
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical identification of safe bag</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">step id
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body1">Code figure for the currently running process step (given by cash management system individually </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">user 1</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">UserID1</td>
<td class="BodyD-Column1-Body2">Number of employee, transferring the safe bag to another employee.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">user 2</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">UserID2</td>
<td class="BodyD-Column1-Body1">Number of employee, who receives the safe bag from another employee.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">tour no</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TourNumber</td>
<td class="BodyD-Column1-Body2">Tour-Number (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">target working place</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TargetWorkingPlace</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of a place respectively a working place where safe bags will be transferred to (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">passing of risk type</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PassingOfRiskType</td>
<td class="BodyD-Column1-Body2">Detailed information to "passing of risk" (optional) </td>
</tr>
</table>
<h2><a name="Safebag6"></a>Safebag passing of risk stop</h2>
<p>Action name:SafebagPassingOfRiskStop(WorkingPlace, StartTime, StopTime, SafebagNo, SafebagInfo, StepID, UserID1, UserID2, TourNumber, TargetWorkingPlace, PassingOfRiskType)
</p>
<p>Action category: command
</p>
<p>The integrated Cash Management System sends the action closing after the last safe bag, while the number of safe bags will be transferred between two employees and this is confirmed to the Cash Management System. This part of the money handling process is a "passing of risk".
Via the parameter "Working place" the affected transfer place respective working place will be identified. The further parameters will be filled with accompanying video data by the Cash Management System.
The parameter "StepID" can be supplied by Cash Management System with a code figure for a currently running process step
</p>
<p>&#160;</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">working place
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">WorkingPlace
</td>
<td class="BodyD-Column1-Body1">Working place no.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start time </td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">StartTime
</td>
<td class="BodyD-Column1-Body2">Time stamp, when the handling of the safe bag began. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">safebag no.
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">SafebagNo
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of safe bag; search criteria in GscView </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">safebag info
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">SafebagInfo
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical identification of safe bag</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">step id
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">StepID
</td>
<td class="BodyD-Column1-Body1">Code figure for the currently running process step (given by cash management system individually </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">user 1</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">UserID1</td>
<td class="BodyD-Column1-Body2">Number of employee, transferring the safe bag to another employee.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">user 2</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">UserID2</td>
<td class="BodyD-Column1-Body1">Number of employee, who receives the safe bag from another employee.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">tour no</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TourNumber</td>
<td class="BodyD-Column1-Body2">Tour-Number (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">target working place</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TargetWorkingPlace</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of a place respectively a working place where safe bags will be transferred to (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">passing of risk type</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PassingOfRiskType</td>
<td class="BodyD-Column1-Body2">Detailed information to "passing of risk" (optional) </td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,268 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Device information</title>
<link href="../Resources/TableStyles/Rows.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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>
<h1>Device information</h1>
<p>All actions for low-level notification of the device or media channels changes.</p>
<h2>Device found</h2>
<p>Action name:<i>DeviceFound(Type, Name, Serial)</i></p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is connected to the system. It is also fired at start-up for all detected devices.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name if assigned in setup, empty otherwise.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
</table>
<h2>New firmware received</h2>
<p>Action name:<i>DeviceNewFirmware(Type, Name, Serial, Firmware)</i></p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device has got the new firmware.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name if assigned in setup, empty otherwise.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">firmware serial</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Firmware</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Serial ID of the firmware.</td>
</tr>
</table>
<h2>Device plugin error</h2>
<p>Action name:<i>DevicePluginError(Channel, Type, SubType, Name, Serial, ErrorClass, ErrorCode, Description)</i></p>
<p>Action category: logical</p>
<p>This action notifies device plugin error.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">channel</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Channel</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Channel.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device sub type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>SubType</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Sub type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">error class</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ErrorClass</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Error class of the error occured.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">error code</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ErrorCode</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Plugin type specific error code.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">description</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Description</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Error description.</td>
</tr>
</table>
<h2>Device plugin state</h2>
<p>Action name:<i>DevicePluginState(Channel, Type, SubType, Name, Serial, State, InternalState, Description)</i></p>
<p>Action category: logical</p>
<p>This action notifies device plugin state.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">channel</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Channel</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Channel.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device sub type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>SubType</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Sub type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">plugin state</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>State</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">New plugin device state.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">internal state</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>InternalState</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Plugin device specific state.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">description</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Description</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">State description.</td>
</tr>
</table>
<h2>Device reattached</h2>
<p>Action name:<i>DeviceReattached(Type, Name, Serial)</i></p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is reattached to the system.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name if assigned in setup, empty otherwise.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
</table>
<h2>Device removed</h2>
<p>Action name:<i>DeviceRemoved(Type, Name, Serial)</i></p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is disconnected from the system. It is also fired at the start-up for all parameterized but not present devices.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">device type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Type</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Type of the device.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">device name</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Name</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Device name if assigned in setup, empty otherwise.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">serial ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Serial</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Serial ID of the device.</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,365 @@
<!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>Device information</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">Device information</span>
</div>
<h1>Device information</h1>
<p>All actions for low-level notification of the device or media channels changes.</p>
<p>&#160;</p>
<h2><a name="Device"></a>Device found</h2>
<p>Action name:DeviceFound(Type, Name, Serial)</p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is connected to the system. It is also fired at start-up for all detected devices.</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">device type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name if assigned in setup, empty otherwise.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
</table>
<h2><a name="New"></a>New firmware received</h2>
<p>Action name:DeviceNewFirmware(Type, Name, Serial, Firmware)</p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device has got the new firmware.</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">device type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name if assigned in setup, empty otherwise.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">firmware serial
</td>
<td class="BodyE-Column1-Body2">Firmware
</td>
<td class="BodyD-Column1-Body2">Serial ID of the firmware.
</td>
</tr>
</table>
<h2><a name="Device2"></a>Device plugin error</h2>
<p>Action name:DevicePluginError(Channel, Type, SubType, Name, Serial, ErrorClass, ErrorCode, Description)</p>
<p>Action category: logical</p>
<p>This action notifies device plugin 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">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">device type
</td>
<td class="BodyE-Column1-Body2">Type
</td>
<td class="BodyD-Column1-Body2">Type of the device.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device sub type
</td>
<td class="BodyE-Column1-Body1">SubType
</td>
<td class="BodyD-Column1-Body1">Sub type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">error class
</td>
<td class="BodyE-Column1-Body2">ErrorClass
</td>
<td class="BodyD-Column1-Body2">Error class of the error occured.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">error code
</td>
<td class="BodyE-Column1-Body1">ErrorCode
</td>
<td class="BodyD-Column1-Body1">Plugin type specific 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">Error description.
</td>
</tr>
</table>
<h2><a name="Device3"></a>Device plugin state</h2>
<p>Action name:DevicePluginState(Channel, Type, SubType, Name, Serial, State, InternalState, Description)</p>
<p>Action category: logical</p>
<p>This action notifies device plugin state.</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">device type
</td>
<td class="BodyE-Column1-Body2">Type
</td>
<td class="BodyD-Column1-Body2">Type of the device.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device sub type
</td>
<td class="BodyE-Column1-Body1">SubType
</td>
<td class="BodyD-Column1-Body1">Sub type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">plugin state
</td>
<td class="BodyE-Column1-Body2">State
</td>
<td class="BodyD-Column1-Body2">New plugin device state.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">internal state
</td>
<td class="BodyE-Column1-Body1">InternalState
</td>
<td class="BodyD-Column1-Body1">Plugin device specific state.
</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">State description.
</td>
</tr>
</table>
<h2><a name="Device4"></a>Device reattached</h2>
<p>Action name:DeviceReattached(Type, Name, Serial)</p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is reattached 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">device type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name if assigned in setup, empty otherwise.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
</table>
<h2><a name="Device5"></a>Device removed</h2>
<p>Action name:DeviceRemoved(Type, Name, Serial)</p>
<p>Action category: logical</p>
<p>This action will be fired when the USB or NET device is disconnected from the system. It is also fired at the start-up for all parameterized but not present devices.</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">device type
</td>
<td class="BodyE-Column1-Body1">Type
</td>
<td class="BodyD-Column1-Body1">Type of the device.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device name
</td>
<td class="BodyE-Column1-Body2">Name
</td>
<td class="BodyD-Column1-Body2">Device name if assigned in setup, empty otherwise.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial ID
</td>
<td class="BodyE-Column1-Body1">Serial
</td>
<td class="BodyD-Column1-Body1">Serial ID of the device.
</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,271 @@
<!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>Digital contacts</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">Digital contacts</span>
</div>
<h1>Digital contacts</h1>
<p>All actions for handling digital inputs and outputs.</p>
<p>&#160;</p>
<h2><a name="Digital"></a>Digital input</h2>
<p>Action name:DigitalInput(Contact, State)</p>
<p>Action category: logical</p>
<p>This action will be fired when the state of the digital input has 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">contact
</td>
<td class="BodyE-Column1-Body1">Contact
</td>
<td class="BodyD-Column1-Body1">Contact.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">state
</td>
<td class="BodyE-Column1-Body2">State
</td>
<td class="BodyD-Column1-Body2">New state.
</td>
</tr>
</table>
<h2><a name="IOI43"></a>IOI43 reset mainboard</h2>
<p>Action name:IOI43ResetMainboard()</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Reset mainboard using IOI43a/ab USB Alarm-I/O.</p>
<h2><a name="IOI432"></a>IOI43 temperature notification</h2>
<p>Action name:IOI43Temperature(ID, Temperature)</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Temperature notification from IOI43a/ab USB Alarm-I/O.</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">ID </td>
<td class="BodyE-Column1-Body1">ID </td>
<td class="BodyD-Column1-Body1">ID of the IOI43 module (like IOI43-00).
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">temperature </td>
<td class="BodyE-Column1-Body2">Temperature </td>
<td class="BodyD-Column1-Body2">Temperature.
</td>
</tr>
</table>
<h2><a name="IOI433"></a>IOI43 watchdog activate</h2>
<p>Action name:IOI43WDActivate()</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Activate watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2><a name="IOI434"></a>IOI43 watchdog deactivate</h2>
<p>Action name:IOI43WDDeactivate()</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Deactivate watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2><a name="IOI435"></a>IOI43 watchdog trigger</h2>
<p>Action name:IOI43WDTrigger()</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>Trigger watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2><a name="Key"></a>Key pressed</h2>
<p>Action name:KeyPressed(Key)</p>
<p>Action category: logical</p>
<p>This action is notified if one of the GEVISCOPE system keys is pressed.</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">Key
</td>
<td class="BodyE-Column1-Body1">Key
</td>
<td class="BodyD-Column1-Body1">System key.
</td>
</tr>
</table>
<h2><a name="Key2"></a>Key released</h2>
<p>Action name:KeyReleased(Key)</p>
<p>Action category: logical</p>
<p>This action is notified if one of the GEVISCOPE system keys is released.</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">Key
</td>
<td class="BodyE-Column1-Body1">Key
</td>
<td class="BodyD-Column1-Body1">System key.
</td>
</tr>
</table>
<h2><a name="Set"></a>Set digital output</h2>
<p>Action name:SetDigitalOutput(Contact, State)</p>
<p>Action category: logical</p>
<p>This action is used to modify the state of the digital output and to notify this change.</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">contact
</td>
<td class="BodyE-Column1-Body1">Contact
</td>
<td class="BodyD-Column1-Body1">Contact.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">state
</td>
<td class="BodyE-Column1-Body2">State
</td>
<td class="BodyD-Column1-Body2">New state.
</td>
</tr>
</table>
<h2><a name="Set2"></a>Set system LED</h2>
<p>Action name:SetLED(LED, State)</p>
<p>Action category: logical</p>
<p>This action is used to turn the system LEDs on or off.</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">LED
</td>
<td class="BodyE-Column1-Body1">LED
</td>
<td class="BodyD-Column1-Body1">System LED.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">state
</td>
<td class="BodyE-Column1-Body2">State
</td>
<td class="BodyD-Column1-Body2">New state.
</td>
</tr>
</table>
<h2><a name="Set3"></a>Set system LED to blink</h2>
<p>Action name:SetLEDBlink(LED, LedTimeOnMs, LedTimeOffMs)</p>
<p>Action category: logical</p>
<p>This action is used to blink the system LEDs.</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">LED
</td>
<td class="BodyE-Column1-Body1">LED
</td>
<td class="BodyD-Column1-Body1">System LED.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Led time ON
</td>
<td class="BodyE-Column1-Body2">LedTimeOnMs
</td>
<td class="BodyD-Column1-Body2">Time in milliseconds the LED will be switched on.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Led time OFF
</td>
<td class="BodyE-Column1-Body1">LedTimeOffMs
</td>
<td class="BodyD-Column1-Body1">Time in milliseconds the LED will be switched off.
</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,198 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Digital contacts</title>
<link href="../Resources/TableStyles/Rows.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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>
<h1>Digital contacts</h1>
<p>All actions for handling digital inputs and outputs.</p>
<h2>Digital input</h2>
<p>Action name:<i>DigitalInput(Contact, State)</i></p>
<p>Action category: logical</p>
<p>This action will be fired when the state of the digital input has changed.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">contact</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Contact</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Contact.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">state</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>State</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">New state.</td>
</tr>
</table>
<h2>IOI43 reset mainboard</h2>
<p>Action name:<i>IOI43ResetMainboard()</i></p>
<p>Action category: logical</p>
<p>Reset mainboard using IOI43a/ab USB Alarm-I/O.</p>
<h2>IOI43 temperature notification</h2>
<p>Action name:<i>IOI43Temperature(ID, Temperature)</i></p>
<p>Action category: logical</p>
<p>Temperature notification from IOI43a/ab USB Alarm-I/O.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ID</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">ID of the IOI43 module (like IOI43-00).</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">temperature</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Temperature</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Temperature.</td>
</tr>
</table>
<h2>IOI43 watchdog activate</h2>
<p>Action name:<i>IOI43WDActivate()</i></p>
<p>Action category: logical</p>
<p>Activate watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2>IOI43 watchdog deactivate</h2>
<p>Action name:<i>IOI43WDDeactivate()</i></p>
<p>Action category: logical</p>
<p>Deactivate watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2>IOI43 watchdog trigger</h2>
<p>Action name:<i>IOI43WDTrigger()</i></p>
<p>Action category: logical</p>
<p>Trigger watchdog on IOI43a/ab USB Alarm-I/O.</p>
<h2>Key pressed</h2>
<p>Action name:<i>KeyPressed(Key)</i></p>
<p>Action category: logical</p>
<p>This action is notified if one of the GEVISCOPE system keys is pressed.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Key</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Key</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">System key.</td>
</tr>
</table>
<h2>Key released</h2>
<p>Action name:<i>KeyReleased(Key)</i></p>
<p>Action category: logical</p>
<p>This action is notified if one of the GEVISCOPE system keys is released.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Key</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Key</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">System key.</td>
</tr>
</table>
<h2>Set digital output</h2>
<p>Action name:<i>SetDigitalOutput(Contact, State)</i></p>
<p>Action category: logical</p>
<p>This action is used to modify the state of the digital output and to notify this change.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">contact</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Contact</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Contact.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">state</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>State</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">New state.</td>
</tr>
</table>
<h2>Set system LED</h2>
<p>Action name:<i>SetLED(LED, State)</i></p>
<p>Action category: logical</p>
<p>This action is used to turn the system LEDs on or off.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">LED</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>LED</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">System LED.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">state</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>State</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">New state.</td>
</tr>
</table>
<h2>Set system LED to blink</h2>
<p>Action name:<i>SetLEDBlink(LED, LedTimeOnMs, LedTimeOffMs)</i></p>
<p>Action category: logical</p>
<p>This action is used to blink the system LEDs.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">LED</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>LED</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">System LED.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Led time ON</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>LedTimeOnMs</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Time in milliseconds the LED will be switched on.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Led time OFF</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>LedTimeOffMs</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Time in milliseconds the LED will be switched off.</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,169 @@
<!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>LPS</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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">LPS Local Positioning System</span>
</div>
<h1>LPS Actions</h1>
<p>LPS (Local Positioning System) actions are used to query and receive position data.
The positioning system is integrated by the GscLPS plugin and is used to locate tagged objects, e.g. mobile scanners in the logistic environment. The tags have IDs that can be used to query the position which is then notified
as cartesian or geografic coordinates. Some tags are able to initiate a position request by an external trigger or by a scan event on a mobile scanner.
</p>
<h2><a name="LPS"></a>LPS position data</h2>
<p>Action name:<i>LPSPositionData(TagID, ScannerID, X, Y, Z, Latitude, Longitude, AreaID, CellID, Status, TimeStamp, Data, AreaName)</i></p>
<p>Action category: logical</p>
<p>LPS position data.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">tag ID</td>
<td class="BodyE-Column1-Body1"><i>TagID</i>
</td>
<td class="BodyD-Column1-Body1">Tag ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scanner ID</td>
<td class="BodyE-Column1-Body2"><i>ScannerID</i>
</td>
<td class="BodyD-Column1-Body2">Scanner ID or IP Address.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">X coordinate</td>
<td class="BodyE-Column1-Body1"><i>X</i>
</td>
<td class="BodyD-Column1-Body1">X coordinate of cartesian coordinates.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Y coordinate</td>
<td class="BodyE-Column1-Body2"><i>Y</i>
</td>
<td class="BodyD-Column1-Body2">Y coordinate of cartesian coordinates.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Z coordinate</td>
<td class="BodyE-Column1-Body1"><i>Z</i>
</td>
<td class="BodyD-Column1-Body1">Z coordinate of cartesian coordinates.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Latitude</td>
<td class="BodyE-Column1-Body2"><i>Latitude</i>
</td>
<td class="BodyD-Column1-Body2">Latitude of geographic coordinates.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Longitude</td>
<td class="BodyE-Column1-Body1"><i>Longitude</i>
</td>
<td class="BodyD-Column1-Body1">Longitude of geographic coordinates.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">area ID</td>
<td class="BodyE-Column1-Body2"><i>AreaID</i>
</td>
<td class="BodyD-Column1-Body2">Area ID.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cell ID</td>
<td class="BodyE-Column1-Body1"><i>CellID</i>
</td>
<td class="BodyD-Column1-Body1">Cell ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">status</td>
<td class="BodyE-Column1-Body2"><i>Status</i>
</td>
<td class="BodyD-Column1-Body2">Status.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">data</td>
<td class="BodyE-Column1-Body2"><i>Data</i>
</td>
<td class="BodyD-Column1-Body2">Data received by the positioning system, eg. barcode.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">area name</td>
<td class="BodyB-Column1-Body1"><i>AreaName</i>
</td>
<td class="BodyA-Column1-Body1">Area Name.</td>
</tr>
</tbody>
</table>
<h2><a name="LPS2"></a>LPS query position</h2>
<p>Action name:<i>LPSQueryPosition(TagID, ScannerID, Data)</i></p>
<p>Action category: command</p>
<p>Send position query for a Tag to LPS server.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">tag ID</td>
<td class="BodyE-Column1-Body1"><i>TagID</i>
</td>
<td class="BodyD-Column1-Body1">Tag ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scanner ID</td>
<td class="BodyE-Column1-Body2"><i>ScannerID</i>
</td>
<td class="BodyD-Column1-Body2">Scanner ID or IP Address.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">data</td>
<td class="BodyB-Column1-Body1"><i>Data</i>
</td>
<td class="BodyA-Column1-Body1">Data.</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,590 @@
<!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>Lenel</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<style>
<!--
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
-->
</style>
<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">Lenel</span>
</div>
<h1>Lenel</h1>
<p>Lenel OnGuard actions.</p>
<h2><a name="Lenel"></a>Lenel access event</h2>
<p>Action name:<i>LenelAccessEvent(ID, Panel, Device, SecondaryDevice, CardNumber, AccessResult, Type, SubType, Description, SerialNumber, TimeStamp, AreaEnteredID, AreaExitedID, AssetID, CardholderEntered, Duress, ElevatorFloor, FacilityCode, IsReadableCard, IssueCode, CommServerHostName, EventText)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard access event.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">ID</td>
<td class="BodyE-Column1-Body1"><i>ID</i>
</td>
<td class="BodyD-Column1-Body1">The ID that uniquely identifies the type of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">panel</td>
<td class="BodyE-Column1-Body2"><i>Panel</i>
</td>
<td class="BodyD-Column1-Body2">The name of the panel where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device</td>
<td class="BodyE-Column1-Body1"><i>Device</i>
</td>
<td class="BodyD-Column1-Body1">The name of the device where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">secondary device</td>
<td class="BodyE-Column1-Body2"><i>SecondaryDevice</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the secondary device where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">card number</td>
<td class="BodyE-Column1-Body1"><i>CardNumber</i>
</td>
<td class="BodyD-Column1-Body1">The badge ID for the card that was read, if available.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">access result</td>
<td class="BodyE-Column1-Body2"><i>AccessResult</i>
</td>
<td class="BodyD-Column1-Body2">The level of access that was granted that resulted from reading the card.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type</td>
<td class="BodyE-Column1-Body1"><i>Type</i>
</td>
<td class="BodyD-Column1-Body1">Event type i.e., duress, system, etc.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">subtype</td>
<td class="BodyE-Column1-Body2"><i>SubType</i>
</td>
<td class="BodyD-Column1-Body2">Event sub-type i.e., granted, door forced open, etc.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description</td>
<td class="BodyE-Column1-Body1"><i>Description</i>
</td>
<td class="BodyD-Column1-Body1">A human readable, brief description of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">serial number</td>
<td class="BodyE-Column1-Body2"><i>SerialNumber</i>
</td>
<td class="BodyD-Column1-Body2">A number that uniquely identifies the instance of the event for a particular panel.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">area entered</td>
<td class="BodyE-Column1-Body2"><i>AreaEnteredID</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the area that was entered, if any.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">area exited</td>
<td class="BodyE-Column1-Body1"><i>AreaExitedID</i>
</td>
<td class="BodyD-Column1-Body1">The ID of the area that was exited, if any.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">asset ID</td>
<td class="BodyE-Column1-Body2"><i>AssetID</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the asset related to this event, if any.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cardholder entered</td>
<td class="BodyE-Column1-Body1"><i>CardholderEntered</i>
</td>
<td class="BodyD-Column1-Body1">Whether entry was made by the cardholder.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">duress</td>
<td class="BodyE-Column1-Body2"><i>Duress</i>
</td>
<td class="BodyD-Column1-Body2">Indicates whether this card access indicates an under duress/emergency state.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">elevator floor</td>
<td class="BodyE-Column1-Body1"><i>ElevatorFloor</i>
</td>
<td class="BodyD-Column1-Body1">The elevator floor on which the access event was generated, if any.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">facility code</td>
<td class="BodyE-Column1-Body2"><i>FacilityCode</i>
</td>
<td class="BodyD-Column1-Body2">The facility code for the card that was read, if available.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">readable card</td>
<td class="BodyE-Column1-Body1"><i>IsReadableCard</i>
</td>
<td class="BodyD-Column1-Body1">Whether the card could be read.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">issue code</td>
<td class="BodyE-Column1-Body2"><i>IssueCode</i>
</td>
<td class="BodyD-Column1-Body2">The issue code for the card that was read, if available.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">server host</td>
<td class="BodyE-Column1-Body1"><i>CommServerHostName</i>
</td>
<td class="BodyD-Column1-Body1">Host name of the Communication server through which the event arrived.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">event text</td>
<td class="BodyB-Column1-Body2"><i>EventText</i>
</td>
<td class="BodyA-Column1-Body2">Text associated with event</td>
</tr>
</tbody>
</table>
<h2><a name="Lenel2"></a>Lenel fire event</h2>
<p>Action name:<i>LenelFireEvent(ID, Panel, Device, SecondaryDevice, TroubleCode, Type, SubType, Description, SerialNumber, TimeStamp, CommServerHostName, EventText)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard fire event.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">ID</td>
<td class="BodyE-Column1-Body1"><i>ID</i>
</td>
<td class="BodyD-Column1-Body1">The ID that uniquely identifies the type of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">panel</td>
<td class="BodyE-Column1-Body2"><i>Panel</i>
</td>
<td class="BodyD-Column1-Body2">The name of the panel where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device</td>
<td class="BodyE-Column1-Body1"><i>Device</i>
</td>
<td class="BodyD-Column1-Body1">The name of the device where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">secondary device</td>
<td class="BodyE-Column1-Body2"><i>SecondaryDevice</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the secondary device where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">trouble code</td>
<td class="BodyE-Column1-Body1"><i>TroubleCode</i>
</td>
<td class="BodyD-Column1-Body1">A trouble code associated with the fire event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">type</td>
<td class="BodyE-Column1-Body2"><i>Type</i>
</td>
<td class="BodyD-Column1-Body2">Event type i.e., duress, system, etc.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">subtype</td>
<td class="BodyE-Column1-Body1"><i>SubType</i>
</td>
<td class="BodyD-Column1-Body1">Event sub-type i.e., granted, door forced open, etc.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">description</td>
<td class="BodyE-Column1-Body2"><i>Description</i>
</td>
<td class="BodyD-Column1-Body2">A human readable, brief description of this event.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">serial number</td>
<td class="BodyE-Column1-Body1"><i>SerialNumber</i>
</td>
<td class="BodyD-Column1-Body1">A number that uniquely identifies the instance of the event for a particular panel.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp</td>
<td class="BodyE-Column1-Body2"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body2">Time stamp.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">server host</td>
<td class="BodyE-Column1-Body1"><i>CommServerHostName</i>
</td>
<td class="BodyD-Column1-Body1">Host name of the Communication server through which the event arrived.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">event text</td>
<td class="BodyB-Column1-Body2"><i>EventText</i>
</td>
<td class="BodyA-Column1-Body2">Text associated with event</td>
</tr>
</tbody>
</table>
<h2><a name="Lenel3"></a>Lenel intercom event</h2>
<p>Action name:<i>LenelIntercomEvent(ID, Panel, Device, SecondaryDevice, IntercomData, LineNumber, Type, SubType, Description, SerialNumber, TimeStamp, CommServerHostName, EventText)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard intercom event.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">ID</td>
<td class="BodyE-Column1-Body1"><i>ID</i>
</td>
<td class="BodyD-Column1-Body1">The ID that uniquely identifies the type of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">panel</td>
<td class="BodyE-Column1-Body2"><i>Panel</i>
</td>
<td class="BodyD-Column1-Body2">The name of the panel where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device</td>
<td class="BodyE-Column1-Body1"><i>Device</i>
</td>
<td class="BodyD-Column1-Body1">The name of the device where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">secondary device</td>
<td class="BodyE-Column1-Body2"><i>SecondaryDevice</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the secondary device where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">intercom data</td>
<td class="BodyE-Column1-Body1"><i>IntercomData</i>
</td>
<td class="BodyD-Column1-Body1">Additional data for the intercom event that occurred.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">line number</td>
<td class="BodyE-Column1-Body2"><i>LineNumber</i>
</td>
<td class="BodyD-Column1-Body2">The line number involved in the intercom event.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type</td>
<td class="BodyE-Column1-Body1"><i>Type</i>
</td>
<td class="BodyD-Column1-Body1">Event type i.e., duress, system, etc.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">subtype</td>
<td class="BodyE-Column1-Body2"><i>SubType</i>
</td>
<td class="BodyD-Column1-Body2">Event sub-type i.e., granted, door forced open, etc.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description</td>
<td class="BodyE-Column1-Body1"><i>Description</i>
</td>
<td class="BodyD-Column1-Body1">A human readable, brief description of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">serial number</td>
<td class="BodyE-Column1-Body2"><i>SerialNumber</i>
</td>
<td class="BodyD-Column1-Body2">A number that uniquely identifies the instance of the event for a particular panel.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">server host</td>
<td class="BodyE-Column1-Body2"><i>CommServerHostName</i>
</td>
<td class="BodyD-Column1-Body2">Host name of the Communication server through which the event arrived.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">event text</td>
<td class="BodyB-Column1-Body1"><i>EventText</i>
</td>
<td class="BodyA-Column1-Body1">Text associated with event</td>
</tr>
</tbody>
</table>
<h2><a name="Lenel4"></a>Lenel raw data</h2>
<p>Action name:<i>LenelRawData(TimeStamp, LenelData)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard raw data.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">data</td>
<td class="BodyB-Column1-Body2"><i>LenelData</i>
</td>
<td class="BodyA-Column1-Body2">Lenel OnGuard data.</td>
</tr>
</tbody>
</table>
<h2><a name="Lenel5"></a>Lenel refresh names</h2>
<p>Action name:<i>LenelRefreshNames()</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard refresh names.</p>
<h2><a name="Lenel6"></a>Lenel security event</h2>
<p>Action name:<i>LenelSecurityEvent(ID, Panel, Device, SecondaryDevice, Type, SubType, Description, SerialNumber, TimeStamp, CommServerHostName, EventText)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard security event.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">ID</td>
<td class="BodyE-Column1-Body1"><i>ID</i>
</td>
<td class="BodyD-Column1-Body1">The ID that uniquely identifies the type of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">panel</td>
<td class="BodyE-Column1-Body2"><i>Panel</i>
</td>
<td class="BodyD-Column1-Body2">The name of the panel where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">device</td>
<td class="BodyE-Column1-Body1"><i>Device</i>
</td>
<td class="BodyD-Column1-Body1">The name of the device where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">secondary device</td>
<td class="BodyE-Column1-Body2"><i>SecondaryDevice</i>
</td>
<td class="BodyD-Column1-Body2">The ID of the secondary device where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type</td>
<td class="BodyE-Column1-Body1"><i>Type</i>
</td>
<td class="BodyD-Column1-Body1">Event type i.e., duress, system, etc.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">subtype</td>
<td class="BodyE-Column1-Body2"><i>SubType</i>
</td>
<td class="BodyD-Column1-Body2">Event sub-type i.e., granted, door forced open, etc.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description</td>
<td class="BodyE-Column1-Body1"><i>Description</i>
</td>
<td class="BodyD-Column1-Body1">A human readable, brief description of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">serial number</td>
<td class="BodyE-Column1-Body2"><i>SerialNumber</i>
</td>
<td class="BodyD-Column1-Body2">A number that uniquely identifies the instance of the event for a particular panel.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">server host</td>
<td class="BodyE-Column1-Body2"><i>CommServerHostName</i>
</td>
<td class="BodyD-Column1-Body2">Host name of the Communication server through which the event arrived.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">event text</td>
<td class="BodyB-Column1-Body1"><i>EventText</i>
</td>
<td class="BodyA-Column1-Body1">Text associated with event</td>
</tr>
</tbody>
</table>
<h2><a name="Lenel7"></a>Lenel video event</h2>
<p>Action name:<i>LenelVideoEvent(ID, Panel, Device, SecondaryDevice, Channel, Type, SubType, Description, SerialNumber, TimeStamp, StartTime, EndTime, CommServerHostName, EventText)</i></p>
<p>Action category: logical</p>
<p>Lenel OnGuard video event.</p>
<table border="1" style="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>
<tbody>
<tr bgcolor="#D9D9D9" class="Body-Body1">
<th colspan="2" class="BodyE-Column1-Body1">&#160;</th>
<th class="BodyD-Column1-Body1">&#160;</th>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">ID</td>
<td class="BodyE-Column1-Body2"><i>ID</i>
</td>
<td class="BodyD-Column1-Body2">The ID that uniquely identifies the type of this event.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">panel</td>
<td class="BodyE-Column1-Body1"><i>Panel</i>
</td>
<td class="BodyD-Column1-Body1">The name of the panel where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device</td>
<td class="BodyE-Column1-Body2"><i>Device</i>
</td>
<td class="BodyD-Column1-Body2">The name of the device where this event originated.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">secondary device</td>
<td class="BodyE-Column1-Body1"><i>SecondaryDevice</i>
</td>
<td class="BodyD-Column1-Body1">The ID of the secondary device where this event originated.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2"><i>Channel</i>
</td>
<td class="BodyD-Column1-Body2">The physical channel the camera is connected to that is creating this event.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">type</td>
<td class="BodyE-Column1-Body1"><i>Type</i>
</td>
<td class="BodyD-Column1-Body1">Event type i.e., duress, system, etc.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">subtype</td>
<td class="BodyE-Column1-Body2"><i>SubType</i>
</td>
<td class="BodyD-Column1-Body2">Event sub-type i.e., granted, door forced open, etc.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">description</td>
<td class="BodyE-Column1-Body1"><i>Description</i>
</td>
<td class="BodyD-Column1-Body1">A human readable, brief description of this event.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">serial number</td>
<td class="BodyE-Column1-Body2"><i>SerialNumber</i>
</td>
<td class="BodyD-Column1-Body2">A number that uniquely identifies the instance of the event for a particular panel.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">start stamp</td>
<td class="BodyE-Column1-Body2"><i>StartTime</i>
</td>
<td class="BodyD-Column1-Body2">The time the video event started</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">end time</td>
<td class="BodyE-Column1-Body1"><i>EndTime</i>
</td>
<td class="BodyD-Column1-Body1">The time the video event ended.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">server host</td>
<td class="BodyE-Column1-Body2"><i>CommServerHostName</i>
</td>
<td class="BodyD-Column1-Body2">Host name of the Communication server through which the event arrived.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">event text</td>
<td class="BodyB-Column1-Body1"><i>EventText</i>
</td>
<td class="BodyA-Column1-Body1">Text associated with event</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,263 @@
<!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>Logistic</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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">Logistic</span>
</div>
<h1>Logistic</h1>
<p>Logistic actions are used in the logistic environment where meta data, e.g. barcodes, is used to start recording events. Later, a research on the barcodes is done to show the scanning operation in the recorded images.
To speed up the search, a CRC32 checksum is used as a hash and serves as a foreign key of the event startd. The foreign key is indexed in the event table an can therefore be found much faster than a lookup on the string itself.
Additional parameters are used to notify positioning information since the assignment of scanning and recording camera is often done according to the position of the scanner. </p>
<h2><a name="Log"></a>Log barcode data</h2>
<p>Action name:<i>LogBarcodeData(Barcode, Hash, Scanner, AreaID, AreaName, Channel, TimeStamp)</i></p>
<p>Action category: notification</p>
<p>Logistic barcode data .</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">barcode</td>
<td class="BodyE-Column1-Body1"><i>Barcode</i>
</td>
<td class="BodyD-Column1-Body1">Barcode.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">hash value</td>
<td class="BodyE-Column1-Body2"><i>Hash</i>
</td>
<td class="BodyD-Column1-Body2">Hash value of barcode (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">scanner name</td>
<td class="BodyE-Column1-Body1"><i>Scanner</i>
</td>
<td class="BodyD-Column1-Body1">Scanner name or IP Address (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">area number</td>
<td class="BodyE-Column1-Body2"><i>AreaID</i>
</td>
<td class="BodyD-Column1-Body2">Global number of area for event mapping (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">area name</td>
<td class="BodyE-Column1-Body1"><i>AreaName</i>
</td>
<td class="BodyD-Column1-Body1">Area name (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2"><i>Channel</i>
</td>
<td class="BodyD-Column1-Body2">Global number of a media channel for mapping (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">time stamp</td>
<td class="BodyB-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyA-Column1-Body1">Time stamp (Optional)</td>
</tr>
</tbody>
</table>
<h2><a name="Log2"></a>Log barcode data LPS</h2>
<p>Action name:<i>LogBarcodeDataLPS(Barcode, Hash, Scanner, AreaID, AreaName, Channel, TimeStamp, X, Y, Z, LpsTagID, LpsStatus, LpsCellID, LpsAreaID, UserParam)</i></p>
<p>Action category: notification</p>
<p>Logistic barcode data including positioning and area information.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">barcode</td>
<td class="BodyE-Column1-Body1"><i>Barcode</i>
</td>
<td class="BodyD-Column1-Body1">Barcode.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">hash value</td>
<td class="BodyE-Column1-Body2"><i>Hash</i>
</td>
<td class="BodyD-Column1-Body2">Hash value of the barcode (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">scanner name</td>
<td class="BodyE-Column1-Body1"><i>Scanner</i>
</td>
<td class="BodyD-Column1-Body1">Scanner name or IP Address (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">area number</td>
<td class="BodyE-Column1-Body2"><i>AreaID</i>
</td>
<td class="BodyD-Column1-Body2">Global number of area for event mapping (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">area name</td>
<td class="BodyE-Column1-Body1"><i>AreaName</i>
</td>
<td class="BodyD-Column1-Body1">Area name. (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2"><i>Channel</i>
</td>
<td class="BodyD-Column1-Body2">Global number of a media channel for mapping (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">X coordinate</td>
<td class="BodyE-Column1-Body2"><i>X</i>
</td>
<td class="BodyD-Column1-Body2">X coordinate of the position query (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">Y coordinate</td>
<td class="BodyE-Column1-Body1"><i>Y</i>
</td>
<td class="BodyD-Column1-Body1">Y coordinate of the position query (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">Z coordinate</td>
<td class="BodyE-Column1-Body2"><i>Z</i>
</td>
<td class="BodyD-Column1-Body2">Z coordinate of the position query (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">LPS tag ID</td>
<td class="BodyE-Column1-Body1"><i>LpsTagID</i>
</td>
<td class="BodyD-Column1-Body1">Tag ID of the positioning system (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">LPS status</td>
<td class="BodyE-Column1-Body2"><i>LpsStatus</i>
</td>
<td class="BodyD-Column1-Body2">LPS status of the position query(Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">LPS cell ID</td>
<td class="BodyE-Column1-Body1"><i>LpsCellID</i>
</td>
<td class="BodyD-Column1-Body1">Cell ID of the positioning system (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">LPS area ID</td>
<td class="BodyE-Column1-Body2"><i>LpsAreaID</i>
</td>
<td class="BodyD-Column1-Body2">Area ID of the positioning system (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">User param</td>
<td class="BodyB-Column1-Body1"><i>UserParam</i>
</td>
<td class="BodyA-Column1-Body1">User param for internal use (Optional)</td>
</tr>
</tbody>
</table>
<h2><a name="Log3"></a>Log NPR recognition</h2>
<p>Action name:<i>LogNPRRecognition(PlateNo, Hash, Country, Channel, TimeStamp, Restriction, Category)</i></p>
<p>Action category: logical</p>
<p>Log NPR recognition.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">plate no.</td>
<td class="BodyE-Column1-Body1"><i>PlateNo</i>
</td>
<td class="BodyD-Column1-Body1">Recognized plate no.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">hash value</td>
<td class="BodyE-Column1-Body2"><i>Hash</i>
</td>
<td class="BodyD-Column1-Body2">Hash value of the recognized plate no. (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">country</td>
<td class="BodyE-Column1-Body1"><i>Country</i>
</td>
<td class="BodyD-Column1-Body1">Country (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2"><i>Channel</i>
</td>
<td class="BodyD-Column1-Body2">Channel (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">time stamp</td>
<td class="BodyE-Column1-Body1"><i>TimeStamp</i>
</td>
<td class="BodyD-Column1-Body1">Time stamp (Optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">restriction</td>
<td class="BodyE-Column1-Body2"><i>Restriction</i>
</td>
<td class="BodyD-Column1-Body2">Restriction of recognized number (Optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">category</td>
<td class="BodyB-Column1-Body1"><i>Category</i>
</td>
<td class="BodyA-Column1-Body1">Category of recognized number (Optional)</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,533 @@
<!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>POS</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">POS</span>
</div>
<h1>POS</h1>
<p>Points of sales (POS) Actions enable the exchange of accompanying meta data between POS Management Systems and GeViScope/re_porter. With these actions payment processes can be documented consistently by video. The use of these actions for start and re-start of event recordings leads to the output of accompanying meta data in live video in GSCView as well as in the storage of those in the video data base. The video sequences recorded via POS Actions can easily be retrieved in GscView using the accompanying meta data und special data filter dialogs (optional) Besides the actions POSStatus and POSData for the general integration into POS Management Systems there are also POS actions which belong to special GeViScope drivers. The actions FillingPumpStatus, TerminalArticleData and TerminalPaymentData are used by the driver "HUTH". The driver "HUTH" is a GeViScope Media Plugin, which was developed by GEUTEBRÜCK, to integrate filling station management systems of the manufacturer HUTH Elektronik Systeme GmbH into GeViScope/re_porter. The driver is compatible to HUTH Video Interface T400/T450/Maxi/mini V1.2. The actions InterfaceRawData and InterfaceRawAnswer are also used by the driver "HUTH". But they only serve for debugging and fault analysis purpose. They can also be used in general for any link that the concerned action supports - respectively uses these actions. The action BarcodeData serves as a general integration of barcode scanners.</p>
<h2><a name="Barcode"></a>Barcode data</h2>
<p>Action name:BarcodeData(ReaderName, TimeStamp, Barcode)
</p>
<p>Action category: notification
</p>
<p>The POS Management System (or any other system like barcode scanner or similar) sends the action as soon as a barcode was read.
Via the parameter "ReaderName" the affected barcode scanner will be identified.
The further parameter will be filled with video meta data by the POS Management System.
</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 349px;" 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">scanner </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">ReaderName
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of the barcode scanner </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">code </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Barcode </td>
<td class="BodyD-Column1-Body1">Alphanumerical field for recording the scanned barcode. </td>
</tr>
</table>
<h2><a name="Filling"></a>Filling pump status</h2>
<p>Action name:FillingPumpStatus(TerminalName, TimeStamp, PumpNo, Status, Amount, Price, Details)
Action category: notification
</p>
<p>The "HUTH" driver sends the action for each status change of one filling pump.
Via the parameter "TerminalName" the concerned device will be identified. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name".
The further parameter will be filled with video meta data by the driver.
</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 349px;" 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">Terminal </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TerminalName
</td>
<td class="BodyD-Column1-Body1">Identifies the affected device. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name". </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time Stamp, when the status change was detected by the Huth-System </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">pump no </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">PumpNo </td>
<td class="BodyD-Column1-Body1">Number of the filling pump </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">status</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Status</td>
<td class="BodyD-Column1-Body2">New status of the filling pump <br />Filling started = Huth-device status "taken off before filling"
<br />Filling stopped = Huth-device status "put back on end of filling" <br />Pump released = Huth-device status "disconnect after filling" <br />Amount message = sum - respectively amount notice of the filling pump
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">amount</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Amount</td>
<td class="BodyD-Column1-Body1">Amount of the booking (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">price</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Price</td>
<td class="BodyD-Column1-Body2">Sum of the booking (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">details</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Details</td>
<td class="BodyD-Column1-Body1">Free text (optional)</td>
</tr>
</table>
<h2><a name="Interfac"></a>Interface raw answer</h2>
<p>Action name:InterfaceRawAnswer(InterfaceName, TimeStamp, Data)
</p>
<p>Action category: notification
</p>
<p>This action is used by the "HUTH" driver. ". It serves only as a debug service and can also be used in general for any integration that supports or uses this action.
The "HUTH" driver sends the action for each telegram it has sent to the end device.
The affected end device will be identified by the parameter "TerminalName". The "HUTH" driver can always build up numerous connections to different Huth devices. The driver then sends the alphanumerical value defined in its setup as "Interface name"
The further parameter will be filled with video meta data by the driver.
</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 350px;" 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">interface </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">InterfaceName </td>
<td class="BodyD-Column1-Body1">Identifies the affected end device. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name". </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">TimeStamp when the telegram was received from the Huth system. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">answer </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Data </td>
<td class="BodyD-Column1-Body1">The sent telegram in raw format. </td>
</tr>
</table>
<p>&#160;</p>
<h2><a name="Interfac2"></a>Interface raw data
</h2>
<p>Action name:InterfaceRawData(InterfaceName, TimeStamp, Data)
</p>
<p>Action category: notification
</p>
<p>This action is used by the driver "HUTH". It serves only as a debug service and can also be used in general for any integration that supports or uses this action.
The "HUTH" driver sends the action for each telegram it has received from the end device.
The affected end device will be identified by the parameter "TerminalName". The "HUTH" driver can always build up numerous connections to different Huth devices. The driver then sends the alphanumerical value defined in its setup as "Interface name"
The further parameter will be filled with video meta data by the driver. </p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 350px;" 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">interface </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">InterfaceName </td>
<td class="BodyD-Column1-Body1">Identifies the affected end device. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name". </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">TimeStamp when the telegram was received from the Huth system. </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">data </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Data </td>
<td class="BodyD-Column1-Body1">The received telegram in raw format. </td>
</tr>
</table>
<h2><a name="POS"></a>POS data</h2>
<p>Action name:POSData(POSName, TimeStamp, Article, Price, Units, PricePerUnit, Line1, Line2, Line3, Line4, Line5)</p>
<p>Action category: logical</p>
<p>The POS Management System sends the action for each transaction carried out at a cash point</p>
<p>Via the parameter "POS"the affected cash point will be identified. The further parameter will be filled with video meta data by the POS Management System</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 350px;" 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">POS
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">POSName
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of the cash point </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time Stamp, when the action was send from the POS management system </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">article
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Article
</td>
<td class="BodyD-Column1-Body1">Identification of the booked article (optional) </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">price
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Price
</td>
<td class="BodyD-Column1-Body2">Amount (single price multiplied with number of articles) of transaction (optional) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">units
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Units
</td>
<td class="BodyD-Column1-Body1">Amount of articles of the transaction (optional) </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">price per unit
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PricePerUnit
</td>
<td class="BodyD-Column1-Body2">Single article price of the transaction (optional) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">line 1
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Line1
</td>
<td class="BodyD-Column1-Body1">Alphanumerical fields /sections for storing of additional information concerning the transaction or for storing information which have been printed out on the sales slip (optional) </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">line 2
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Line2
</td>
<td class="BodyD-Column1-Body2">Alphanumerical fields /sections for storing of additional information concerning the transaction or for storing information which have been printed out on the sales slip (optional) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">line 3
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Line3
</td>
<td class="BodyD-Column1-Body1">Alphanumerical fields /sections for storing of additional information concerning the transaction or for storing information which have been printed out on the sales slip (optional) </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">line 4
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Line4
</td>
<td class="BodyD-Column1-Body2">Alphanumerical fields /sections for storing of additional information concerning the transaction or for storing information which have been printed out on the sales slip (optional) </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">line 5
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Line5
</td>
<td class="BodyD-Column1-Body1">Alphanumerical fields /sections for storing of additional information concerning the transaction or for storing information which have been printed out on the sales slip (optional) </td>
</tr>
</table>
<h2><a name="POS2"></a>POS status</h2>
<p>Action name:POSStatus(POSName, TimeStamp, Status, Details)</p>
<p>Action category: logical</p>
<p>The POS management system sends the action as soon as the cash point is opened or closed or as soon as a cancellation will be made at a cash point.</p>
<p>Via the parameter "POS" the concerned cash point will be identified. The further parameter will be filled with video meta data from the POS management system.</p>
<p>The parameter "Status" can be addressed by the POS management system with a code figure for the currently notified status.</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 350px;" 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">POS
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">POSName
</td>
<td class="BodyD-Column1-Body1">Alphanumerical identification of cash point </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time Stamp, when the action was sent from the POS management system</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">status
</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Status
</td>
<td class="BodyD-Column1-Body1">Identification figure for the currently notified status </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">details
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Details
</td>
<td class="BodyD-Column1-Body2">Additional alphanumerical information from POS management system (optional) </td>
</tr>
</table>
<h2><a name="Terminal"></a>Terminal article data</h2>
<p>Action name:TerminalArticleData(TerminalName, TimeStamp, CashierStation, PumpNo, AlarmStatus, Amount, Price, Details)
</p>
<p>Action category: notification
</p>
<p>The "Huth" driver sends the actions for each product-group-booking.
Via the parameter "TerminalName" the affected device will be identified. The "HUTH" driver is principally able to build up several connections to different Huth devices . The driver sends the alphanumerical value defined in his setup as "Interface name".
The further parameter will be filled with video meta data via the driver.
</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 349px;" 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">Terminal </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TerminalName
</td>
<td class="BodyD-Column1-Body1">Identifies the affected device. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name". </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time Stamp, when the status change was detected by the Huth-System </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cashier station</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">CashierStation</td>
<td class="BodyD-Column1-Body1">Number of the cash point where the booking is carried out</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">pump no</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PumpNo</td>
<td class="BodyD-Column1-Body2">Number of the filling point</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">alarm</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">AlarmStatus</td>
<td class="BodyD-Column1-Body1">Status of Alarm-Flags
<br />Yes = Alarm-Flag was set by the Huth system
<br />No = Alarm-Flag not set
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">amount</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Amount</td>
<td class="BodyD-Column1-Body2">Amount of the booking (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">price</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Price</td>
<td class="BodyD-Column1-Body1">Sum of the booking (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">details</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Details</td>
<td class="BodyD-Column1-Body2">Free text (optional)</td>
</tr>
</table>
<h2><a name="Terminal2"></a>Terminal payment data</h2>
<p>Action name:TerminalPaymentData(TerminalName, TimeStamp, CashierStation, PumpNo, AlarmStatus, Amount, Price, Details)
</p>
<p>Action category: notification
</p>
<p>The "HUTH" driver sends the action for each termination of a booking with the used method of payment.
Via the parameter "TerminalName" the affected device will be identified. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name".
The further parameter will be filled with video meta data via the driver.
</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 349px;" 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">Terminal </td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">TerminalName
</td>
<td class="BodyD-Column1-Body1">Identifies the affected device. The "HUTH" driver is principally able to build up several connections to different Huth devices. The driver sends the alphanumerical value defined in his setup as "Interface name". </td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp
</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">TimeStamp
</td>
<td class="BodyD-Column1-Body2">Time Stamp, when the status change was detected by the Huth-System </td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">cashier station</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">CashierStation</td>
<td class="BodyD-Column1-Body1">Number of the cash point where the booking is carried out with the used payment method</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">pump no</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">PumpNo</td>
<td class="BodyD-Column1-Body2">Number of the filling point (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">alarm</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">AlarmStatus</td>
<td class="BodyD-Column1-Body1">Status of Alarm-Flags
<br />Yes = Alarm-Flag was set by the Huth system
<br />No = Alarm-Flag not set
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">amount</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Amount</td>
<td class="BodyD-Column1-Body2">Amount of the booking (optional)</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">price</td>
<td class="BodyE-Column1-Body1" style="font-style: italic;">Price</td>
<td class="BodyD-Column1-Body1">Sum of the booking (optional)</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">details</td>
<td class="BodyE-Column1-Body2" style="font-style: italic;">Details</td>
<td class="BodyD-Column1-Body2">Free text (optional)</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,172 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>POS</title>
<link href="../Resources/TableStyles/Rows.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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>
<h1>POS</h1>
<p>POS (point of sale).</p>
<h2>Barcode data</h2>
<p>Action name:<i>BarcodeData(ReaderName, TimeStamp, Barcode)</i></p>
<p>Action category: logical</p>
<p>Barcode data.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">scanner</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ReaderName</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Scanner name.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">time stamp</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>TimeStamp</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Time stamp.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">code</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Barcode</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Barcode.</td>
</tr>
</table>
<h2>POS data</h2>
<p>Action name:<i>POSData(POSName, TimeStamp, Article, Price, Units, PricePerUnit, Line1, Line2, Line3, Line4, Line5)</i></p>
<p>Action category: logical</p>
<p>POS data.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">POS</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>POSName</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">POS name.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">time stamp</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>TimeStamp</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Time stamp.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">article</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Article</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Article description.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">price</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Price</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Price.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">units</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Units</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Number of units.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">price per unit</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>PricePerUnit</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Price per unit.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">line 1</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Line1</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Line 1.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">line 2</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Line2</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Line 2.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">line 3</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Line3</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Line 3.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">line 4</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Line4</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Line 4.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">line 5</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Line5</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Line 5.</td>
</tr>
</table>
<h2>POS status</h2>
<p>Action name:<i>POSStatus(POSName, TimeStamp, Status, Details)</i></p>
<p>Action category: logical</p>
<p>POS status.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">POS</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>POSName</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">POS name.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">time stamp</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>TimeStamp</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Time stamp.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">status</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Status</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Status.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">details</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Details</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Details.</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,350 @@
<!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>Remote export</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<style>/*<![CDATA[*/BODY {
FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: 10pt
}
/*]]>*/</style>
<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">Remote export</span>
</div>
<h1>Remote export</h1>
<p>The actions of the category "Remote Export" subserve to start and control
exports over the network. The actions are only at disposal if GSCRemEx service
runs on every device and a connection to a central GeViSoft server persists. The
GSCServer and GSCRemEx service have to run together on a local machine otherwise
exports are not possible. The GSCRemEx service has to be setup in advance by
GSCRemExEditor. The exports can be executed by a PILOT center device or other
software systems (SDK based, GEUTEBRUECK devices). The PILOT is a system
management console of GEUTEBRUECK which simplifies the handling of complex
security systems. The PILOT among others can be used to control GSCView.
Especially in view of the fact of exports the user can define start and end
points by the help of the PILOT through GSCRemEx ("SetExportMarker" action).
GSCView remembers the points in time and inserts them to the action
"StartRemoteExport". The action "StartRemoteExport" is initiated by GSCView
after the PILOT has send the action "InitializeRemoteExport" by indirection via
the GeViSoft server and GeViScope server to GSCView. GSCView sends the action
"StartRemoteExport" to the GSCRemEx service and triggers the appropriate export.
Exports that have been started through GSCRemEx service can be started or
aborted from other devices or software systems over the network. Exports that
have been started locally in GSCView cannot be controlled from other devices or
software systems. In the curse of an export process no new export can be
started. This export has to be restarted after the running export process has
been completed! The actions "SetExportMarker" and "InitializeRemoteExport" have
been developed especially for the PILOT. </p>
<h2>Cancel export</h2>
<p>Action name:<i>CancelExport(ExportID, AbortFlag)</i></p>
<p>Action category: command</p>
<p>Through this action the running export process with the specified export ID
is being aborted if GSCView remote-controls the GSCRemEx service. If the
GSCRemEx service is remote-controlled by an external application the external
application has to send the action to abort the running export process.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 380px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">export GUID</td>
<td class="BodyE-Column1-Body1"><i>ExportID</i>
</td>
<td class="BodyD-Column1-Body1">ID of the export process that has to be aborted. <br />The export GUID
is being assigned on the action "StartRemoteExport". <br />e.g.:
01E68451-2406-484d-A9BC-5140762931E0 <br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">abort flag</td>
<td class="BodyB-Column1-Body2"><i>AbortFlag</i>
</td>
<td class="BodyA-Column1-Body2">reason for abort <br />0: user abort; abort of export through user
<br />1: low disc space; too little storage capacity <br />2: no user rights;
access based on restricted user rights not possible <br />3: error; internal
error <br /></td>
</tr>
</tbody>
</table>
<h2>Export finished</h2>
<p>Action name:<i>ExportFinished(ExportID, Success)</i></p>
<p>Action category: notification</p>
<p>The GSCRemEx service notifies through this action that the running process
was completed. </p>
<p>Possible status messages are: user abort, low disc space, no user rights,
error. </p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 380px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">export GUID</td>
<td class="BodyE-Column1-Body1"><i>ExportID</i>
</td>
<td class="BodyD-Column1-Body1">ID of completed export process. The export GUID is being assigned on
the action "StartRemoteExport". <br />e.g.:
01E68451-2406-484d-A9BC-5140762931E0 <br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">success</td>
<td class="BodyB-Column1-Body2"><i>Success</i>
</td>
<td class="BodyA-Column1-Body2">reason for abort <br />0: user abort; abort of export through user
<br />1: low disc space; too little storage capacity <br />2: no user rights;
access based on restricted user rights not possible <br />3: error; internal
error <br /></td>
</tr>
</tbody>
</table>
<h2>Export progress</h2>
<p>Action name:<i>ExportProgress(ExportID, Progress)</i></p>
<p>Action category: notification</p>
<p>The GSCRemEx service notifies the current status of the running export
process in %.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 380px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">export GUID</td>
<td class="BodyE-Column1-Body1"><i>ExportID</i>
</td>
<td class="BodyD-Column1-Body1">ID of running export. The export GUID is being assigned on the action
"StartRemoteExport". <br />e.g.: 01E68451-2406-484d-A9BC-5140762931E0
<br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">progress</td>
<td class="BodyB-Column1-Body2"><i>Progress</i>
</td>
<td class="BodyA-Column1-Body2">shows current status of the export process in %</td>
</tr>
</tbody>
</table>
<h2>Initialize remote export</h2>
<p>Action name:<i>InitializeRemoteExport(Viewer, Device)</i></p>
<p>Action category: command</p>
<p>This action is being used especially in the context of control units or
systems like for example the PILOT. </p>
<p>The PILOT center device notifies GSCView that a new export has to be
initiated. Thereupon GSCView creates the action "StartRemoteExport" with the
appropriate parameters. </p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 79px;" />
<col class="Column-Column1" style="width: 380px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1"><i>Viewer</i>
</td>
<td class="BodyD-Column1-Body1">global viewer number <br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">device GUID</td>
<td class="BodyB-Column1-Body2"><i>Device</i>
</td>
<td class="BodyA-Column1-Body2">ID of the PILOT center device (transmitted by the PILOT itself)
<br />e.g.: 01E68451-2406-484d-A9BC-5140762931E0 <br /></td>
</tr>
</tbody>
</table>
<h2>Set export marker</h2>
<p>Action name:<i>SetExportMarker(Viewer, Marker)</i></p>
<p>Action category: command</p>
<p>This action is being used especially in the context of control units or
systems like for example the PILOT. </p>
<p>It indicates GSCView that an export start and end point has to be set on the
current position of viewer X. </p>
<p>The so-called markers are being transferred automatically into the
"StartRemoteExport" action once the "InitializeRemoteExport" action has been
sent from the PILOT. The action "StartRemoteExport" transfers the start and end
points to the GSCRemEx service which conducts the appropriate export. </p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 380px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">viewer</td>
<td class="BodyE-Column1-Body1"><i>Viewer</i>
</td>
<td class="BodyD-Column1-Body1">global viewer number <br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">marker</td>
<td class="BodyB-Column1-Body2"><i>Marker</i>
</td>
<td class="BodyA-Column1-Body2">tags and stores the start and end point of the data that has to be
exported <br />(selection begin=0, selection end=1) <br /></td>
</tr>
</tbody>
</table>
<h2>Start remote export</h2>
<p>Action name:<i>StartRemoteExport(ExportID, Device, BackupFormat, Channel,
SelectionBegin, SelectionEnd, JobID)</i></p>
<p>Action category: command</p>
<p>This action tells the GSCRemEx service to start a new export. </p>
<p>The action "StartRemoteExport" was created because the PILOT or another
external software system did send the action "InitializeRemoteExport" to GSCView
before. </p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/TABLE.css');margin-left: 0;margin-right: auto;" class="TableStyle-Rows" cellspacing="0">
<col class="Column-Column1" style="width: 80px;" />
<col class="Column-Column1" style="width: 90px;" />
<col class="Column-Column1" style="width: 371px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">export GUID</td>
<td class="BodyE-Column1-Body1"><i>ExportID</i>
</td>
<td class="BodyD-Column1-Body1">ID of running exports. The export GUID has to be determined separately
in advance because the action itself does not create a GUID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device GUID</td>
<td class="BodyE-Column1-Body2"><i>Device</i>
</td>
<td class="BodyD-Column1-Body2">ID of PILOT center device. If no PILOT is being used the blank GUID
can be used instead. <br />e.g.: 01E68451-2406-484d-A9BC-5140762931E0
<br /></td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">format</td>
<td class="BodyE-Column1-Body1"><i>BackupFormat</i>
</td>
<td class="BodyD-Column1-Body1">defines the format of the exported file <br />0=default (in this case it
equals 1=GBF) <br />1=GBF( GEUTEBRUECK backup file) <br />2=MPEG2 <br /></td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel</td>
<td class="BodyE-Column1-Body2"><i>Channel</i>
</td>
<td class="BodyD-Column1-Body2">global channel number/camera number</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">start time</td>
<td class="BodyE-Column1-Body1"><i>SelectionBegin</i>
</td>
<td class="BodyD-Column1-Body1">holds the position of the marker for the start point ("selection
begin")</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">end time</td>
<td class="BodyE-Column1-Body2"><i>SelectionEnd</i>
</td>
<td class="BodyD-Column1-Body2">holds the position of the marker for the end point ("selection
end")</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">job ID</td>
<td class="BodyB-Column1-Body1"><i>JobID</i>
</td>
<td class="BodyA-Column1-Body1">Contains the login data (server name, user name, encoded password)
<br />Optional second user password. The login data is separated by |.
<br />e.g.: &lt;server
name&gt;|&lt;user&gt;|&lt;PW&gt;|&lt;user2&gt;|&lt;PW2&gt;
<br />localhost|admin|test| <br />If there is no second user (second user
password) nothing has to be <br />entered at this point. <br />Passwords in
this parameter are encoded. Therefor the function <br />DBIEncodeString() of
GscDBI-DLL (from GeViScope/re_porter SDK) is being used.
<br /></td>
</tr>
</tbody>
</table>
<h2>Start scene store</h2>
<p>Action name:<i>StartSceneStore(SceneStoreID, CutList, PreHistoryLength,
RecordingLength)</i></p>
<p>Action category: command</p>
<p>For internal use only!</p>
<table border="1" style="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" style="width: 315px;" />
<thead>
<tr class="Head-Header1">
<th class="HeadE-Column1-Header1" colspan="2">Parameter</th>
<th class="HeadD-Column1-Header1">Function</th>
</tr>
</thead>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">scene store GUID</td>
<td class="BodyE-Column1-Body1"><i>SceneStoreID</i>
</td>
<td class="BodyD-Column1-Body1">Scene store GUID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">cut-list</td>
<td class="BodyE-Column1-Body2"><i>CutList</i>
</td>
<td class="BodyD-Column1-Body2">Cut-list.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">pre-history length</td>
<td class="BodyE-Column1-Body1"><i>PreHistoryLength</i>
</td>
<td class="BodyD-Column1-Body1">Pre-history length.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">recording length</td>
<td class="BodyB-Column1-Body2"><i>RecordingLength</i>
</td>
<td class="BodyA-Column1-Body2">Recording length.</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -0,0 +1,243 @@
<!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>SKIDATA</title>
<link href="../Resources/TableStyles/TABLE.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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">SKIDATA</span>
</div>
<h1>SKIDATA</h1>
<p>SKIDATA messages.</p>
<h2><a name="SKIDATA"></a>SKIDATA control</h2>
<p>Action name:<i>SkidataControl(InterfaceName, Data)</i></p>
<p>Action category: logical</p>
<p>SKIDATA control information.</p>
<table border="1" style="caption-side: top;margin-left: 0;margin-right: auto;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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">interface</td>
<td class="BodyE-Column1-Body1"><i>InterfaceName</i>
</td>
<td class="BodyD-Column1-Body1">Interface name.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyB-Column1-Body2">state</td>
<td class="BodyB-Column1-Body2"><i>Data</i>
</td>
<td class="BodyA-Column1-Body2">Interface state.</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<h2><a name="SKIDATA5"></a>SKIDATA device event</h2>
<p>Action name:SkidataDeviceEvent(InterfaceName, DeviceID, EventCode)</p>
<p>Action category: logical</p>
<p>&#160;</p>
<p>SKIDATA device event.</p>
<table border="1" 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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">interface</td>
<td class="BodyE-Column1-Body1"><i>InterfaceName</i>
</td>
<td class="BodyD-Column1-Body1">Interface name.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">device</td>
<td class="BodyE-Column1-Body2"><i>DeviceID</i>
</td>
<td class="BodyD-Column1-Body2">Device ID.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">event code</td>
<td class="BodyB-Column1-Body1"><i>EventCode</i>
</td>
<td class="BodyA-Column1-Body1">Event code.</td>
</tr>
</tbody>
</table>
<h2><a name="SKIDATA2"></a>SKIDATA entry</h2>
<p>Action name:<i>SkidataEntry(InterfaceName, MessageCode, TranscactionID, CarParkNo, DeviceID)</i></p>
<p>Action category: logical</p>
<p>SKIDATA entry.</p>
<table border="1" 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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">interface</td>
<td class="BodyE-Column1-Body1"><i>InterfaceName</i>
</td>
<td class="BodyD-Column1-Body1">Interface name.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message</td>
<td class="BodyE-Column1-Body2"><i>MessageCode</i>
</td>
<td class="BodyD-Column1-Body2">Message code.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">transaction</td>
<td class="BodyE-Column1-Body1"><i>TranscactionID</i>
</td>
<td class="BodyD-Column1-Body1">Transcaction ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">car park</td>
<td class="BodyE-Column1-Body2"><i>CarParkNo</i>
</td>
<td class="BodyD-Column1-Body2">Car park no.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">device</td>
<td class="BodyB-Column1-Body1"><i>DeviceID</i>
</td>
<td class="BodyA-Column1-Body1">Device ID.</td>
</tr>
</tbody>
</table>
<h2><a name="SKIDATA3"></a>SKIDATA exit</h2>
<p>Action name:<i>SkidataExit(InterfaceName, MessageCode, TranscactionID, CarParkNo, DeviceID)</i></p>
<p>Action category: logical</p>
<p>SKIDATA exit.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">interface</td>
<td class="BodyE-Column1-Body1"><i>InterfaceName</i>
</td>
<td class="BodyD-Column1-Body1">Interface name.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message</td>
<td class="BodyE-Column1-Body2"><i>MessageCode</i>
</td>
<td class="BodyD-Column1-Body2">Message code.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">transaction</td>
<td class="BodyE-Column1-Body1"><i>TranscactionID</i>
</td>
<td class="BodyD-Column1-Body1">Transcaction ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">car park</td>
<td class="BodyE-Column1-Body2"><i>CarParkNo</i>
</td>
<td class="BodyD-Column1-Body2">Car park no.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">device</td>
<td class="BodyB-Column1-Body1"><i>DeviceID</i>
</td>
<td class="BodyA-Column1-Body1">Device ID.</td>
</tr>
</tbody>
</table>
<h2><a name="SKIDATA4"></a>SKIDATA transaction</h2>
<p>Action name:<i>SkidataTransaction(InterfaceName, MessageCode, TranscactionID, CarParkNo, DeviceID)</i></p>
<p>Action category: logical</p>
<p>SKIDATA transaction.</p>
<table border="1" style="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>
<tbody>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">interface</td>
<td class="BodyE-Column1-Body1"><i>InterfaceName</i>
</td>
<td class="BodyD-Column1-Body1">Interface name.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">message</td>
<td class="BodyE-Column1-Body2"><i>MessageCode</i>
</td>
<td class="BodyD-Column1-Body2">Message code.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">transaction</td>
<td class="BodyE-Column1-Body1"><i>TranscactionID</i>
</td>
<td class="BodyD-Column1-Body1">Transcaction ID.</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">car park</td>
<td class="BodyE-Column1-Body2"><i>CarParkNo</i>
</td>
<td class="BodyD-Column1-Body2">Car park no.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyB-Column1-Body1">device</td>
<td class="BodyB-Column1-Body1"><i>DeviceID</i>
</td>
<td class="BodyA-Column1-Body1">Device ID.</td>
</tr>
</tbody>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,304 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Viewer notifications</title>
<link href="../Resources/TableStyles/Rows.css" rel="stylesheet" />
<style>
body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
}
</style>
<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>
<h1>Viewer notifications</h1>
<p>All viewer notifictions.</p>
<h2>Image export notification</h2>
<p>Action name:<i>ImageExportNotification(User, Destination, DestinationType, TimeStamp, TimeEnd, Channels, ClientHost, ClientType, ClientAccount)</i></p>
<p>Action category: logical</p>
<p>Notification on export or print of channel images.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">user</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>User</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Name of the user connected to the system.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">destination</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Destination</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Destination.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">destination type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>DestinationType</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Destination type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">time stamp</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>TimeStamp</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Time stamp.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">end time</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>TimeEnd</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">End time.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">channels</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Channels</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Channels.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client host</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientHost</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Host from where the connection is done.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientType</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Client type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client account</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientAccount</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">User account from where the connection is done.</td>
</tr>
</table>
<h2>VC alarm queue notification</h2>
<p>Action name:<i>VCAlarmQueueNotification(Viewer, Notification, AlarmID, TypeID, ClientHost, ClientType, ClientAccount)</i></p>
<p>Action category: logical</p>
<p>Alarm queue notification on the viewer client.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">viewer</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Viewer</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Global viewer or viewer client no.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">notification</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Notification</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Alarm state notification.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">instance ID</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>AlarmID</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Instance ID of the alarm.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">event type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>TypeID</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Type of the event.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client host</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientHost</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Host from where the connection is done.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientType</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Client type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client account</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientAccount</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">User account from where the connection is done.</td>
</tr>
</table>
<h2>VC scene changed</h2>
<p>Action name:<i>VCSceneChanged(Viewer, Scene)</i></p>
<p>Action category: logical</p>
<p>Viewer client scene changed.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">viewer</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Viewer</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Global viewer or viewer client no.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">scene</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Scene</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Scene name.</td>
</tr>
</table>
<h2>Viewer cleared</h2>
<p>Action name:<i>ViewerCleared(Viewer, ClientHost, ClientType, ClientAccount)</i></p>
<p>Action category: logical</p>
<p>Viewer cleared.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">viewer</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Viewer</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Global viewer or viewer client no.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client host</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientHost</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Host from where the connection is done.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientType</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Client type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client account</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientAccount</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">User account from where the connection is done.</td>
</tr>
</table>
<h2>Viewer connected</h2>
<p>Action name:<i>ViewerConnected(Viewer, Channel, PlayMode, ClientHost, ClientType, ClientAccount)</i></p>
<p>Action category: logical</p>
<p>Viewer connected to the camera.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">viewer</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Viewer</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Global viewer or viewer client no.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">channel</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Channel</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Channel.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">play mode</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>PlayMode</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Viewer play mode.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client host</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientHost</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Host from where the connection is done.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client type</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientType</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Client type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client account</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientAccount</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">User account from where the connection is done.</td>
</tr>
</table>
<h2>Viewer play mode changed</h2>
<p>Action name:<i>ViewerPlayModeChanged(Viewer, Channel, PlayMode, ChannelTime, ClientHost, ClientType, ClientAccount)</i></p>
<p>Action category: logical</p>
<p>Viewer play mode changed.</p>
<table border="1" style="mc-table-style: url('../Resources/TableStyles/Rows.css');" class="TableStyle_Rows" cellspacing="0">
<tr bgcolor="#D9D9D9">
<th colspan="2" class="TableStyle_Rows_Body_0_0_RowSep_ColSep" style="font-weight: bold;">Parameter</th>
<th class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;">Function</th>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">viewer</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>Viewer</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Global viewer or viewer client no.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">channel</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>Channel</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Channel.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">play mode</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>PlayMode</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Viewer play mode.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">channel time</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ChannelTime</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Channel time.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client host</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientHost</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">Host from where the connection is done.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep">client type</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><i>ClientType</i>
</td>
<td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Client type.</td>
</tr>
<tr>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep">client account</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><i>ClientAccount</i>
</td>
<td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd">User account from where the connection is done.</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,455 @@
<!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>Viewer notifications</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">Viewer notifications</span>
</div>
<h1>Viewer notification actions</h1>
<p>Viewer notifications are fired by GSCView while GSCView is remote controlled. To enable remote controlling GSCView the "Remote control" setting in GscProfileManager and a global unique viewer client number has to be configured. To enable GSCView sending viewer notifications the "Send notification actions" settings in GscProfileManager have to be configured.</p>
<p>&#160;</p>
<h2><a name="Image"></a>Image export notification</h2>
<p>Action name:ImageExportNotification(User, Destination, DestinationType, TimeStamp, TimeEnd, Channels, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>A single image or a video sequence has been exported by a GSCView in the network.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because a single picture has been exported via a ViewerExportPicture action while GSCView is remote controlled or because the user has manually exported a picture or a video sequence in GSCView.</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" 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</td>
<td class="BodyE-Column1-Body1">User</td>
<td class="BodyD-Column1-Body1">GeViScope user, who has done the export</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">destination</td>
<td class="BodyE-Column1-Body2">Destination</td>
<td class="BodyD-Column1-Body2">Path (local or UNC) where the picture or sequence was exported</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">destination type</td>
<td class="BodyE-Column1-Body1">DestinationType</td>
<td class="BodyD-Column1-Body1">0 = single image <br />1 = backup file (GBF) <br />2 = video file (MPEG, Video DVD, MPEG4CCTV raw) <br />3 = snapshot to clipboard <br />4 = print picture
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp</td>
<td class="BodyE-Column1-Body2">TimeStamp</td>
<td class="BodyD-Column1-Body2">Timestamp belonging to the picture exported or belonging to the first picture of the exported video sequence. The parameter is transmitted in the following format:
"2009/05/06 14:47:48,359 GMT+02:00"
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">end time</td>
<td class="BodyE-Column1-Body1">TimeEnd</td>
<td class="BodyD-Column1-Body1">Timestamp belonging to the last picture of the exported video sequence. The parameter is transmitted in the following format:
"2009/05/06 14:47:48,359 GMT+02:00"
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channels</td>
<td class="BodyE-Column1-Body2">Channels</td>
<td class="BodyD-Column1-Body2">List of video channels that are included in the export result</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 name of the PC where GSCView is running</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">1 = GSCView <br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="Scene"></a>Scene store modification</h2>
<p>Action name:SceneStoreModification(Viewer, SceneStoreID, SceneStoreName, TimeStamp, ModificationType, User, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>&#160;</p>
<p>Scene store modification.</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 358px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on some GSCView in the network</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scene store GUID</td>
<td class="BodyE-Column1-Body2">SceneStoreID</td>
<td class="BodyD-Column1-Body2">Scene store GUID.</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">scene store name</td>
<td class="BodyE-Column1-Body1">SceneStoreName</td>
<td class="BodyD-Column1-Body1">Scene store name.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">time stamp</td>
<td class="BodyE-Column1-Body2">TimeStamp</td>
<td class="BodyD-Column1-Body2">Time stamp.
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">modification type</td>
<td class="BodyE-Column1-Body1">ModificationType</td>
<td class="BodyD-Column1-Body1">Modification type.
</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">user</td>
<td class="BodyE-Column1-Body2">User</td>
<td class="BodyD-Column1-Body2">Name of the user.</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 name of the PC where GSCView is running</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">1 = GSCView <br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="VC"></a>VC alarm queue notification</h2>
<p>Action name:VCAlarmQueueNotification(Viewer, Notification, AlarmID, TypeID, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>The state of the alarm queue of the GSCView with the transmitted viewer client number has been changed.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because the state of its alarm queue has been changed via a VCAlarmQueue... action while GSCView is remote controlled or because the user has manually changed the state of the alarm queue in GSCView.</p>
<p>&#160;</p>
<p>An alarm can be identified by its alarm instance ID (event instance ID). Every alarm (event) is assigned a unique instance ID at creation time by the GeViScope server.</p>
<p>&#160;</p>
<p>Alternatively the alarm can be identified by its alarm type (event type) which means the name of the alarm (event) in the GeViScope Setup event list.</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that fired this notification</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">notification</td>
<td class="BodyE-Column1-Body2">Notification</td>
<td class="BodyD-Column1-Body2">New alarm = an new alarm occurred
<br />Presented = an alarm was presented <br />Stacked = an alarm was stacked in the queue, because the queue is blocked by an active alarm
<br />Confirmed = an alarm was confirmed <br />Removed = an alarm was removed from the queue <br />Last confirmed = the last alarm in the queue was confirmed <br />Last removed = the last alarm was removed from the queue <br />List confirmed = there are no more unconfirmed alarms in the queue <br />List empty = there are no more alarms in the queue
</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">instance ID</td>
<td class="BodyE-Column1-Body1">AlarmID</td>
<td class="BodyD-Column1-Body1">The alarm instance ID (event instance ID)</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">The alarm type (event type)</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 name of the PC where GSCView is running</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">1 = GSCView <br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="VC2"></a>VC scene changed</h2>
<p>Action name:VCSceneChanged(Viewer, Scene)</p>
<p>Action category: notification</p>
<p>The active scene of the GSCView with the transmitted viewer client number has been changed.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because its active scene has been changed via a VCChangeSceneByName or ViewerChangeScene action while GSCView is remote controlled or because the user has manually changed the active scene in GSCView.</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 357px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global viewer client number, identifies the GSCView that fired this notification</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">scene</td>
<td class="BodyE-Column1-Body2">Scene</td>
<td class="BodyD-Column1-Body2">The name of the scene that is displayed after the change</td>
</tr>
</table>
<h2><a name="Viewer"></a>Viewer cleared</h2>
<p>Action name:ViewerCleared(Viewer, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>The viewer with the transmitted global number on some GSCView in the network has been cleared.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because one of its viewers has been cleared via a ViewerClear action while GSCView is remote controlled or because the user has manually cleared the viewer in GSCView.</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" class="Column-Column1" />
<col style="width: 355px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on some GSCView in the network</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 name of the PC where GSCView is running</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">1 = GSCView
<br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="Viewer2"></a>Viewer connected</h2>
<p>Action name:ViewerConnected(Viewer, Channel, PlayMode, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>The viewer with the transmitted global number on some GSCView in the network has been connected.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because one of its viewers has been connected via a ViewerConnect or ViewerConnectLive action while GSCView is remote controlled or because the user has manually connected the viewer in GSCView.</p>
<p>&#160;</p>
<p>The parameter "play mode" defines in which mode the pictures are presented (live, forward, backward, .).</p>
<p>&#160;</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on some GSCView in the network</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">Global number of the media channel</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped; if not the newest picture in the database is displayed<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the actual position; if not display of pictures with normal speed starts at the beginning of the database<br />play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database<br />fast forward = like "play forward" but with high speed<br />fast backward = like "play backward" but with high speed<br />step forward = like "play forward" but only one picture<br />step backward = like "play backward" but only one picture<br />play BOD = display the first (the oldest) picture in the database<br />play EOD = display the last (the newest) picture in the database<br />live = display live pictures<br />next event = like "play forward" but only pictures that belong to event recordings<br />prev event = like "play backward" but only pictures that belong to event recordings<br />peek live picture = display only one actual live picture<br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected<br />prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected</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 name of the PC where GSCView is running</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">1 = GSCView
<br />All other values are for future use! </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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="Viewer3"></a>Viewer play mode changed</h2>
<p>Action name:ViewerPlayModeChanged(Viewer, Channel, PlayMode, ChannelTime, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>The playmode of the viewer with the transmitted global number on some GSCView in the network has been changed.</p>
<p>&#160;</p>
<p>GSCView has fired this notification because the playmode of one of its viewers has been changed via a ViewerConnect, ViewerConnectLive, ViewerSetPlayMode, ViewerPlayFromTime, ViewerJumpByTime or one of the ViewerShowAlarmBy. actions while GSCView is remote controlled or because the user has manually changed the playmode of the viewer in GSCView.</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on some GSCView in the network</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">Global number of the media channel, displayed in the viewer</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped; if not the newest picture in the database is displayed<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the actual position; if not display of pictures with normal speed starts at the beginning of the database<br />play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database<br />fast forward = like "play forward" but with high speed<br />fast backward = like "play backward" but with high speed<br />step forward = like "play forward" but only one picture<br />step backward = like "play backward" but only one picture<br />play BOD = display the first (the oldest) picture in the database<br />play EOD = display the last (the newest) picture in the database<br />live = display live pictures<br />next event = like "play forward" but only pictures that belong to event recordings<br />prev event = like "play backward" but only pictures that belong to event recordings<br />peek live picture = display only one actual live picture<br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected<br />prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected</td>
</tr>
<tr class="Body-Body2">
<td class="BodyE-Column1-Body2">channel time</td>
<td class="BodyE-Column1-Body2">ChannelTime</td>
<td class="BodyD-Column1-Body2">Timestamp belonging to the picture presented in the viewer directly after the plamode had changed. The parameter is transmitted in the following format:
"2009/05/06 14:47:48,359 GMT+02:00"
</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 name of the PC where GSCView is running</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">1 = GSCView
<br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<h2><a name="Viewer4"></a>Viewer selection changed</h2>
<p>Action name:ViewerSelectionChanged(Viewer, Channel, PlayMode, ClientHost, ClientType, ClientAccount)</p>
<p>Action category: notification</p>
<p>&#160;</p>
<p>The active viewer on some GSCView in the network has been changed.</p>
<p>GSCView has fired this notification because the user has selected one of its viewers by mouse click or by dragging a camera onto one of its viewers.</p>
<p>&#160;</p>
<p>GSCView only fires the notification, if a camera is displayed on the selected viewer.</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 style="width: 100px;" class="Column-Column1" />
<col style="width: 100px;" 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">viewer</td>
<td class="BodyE-Column1-Body1">Viewer</td>
<td class="BodyD-Column1-Body1">Global number of a viewer on some GSCView in the network</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">Global number of the media channel, displayed in the viewer</td>
</tr>
<tr class="Body-Body1">
<td class="BodyE-Column1-Body1">play mode</td>
<td class="BodyE-Column1-Body1">PlayMode</td>
<td class="BodyD-Column1-Body1">play stop = if the viewer is already displaying pictures from that channel, it is stopped; if not the newest picture in the database is displayed<br />play forward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed forward from the actual position; if not display of pictures with normal speed starts at the beginning of the database<br />play backward = if the viewer is already displaying pictures from that channel, it is displaying pictures in normal speed backward from the actual position; if not display of pictures with normal speed starts at the end of the database<br />fast forward = like "play forward" but with high speed<br />fast backward = like "play backward" but with high speed<br />step forward = like "play forward" but only one picture<br />step backward = like "play backward" but only one picture<br />play BOD = display the first (the oldest) picture in the database<br />play EOD = display the last (the newest) picture in the database<br />live = display live pictures<br />next event = like "play forward" but only pictures that belong to event recordings<br />prev event = like "play backward" but only pictures that belong to event recordings<br />peek live picture = display only one actual live picture<br />next detected motion = like "play forward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected<br />prev detected motion = like "play backward" but only pictures with motion in it (if no MOS search area is defined in GscView the whole picture size is used for it) are displayed; the display stops after motion is detected</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 name of the PC where GSCView is running</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">1 = GSCView
<br />All other values are for future use!
</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">Windows user account under that GSCView is running</td>
</tr>
</table>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,34 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hinweis</title>
<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>
<h2>Hinweis</h2>
<p>Ohne vorherige Genehmigung darf diese Dokumentation weder vollständig noch in Auszügen kopiert, übersetzt oder in eine maschinenlesbare Form gebracht werden.</p>
<p>&#160;</p>
<p>Die GEUTEBRÜCK GmbH übernimmt keine Gewähr für die Richtigkeit der Angaben in dieser Dokumentation sowie für die Software oder darin enthaltene Angaben. Jede konkludente Gewährleistung, Zusicherung marktgängiger Qualität oder Eignung für einen bestimmten Zweck hinsichtlich der Dokumentation, der Software und anderer Angaben wird hiermit ausdrücklich abgelehnt.</p>
<p>&#160;</p>
<p>Die GEUTEBRÜCK GmbH haftet unter keinen Umständen für mittelbare oder unmittelbare Folgeschäden oder besondere Schadensfolgen, die sich aus oder in Verbindung mit dieser Dokumentation ergeben, gleichgültig, ob diese aufgrund unerlaubter Handlungen, eines Vertrages oder sonstigen Gründen in Verbindung mit dieser Dokumentation, der Software oder darin enthaltener oder verwendeter Angaben entstehen.</p>
<p>&#160;</p>
<p>Die GEUTEBRÜCK GmbH behält sich das Recht vor, diese Dokumentation oder die darin enthaltenen Informationen jederzeit ohne Ankündigung zu ändern. Die darin beschriebene Software unterliegt den Bedingungen eines gesonderten Lizenzvertrages.</p>
<p>&#160;</p>
<p class="Uebrigens">Beachten Sie, dass die Illustrationen in dieser Dokumentation möglicherweise nicht zu Ihrer Softwareversion passen.</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Note</title>
<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>
<h2>Note</h2>
<p>This documentation may not be copied, translated or converted to a machine-readable form, whether in whole or in part, without prior permission.</p>
<p>&#160;</p>
<p>GEUTEBRÜCK GmbH cannot guarantee the correctness of any information provided in this documentation, nor for the software or the information it contains. Any suggested guarantee, assurance of marketable quality or suitability for a specific purpose of the documentation, the software or other information is hereby explicitly rejected.</p>
<p>&#160;</p>
<p>Under no circumstances is GEUTEBRÜCK GmbH liable for direct or indirect subsequent damage or for special subsequent damage resulting from or in association with this documentation, regardless of whether this arises as a result of illegitimate action, of a contract, or for other reasons in association with this documentation, the software or of the information contained or used within it.</p>
<p>&#160;</p>
<p>GEUTEBRÜCK GmbH retains the right to change this documentation or the information contained within it at any time without warning. The software de-scribed in it is subject to the conditions of a special licence contract.</p>
<p>&#160;</p>
<p class="Uebrigens">Please note that the illustrations in this documentation will not necessarily match those of your software version.</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Nota</title>
<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>
<h2>Nota</h2>
<p>Sin previa aprobación, esta documentación no puede ser copiada, traducida o dispuesta en ningún formato legible por máquina, en todo o en parte.</p>
<p>&#160;</p>
<p>GEUTEBRÜCK GmbH no garantiza la exactitud de las especificaciones contenidas en este documento, así como para el software o las especificaciones contenidas en él. Cualquier garantía implícita, garantía de comerciabilidad o aptitud para un propósito en particular, con respecto a la documentación, el software y otras especificaciones, queda expresamente rechazada.</p>
<p>&#160;</p>
<p>GEUTEBRÜCK GmbH no será responsable, bajo ninguna circunstancia, por perjuicios directos o indirectos o daños consecuenciales que surjan de o en conexión con esta documentación, con independencia de que se presenten sobre la base de manipulaciones no autorizadas, un contrato o causas de otro tipo en relación con esta documentación, el software o las especificaciones contenidas o utilizadas en este punto.</p>
<p>&#160;</p>
<p>GEUTEBRÜCK GmbH se reserva el derecho de cambiar esta documentación o la información en ella contenida en cualquier momento, sin previo aviso. El software descrito en este punto está sujeto a los términos de un acuerdo especial de licencia.</p>
<p>&#160;</p>
<p class="Uebrigens">Tenga en cuenta que las ilustraciones de esta documentación posiblemente no se ajusten a su versión del software.</p>
<p>&#160;</p>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!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="">
<!-- saved from url=(0014)about:internet -->
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Indication</title>
<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>
<h2>Indication</h2>
<p>La duplication et la traduction partielle ou intégrale ou la conversion en une forme lisible par machine de la présente documentation sont strictement interdites sans autorisation préalable.</p>
<p>&#160;</p>
<p>La société GEUTEBRÜCK GmbH n'accorde aucune garantie quant à l'exactitude des informations fournies dans la présente documentation ainsi qu'au logiciel et aux informations qu'il contient. Toute garantie de qualité, promesse de qualité commercialisable ou aptitude tacites à l'utilisation à une fin particulière de la présente documentation, du logiciel ou des autres informations sont donc expressément exclues.</p>
<p>&#160;</p>
<p>La société GEUTEBRÜCK GmbH n'endosse en aucun cas la responsabilité pour les dommages directs ou indirects ou les conséquences dommageables particulières qui résulteraient de la présente documentation ou qui y seraient liés, qu'ils découlent d'une action non autorisée, d'un contrat ou de faits divers en relation avec la présente documentation, le logiciel ou encore les informations qu'ils contiennent.</p>
<p>&#160;</p>
<p>La société GEUTEBRÜCK GmbH se réserve d'apporter à tout moment et sans avertissement préalable toutes modifications à la présente documentation ou aux informations qu'elle contient. Le logiciel décrit dans la présente documentation est régi par les conditions d'un contrat de licence particulier.</p>
<p>&#160;</p>
<p class="Uebrigens">Veuillez noter que les illustrations fournies dans la présente documentation ne correspondent éventuellement pas à celles de votre version du logiciel.</p>
<p>&#160;</p>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Some files were not shown because too many files have changed in this diff Show More