Skip to content
This repository was archived by the owner on Mar 9, 2025. It is now read-only.

Grpc changes hub #333

Merged
merged 10 commits into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added CyBear-Jinni_Hub
Binary file not shown.
27 changes: 9 additions & 18 deletions bin/cbj_hub.dart
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
import 'dart:io';

import 'package:cbj_hub/application/boot_up.dart';
import 'package:cbj_hub/infrastructure/cbj_web_server_repository.dart';
import 'package:cbj_hub/infrastructure/mqtt_server_repository.dart';
import 'package:cbj_integrations_controller/infrastructure/core/initialize_integrations_controller.dart';
import 'package:cbj_integrations_controller/infrastructure/core/injection.dart';
import 'package:cbj_integrations_controller/infrastructure/node_red/node_red_repository.dart';
import 'package:cbj_integrations_controller/infrastructure/shared_variables.dart';
import 'package:cbj_hub/infrastructure/core/initialize_integrations_controller.dart';
import 'package:cbj_hub/infrastructure/core/injection.dart';
import 'package:cbj_integrations_controller/integrations_controller.dart';

Future<void> main(List<String> arguments) async {
// configureNetworkTools('network_tools_db');

setInstancesOfRepos(arguments.firstOrNull ?? Directory.current.path);
Future main(List<String> arguments) async {
// MqttServerRepository();
// CbjWebServerRepository();
// NodeRedRepository();
SharedVariables()
.asyncConstructor(arguments.firstOrNull ?? Directory.current.path);
// arguments[0] is the location of the project
await initializeIntegrationsController(
projectRootDirectoryPath: arguments.firstOrNull ?? Directory.current.path,
Expand All @@ -20,11 +19,3 @@ Future<void> main(List<String> arguments) async {

BootUp();
}

/// All instances of Repos
void setInstancesOfRepos(String projectRootDirectoryPath) {
MqttServerRepository();
CbjWebServerRepository();
NodeRedRepository();
SharedVariables().asyncConstructor(projectRootDirectoryPath);
}
23 changes: 14 additions & 9 deletions lib/application/boot_up.dart
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
import 'package:cbj_hub/infrastructure/app_communication/app_communication_repository.dart';
import 'package:cbj_integrations_controller/domain/connector.dart';
import 'package:cbj_integrations_controller/infrastructure/core/initialize_integrations_controller.dart';
import 'package:cbj_hub/domain/i_hub_server_controller.dart';
import 'package:cbj_hub/infrastructure/remote_pipes/remote_pipes_client.dart';
import 'package:cbj_integrations_controller/integrations_controller.dart';

class BootUp {
BootUp() {
setup();
}

Future<void> setup() async {
await setupIntegrationsController();
Connector().startConnector();
Future.delayed(const Duration(milliseconds: 3000)).whenComplete(() {
AppCommunicationRepository();
});
Future setup() async {
VendorsConnectorConjecture();
SearchDevices()
.startSearchIsolate(networkUtilitiesType: NetworkUtilities());

await Future.delayed(const Duration(milliseconds: 3000));
IHubServerController.instance;
RemotePipesClient().startRemotePipesWhenThereIsConnectionToWww(
// '127.0.0.1',
'guypodservicename.cbjinni.com',
);
}
}
10 changes: 8 additions & 2 deletions lib/domain/i_cbj_web_server_repository.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
part 'package:cbj_hub/infrastructure/cbj_web_server_repository.dart';

/// A cbj web server to interact with get current state requests from mqtt as
/// well as website to change devices state locally on the network without
/// the need of installing any app.
abstract class ICbjWebServerRepository {
static late ICbjWebServerRepository instance;
static ICbjWebServerRepository? _instance;

static ICbjWebServerRepository get instance {
return _instance ??= _CbjWebServerRepository();
}

/// Start the web server
Future<void> startWebServer();
Future startWebServer();

/// Get device state
void getDeviceState(String id) {}
Expand Down
34 changes: 34 additions & 0 deletions lib/domain/i_hub_server_controller.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import 'dart:async';
import 'dart:collection';
import 'dart:convert';

import 'package:cbj_hub/infrastructure/core/injection.dart';
import 'package:cbj_hub/infrastructure/core/requests_helper.dart';
import 'package:cbj_hub/infrastructure/hub_server/hub_server.dart';
import 'package:cbj_hub/utils.dart';
import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:grpc/grpc.dart';
import 'package:mqtt_client/mqtt_client.dart';

part 'package:cbj_hub/infrastructure/hub_server/hub_server_controller.dart';

abstract class IHubServerController {
static IHubServerController? _instance;

static IHubServerController get instance {
return _instance ??= _HubServerController();
}

Future getFromApp({
required Stream<ClientStatusRequests> request,
required String requestUrl,
});

Future sendAllAreasFromHubRequestsStream();
Future sendAllEntitiesFromHubRequestsStream();
Future sendAllScenesFromHubRequestsStream();

Future sendAllEntities();
Future sendAllAreas();
Future sendAllScenes();
}
243 changes: 0 additions & 243 deletions lib/infrastructure/app_communication/app_communication_repository.dart

This file was deleted.

Loading