Skip to content

Commit

Permalink
fix: Adapter tied to the main controller. query installation.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed Jun 24, 2023
1 parent 2cd31b3 commit be36304
Show file tree
Hide file tree
Showing 21 changed files with 882 additions and 222 deletions.
42 changes: 21 additions & 21 deletions packages/masamune_agora/example/pubspec.lock
Expand Up @@ -397,91 +397,91 @@ packages:
path: "../../katana_auth"
relative: true
source: path
version: "2.0.4"
version: "2.0.6"
katana_form:
dependency: "direct overridden"
description:
path: "../../katana_form"
relative: true
source: path
version: "2.4.0"
version: "2.4.1"
katana_functions:
dependency: "direct overridden"
description:
path: "../../katana_functions"
relative: true
source: path
version: "2.2.3"
version: "2.3.0"
katana_indicator:
dependency: "direct overridden"
description:
path: "../../katana_indicator"
relative: true
source: path
version: "2.0.4"
version: "2.0.5"
katana_listenables:
dependency: "direct overridden"
description:
path: "../../katana_listenables"
relative: true
source: path
version: "2.0.6"
version: "2.0.7"
katana_listenables_annotation:
dependency: "direct overridden"
description:
path: "../../katana_listenables_annotation"
relative: true
source: path
version: "2.0.5"
version: "2.0.6"
katana_localization:
dependency: "direct overridden"
description:
path: "../../katana_localization"
relative: true
source: path
version: "2.0.7"
version: "2.0.8"
katana_localization_annotation:
dependency: "direct overridden"
description:
path: "../../katana_localization_annotation"
relative: true
source: path
version: "2.0.6"
version: "2.0.7"
katana_logger:
dependency: "direct overridden"
description:
path: "../../katana_logger"
relative: true
source: path
version: "2.0.4"
version: "2.0.5"
katana_model:
dependency: "direct overridden"
description:
path: "../../katana_model"
relative: true
source: path
version: "2.3.2"
version: "2.3.3"
katana_prefs:
dependency: "direct overridden"
description:
path: "../../katana_prefs"
relative: true
source: path
version: "2.0.5"
version: "2.0.6"
katana_prefs_annotation:
dependency: "direct overridden"
description:
path: "../../katana_prefs_annotation"
relative: true
source: path
version: "2.0.5"
version: "2.0.6"
katana_router:
dependency: "direct overridden"
description:
path: "../../katana_router"
relative: true
source: path
version: "2.0.7"
version: "2.0.8"
katana_router_annotation:
dependency: "direct overridden"
description:
Expand All @@ -495,42 +495,42 @@ packages:
path: "../../katana_scoped"
relative: true
source: path
version: "2.0.4"
version: "2.0.5"
katana_shorten:
dependency: "direct overridden"
description:
path: "../../katana_shorten"
relative: true
source: path
version: "2.0.4"
version: "2.0.5"
katana_storage:
dependency: "direct overridden"
description:
path: "../../katana_storage"
relative: true
source: path
version: "2.0.4"
version: "2.0.5"
katana_theme:
dependency: "direct overridden"
description:
path: "../../katana_theme"
relative: true
source: path
version: "2.0.8"
version: "2.0.9"
katana_theme_annotation:
dependency: "direct overridden"
description:
path: "../../katana_theme_annotation"
relative: true
source: path
version: "2.0.5"
version: "2.0.6"
katana_ui:
dependency: "direct overridden"
description:
path: "../../katana_ui"
relative: true
source: path
version: "2.1.0"
version: "2.1.1"
lints:
dependency: transitive
description:
Expand All @@ -553,14 +553,14 @@ packages:
path: "../../masamune"
relative: true
source: path
version: "2.1.16"
version: "2.1.19"
masamune_agora:
dependency: "direct main"
description:
path: ".."
relative: true
source: path
version: "2.0.41"
version: "2.0.44"
masamune_annotation:
dependency: "direct overridden"
description:
Expand Down
51 changes: 51 additions & 0 deletions packages/masamune_agora/lib/src/agora_controller.dart
Expand Up @@ -30,6 +30,15 @@ class AgoraController
}) : _loggerAdapters = loggerAdapters,
super(defaultValue: []);

/// Query for AgoraController.
///
/// ```dart
/// appRef.conroller(AgoraController.query(parameters)); // Get from application scope.
/// ref.app.conroller(AgoraController.query(parameters)); // Watch at application scope.
/// ref.page.conroller(AgoraController.query(parameters)); // Watch at page scope.
/// ```
static const query = _$AgoraControllerQuery();

static const String _agoraURL = "https://api.agora.io/v1/apps";

static RtcEngine? _engine;
Expand Down Expand Up @@ -1156,3 +1165,45 @@ class AgoraController
}
}
}

@immutable
class _$AgoraControllerQuery {
const _$AgoraControllerQuery();

@useResult
_$_AgoraControllerQuery call(
String channelName, {
List<LoggerAdapter> loggerAdapters = const [],
}) =>
_$_AgoraControllerQuery(
hashCode.toString(),
channelName: channelName,
loggerAdapters: loggerAdapters,
);
}

@immutable
class _$_AgoraControllerQuery extends ControllerQueryBase<AgoraController> {
const _$_AgoraControllerQuery(
this._name, {
required this.channelName,
this.loggerAdapters = const [],
});

final String _name;
final String channelName;
final List<LoggerAdapter> loggerAdapters;

@override
AgoraController Function() call(Ref ref) {
return () => AgoraController(
channelName,
loggerAdapters: loggerAdapters,
);
}

@override
String get name => _name;
@override
bool get autoDisposeWhenUnreferenced => true;
}

0 comments on commit be36304

Please sign in to comment.