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

## Features

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

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

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

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

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

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

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

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

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

128 lines
6.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Geutebrueck GeViSoftSDK .NET Wrapper: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="label_geutebrueck_sdk_small.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Geutebrueck GeViSoftSDK .NET Wrapper
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_prop.html"><span>Properties</span></a></li>
<li><a href="functions_evnt.html"><span>Events</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="functions.html#index_0x21"><span>!</span></a></li>
<li><a href="functions_0x5f.html#index__"><span>_</span></a></li>
<li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
<li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
<li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
<li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
<li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
<li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
<li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
<li class="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
<li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
<li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
<li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
<li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
<li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
<li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>m_DBNotificationCallbackWrapper
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_database.html#a48ad86645e0a945f16b4608e6b841c27">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViDatabase</a>
</li>
<li>m_Effort
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_soft_connect_progress_event_args.html#a41f497f13c4e320ea3230d5d76b933e0">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViSoftConnectProgressEventArgs</a>
</li>
<li>m_GscAction
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_action_dispatcher84a4786ba7d54e7e9ed8593f9f78a03f.html#ae6b79fbf6f72682577f51bbdcca229fd">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::ActionDispatcher::GeViAct_GscActionEventArgs</a>
</li>
<li>m_NativeDatabaseHandle
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_database.html#aad0b5ac2c7a972c9e5e06ddcf17b840e">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViDatabase</a>
</li>
<li>m_NativeMessage
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_message.html#acebb7f67776339a37db27ce086b35487">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViMessage</a>
</li>
<li>m_params
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_soft_database_notification_event_args.html#a4e68cbdf84e4069b47cd7754aaa2d60e">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViSoftDatabaseNotificationEventArgs</a>
</li>
<li>m_Progress
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_soft_connect_progress_event_args.html#a057784e5426d701476c62704af05fc62">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViSoftConnectProgressEventArgs</a>
</li>
<li>m_sendQueryTimeout
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_database.html#a16a8cac40b8b6eb4faab91c2c9161f0a">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViDatabase</a>
</li>
<li>m_ServerNotification
: <a class="el" href="class_g_e_u_t_e_b_r_u_e_c_k_1_1_ge_vi_soft_s_d_k_n_e_t_1_1_actions_wrapper_1_1_ge_vi_soft_database_notification_event_args.html#ab80df478a630761109688af0fd15efda">GEUTEBRUECK::GeViSoftSDKNET::ActionsWrapper::GeViSoftDatabaseNotificationEventArgs</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Fri Dec 9 2011 11:15:59 for Geutebrueck GeViSoftSDK .NET Wrapper by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>