Skip to content

Commit

Permalink
'Issue'
Browse files Browse the repository at this point in the history
  • Loading branch information
faithoflifedev committed Jan 12, 2024
1 parent 3574d69 commit 56b0d49
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 24 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2.1.3+10

* Issue #53

## 2.1.3+9

* API doc updates
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ To use this package in your code, first add the dependency to your project:
```yml
dependencies:
...
easy_onvif: ^2.1.3+9
easy_onvif: ^2.1.3+10
```
If you need additional help getting started with dart, check out these [guides](https://dart.dev/guides).
Expand Down
2 changes: 1 addition & 1 deletion lib/meta.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ library meta;
import 'dart:convert' show json;

final pubSpec = json.decode(
'{"name":"easy_onvif","version":"2.1.3+9","homepage":"https://github.com/faithoflifedev/easy_onvif","environment":{"sdk":">=3.2.0 <4.0.0"},"description":"A pure Dart library designed primarily for command line automation of Onvif compatible devices, but can be used anywhere Dart is used.","dependencies":{"args":"^2.4.2","crypto":"^3.0.3","dio":"^5.4.0","ffi":"^2.1.0","html_unescape":"^2.0.0","intl":"^0.19.0","json_annotation":"^4.8.1","loggy":"^2.0.3","path":"^1.8.3","shelf":"^1.4.1","shelf_router":"^1.1.4","sprintf":"^7.0.0","universal_io":"^2.2.2","uuid":"^4.3.1","xml":"^6.3.0","xml2json":"^6.2.1","yaml":"^3.1.2"},"dev_dependencies":{"build_runner":"^2.4.7","grinder":"^0.9.5","json_serializable":"^6.7.1","lints":"^3.0.0","mustache_template":"^2.0.0","process_run":"^0.13.0","pub_semver":"^2.1.4","publish_tools":"^0.1.0+14","pubspec":"^2.3.0","test":"^1.25.0"},"executables":{"onvif":""},"repository":"https://github.com/faithoflifedev/easy_onvif.git"}');
'{"name":"easy_onvif","version":"2.1.3+10","homepage":"https://github.com/faithoflifedev/easy_onvif","environment":{"sdk":">=3.2.0 <4.0.0"},"description":"A pure Dart library designed primarily for command line automation of Onvif compatible devices, but can be used anywhere Dart is used.","dependencies":{"args":"^2.4.2","crypto":"^3.0.3","dio":"^5.4.0","ffi":"^2.1.0","html_unescape":"^2.0.0","intl":"^0.19.0","json_annotation":"^4.8.1","loggy":"^2.0.3","path":"^1.8.3","shelf":"^1.4.1","shelf_router":"^1.1.4","sprintf":"^7.0.0","universal_io":"^2.2.2","uuid":"^4.3.3","xml":"^6.3.0","xml2json":"^6.2.2","yaml":"^3.1.2"},"dev_dependencies":{"build_runner":"^2.4.8","grinder":"^0.9.5","json_serializable":"^6.7.1","lints":"^3.0.0","mustache_template":"^2.0.0","process_run":"^0.14.0+1","pub_semver":"^2.1.4","publish_tools":"^0.1.0+14","pubspec":"^2.3.0","test":"^1.25.1"},"executables":{"onvif":""},"repository":"https://github.com/faithoflifedev/easy_onvif.git"}');
33 changes: 23 additions & 10 deletions lib/src/model/device_management/capabilities.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ class Capabilities {
final ImagingCapabilities? imaging;

/// Media capabilities
@JsonKey(name: 'Media')
final MediaCapabilities? media;
@JsonKey(name: 'Media', fromJson: _unbound)
final List<MediaCapabilities>? mediaCapabilities;

/// PTZ capabilities
@JsonKey(name: 'PTZ')
Expand All @@ -41,14 +41,17 @@ class Capabilities {
@JsonKey(name: 'Extension')
Map<String, dynamic>? extension;

Capabilities(
{this.analytics,
this.device,
this.events,
this.imaging,
this.media,
this.ptz,
this.extension});
MediaCapabilities? get media => mediaCapabilities?.first;

Capabilities({
this.analytics,
this.device,
this.events,
this.imaging,
this.mediaCapabilities,
this.ptz,
this.extension,
});

factory Capabilities.fromJson(Map<String, dynamic> json) =>
_$CapabilitiesFromJson(json);
Expand All @@ -57,6 +60,16 @@ class Capabilities {

@override
String toString() => json.encode(toJson());

static List<MediaCapabilities> _unbound(dynamic json) {
if (json is List) {
return json
.map((e) => MediaCapabilities.fromJson(e as Map<String, dynamic>))
.toList();
}

return [MediaCapabilities.fromJson(json as Map<String, dynamic>)];
}
}

@JsonEnum()
Expand Down
6 changes: 2 additions & 4 deletions lib/src/model/device_management/capabilities.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions lib/src/model/ptz/preset.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ class Preset {

factory Preset.fromJson(Map<String, dynamic> json) => _$PresetFromJson(json);

factory Preset.fromToken(String token) => Preset(
factory Preset.fromToken(String token, {String? name}) => Preset(
token: token,
name: '',
name: name ?? '',
);

Map<String, dynamic> toJson() => _$PresetToJson(this);
Expand Down
12 changes: 6 additions & 6 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: easy_onvif
version: 2.1.3+9
version: 2.1.3+10
homepage: https://github.com/faithoflifedev/easy_onvif
description: A pure Dart library designed primarily for command line automation of Onvif compatible devices, but can be used anywhere Dart is used.
repository: https://github.com/faithoflifedev/easy_onvif.git
Expand All @@ -20,20 +20,20 @@ dependencies:
shelf_router: ^1.1.4
sprintf: ^7.0.0
universal_io: ^2.2.2
uuid: ^4.3.1
uuid: ^4.3.3
xml: ^6.3.0
xml2json: ^6.2.1
xml2json: ^6.2.2
yaml: ^3.1.2
dev_dependencies:
build_runner: ^2.4.7
build_runner: ^2.4.8
grinder: ^0.9.5
json_serializable: ^6.7.1
lints: ^3.0.0
mustache_template: ^2.0.0
process_run: ^0.13.0
process_run: ^0.14.0+1
pub_semver: ^2.1.4
publish_tools: ^0.1.0+14
pubspec: ^2.3.0
test: ^1.25.0
test: ^1.25.1
executables:
onvif:

0 comments on commit 56b0d49

Please sign in to comment.