initialize method

Future<bool> initialize({
  1. required dynamic userId,
  2. required Protocol proto,
  3. required dynamic clientId,
  4. required Database db,
})

Implementation

Future<bool> initialize({
  required userId,
  required Protocol proto,
  required clientId,
  required Database db,
}) async {
  _protocol = proto;
  this.db = db;
  this.userId = userId;
  state = MockingbirdState.unconnect;
  _modelSyncState.clear();
  proto.addEventListner(this);
  proto.addListener(() {
    switch (proto.state) {
      case ConnectState.unconnect:
        state = MockingbirdState.unconnect;
        break;
      case ConnectState.connecting:
        state = MockingbirdState.connecting;
        break;
      case ConnectState.connected:
        state = MockingbirdState.connected;
        break;
    }
    notifyListeners();
  });
  proto.onConnected = () async {
    await _protocol!.send(buildEvent(ConfigInfo(
      clientId: clientId,
      lang: _lang,
      time: DateTime.now(),
    )));
    await syncModels();
    notifyListeners();
  };
  return await _protocol!.listen();
}