tablet-app/lib/Models/tabletContext.dart

50 lines
1.6 KiB
Dart

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;
Size? puzzleSize;
TabletAppContext({this.id, this.deviceId, this.host, this.configuration, this.language, this.instanceId, this.clientAPI});
Map<String, dynamic> toMap() {
return {
'id': id,
'deviceId': deviceId,
'host': host,
'configuration': configuration == null ? null : jsonEncode(configuration!.toJson()),
'language': language,
'instanceId': instanceId
};
}
factory TabletAppContext.fromJson(Map<String, dynamic> 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}';
}
}