import 'package:flutter/material.dart'; import 'package:manager_api/api.dart'; import 'package:mqtt_client/mqtt_browser_client.dart'; import 'package:mqtt_client/mqtt_server_client.dart'; import 'package:tablet_app/client.dart'; import 'dart:convert'; class TabletAppContext with ChangeNotifier{ Client? clientAPI; MqttServerClient? clientMQTT; MqttBrowserClient? clientBrowserMQTT; String? id; String? host; ConfigurationDTO? configuration; String? language; String? deviceId; String? instanceId; TabletAppContext({this.id, this.deviceId, this.host, this.configuration, this.language, this.instanceId, this.clientAPI}); Map toMap() { return { 'id': id, 'deviceId': deviceId, 'host': host, 'configuration': configuration == null ? null : jsonEncode(configuration!.toJson()), 'language': language, 'instanceId': instanceId }; } factory TabletAppContext.fromJson(Map json) { return new TabletAppContext( id: json['id'] as String, deviceId: json['deviceId'] as String, host: json['host'] as String, configuration: json['configuration'] == null ? null : ConfigurationDTO.fromJson(json['configuration']), language: json['language'] as String, instanceId: json['instanceId'] as String ); } // Implement toString to make it easier to see information about @override String toString() { return 'TabletAppContext{id: $id, deviceId: $deviceId, configuration: $configuration, language: $language, host: $host, instanceId: $instanceId, clientAPI: $clientAPI}'; } }