initialize method

Future<void> initialize(
  1. MqttConfig config, {
  2. MqttCallbacks? callbacks,
  3. bool autoSubscribe = false,
  4. List<String>? topics,
})

Implementation

Future<void> initialize(
  MqttConfig config, {
  MqttCallbacks? callbacks,
  bool autoSubscribe = false,
  List<String>? topics,
}) async {
  if (autoSubscribe) {
    if (topics == null || topics.isEmpty) {
      throw Exception(
        'You must specify at least one topic when auto-subscribing',
      );
    }
  }

  _rawEventStream = StreamController<MqttHelperPayload>.broadcast();
  _dataStream = StreamController<DynamicMap>.broadcast();
  _eventStream = StreamController<EventModel>.broadcast();
  _connectionStream = StreamController<bool>.broadcast();

  _initialized = true;
  _config = config;
  _callbacks = callbacks;
  _topics = topics;
  _autoSubscribe = autoSubscribe;

  await _initializeClient();
  await _connectClient();
}