feat: GeViScope SDK integration with C# Bridge and Flutter app
- Add GeViScope Bridge (C# .NET 8.0) on port 7720 - Full SDK wrapper for camera control, PTZ, actions/events - 17 REST API endpoints for GeViScope server interaction - Support for MCS (Media Channel Simulator) with 16 test channels - Real-time action/event streaming via PLC callbacks - Add GeViServer Bridge (C# .NET 8.0) on port 7710 - Integration with GeViSoft orchestration layer - Input/output control and event management - Update Python API with new routers - /api/geviscope/* - Proxy to GeViScope Bridge - /api/geviserver/* - Proxy to GeViServer Bridge - /api/excel/* - Excel import functionality - Add Flutter app GeViScope integration - GeViScopeRemoteDataSource with 17 API methods - GeViScopeBloc for state management - GeViScopeScreen with PTZ controls - App drawer navigation to GeViScope - Add SDK documentation (extracted from PDFs) - GeViScope SDK docs (7 parts + action reference) - GeViSoft SDK docs (12 chunks) - Add .mcp.json for Claude Code MCP server config Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,12 +8,15 @@ import 'core/network/dio_client.dart';
|
||||
import 'data/data_sources/remote/auth_remote_data_source.dart';
|
||||
import 'data/data_sources/remote/server_remote_data_source.dart';
|
||||
import 'data/data_sources/remote/action_mapping_remote_data_source.dart';
|
||||
import 'data/data_sources/remote/geviserver_remote_data_source.dart';
|
||||
import 'data/data_sources/remote/geviscope_remote_data_source.dart';
|
||||
import 'data/data_sources/local/secure_storage_manager.dart';
|
||||
import 'data/data_sources/local/server_local_data_source.dart';
|
||||
import 'data/data_sources/local/action_mapping_local_data_source.dart';
|
||||
|
||||
// Services
|
||||
import 'data/services/sync_service.dart';
|
||||
import 'data/services/excel_import_service.dart';
|
||||
|
||||
// Repositories
|
||||
import 'data/repositories/auth_repository_impl.dart';
|
||||
@@ -31,6 +34,8 @@ import 'domain/use_cases/servers/get_servers.dart';
|
||||
import 'presentation/blocs/auth/auth_bloc.dart';
|
||||
import 'presentation/blocs/server/server_bloc.dart';
|
||||
import 'presentation/blocs/action_mapping/action_mapping_bloc.dart';
|
||||
import 'presentation/blocs/geviserver/geviserver_bloc.dart';
|
||||
import 'presentation/blocs/geviscope/geviscope_bloc.dart';
|
||||
|
||||
final sl = GetIt.instance;
|
||||
|
||||
@@ -55,6 +60,18 @@ Future<void> init() async {
|
||||
),
|
||||
);
|
||||
|
||||
sl.registerFactory(
|
||||
() => GeViServerBloc(
|
||||
remoteDataSource: sl(),
|
||||
),
|
||||
);
|
||||
|
||||
sl.registerFactory(
|
||||
() => GeViScopeBloc(
|
||||
remoteDataSource: sl<GeViScopeRemoteDataSource>(),
|
||||
),
|
||||
);
|
||||
|
||||
// Use cases
|
||||
sl.registerLazySingleton(() => Login(sl()));
|
||||
sl.registerLazySingleton(() => GetServers(sl()));
|
||||
@@ -93,6 +110,10 @@ Future<void> init() async {
|
||||
),
|
||||
);
|
||||
|
||||
sl.registerLazySingleton(
|
||||
() => ExcelImportService(localDataSource: sl()),
|
||||
);
|
||||
|
||||
// Data sources
|
||||
sl.registerLazySingleton<AuthRemoteDataSource>(
|
||||
() => AuthRemoteDataSourceImpl(dio: sl<DioClient>().dio),
|
||||
@@ -114,6 +135,14 @@ Future<void> init() async {
|
||||
() => ActionMappingLocalDataSourceImpl(),
|
||||
);
|
||||
|
||||
sl.registerLazySingleton(
|
||||
() => GeViServerRemoteDataSource(dio: sl<DioClient>().dio),
|
||||
);
|
||||
|
||||
sl.registerLazySingleton(
|
||||
() => GeViScopeRemoteDataSource(dio: sl<DioClient>().dio),
|
||||
);
|
||||
|
||||
sl.registerLazySingleton(
|
||||
() => SecureStorageManager(storage: sl()),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user