// // This file is automatically generated, so please do not edit it.
// // Generated by `flutter_rust_bridge`@ 2.0.0-dev.38.

// // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field

// import 'api/simple.dart';
// import 'dart:async';
// import 'dart:convert';
// import 'frb_generated.dart';
// import 'frb_generated.io.dart' if (dart.library.html) 'frb_generated.web.dart';
// import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';

// /// Main entrypoint of the Rust API
// class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
//   @internal
//   static final instance = RustLib._();

//   RustLib._();

//   /// Initialize flutter_rust_bridge
//   static Future<void> init({
//     RustLibApi? api,
//     BaseHandler? handler,
//     ExternalLibrary? externalLibrary,
//   }) async {
//     await instance.initImpl(
//       api: api,
//       handler: handler,
//       externalLibrary: externalLibrary,
//     );
//   }

//   /// Dispose flutter_rust_bridge
//   ///
//   /// The call to this function is optional, since flutter_rust_bridge (and everything else)
//   /// is automatically disposed when the app stops.
//   static void dispose() => instance.disposeImpl();

//   @override
//   ApiImplConstructor<RustLibApiImpl, RustLibWire> get apiImplConstructor =>
//       RustLibApiImpl.new;

//   @override
//   WireConstructor<RustLibWire> get wireConstructor =>
//       RustLibWire.fromExternalLibrary;

//   @override
//   Future<void> executeRustInitializers() async {
//     await api.crateApiSimpleInitApp();
//   }

//   @override
//   ExternalLibraryLoaderConfig get defaultExternalLibraryLoaderConfig =>
//       kDefaultExternalLibraryLoaderConfig;

//   @override
//   String get codegenVersion => '2.0.0-dev.38';

//   @override
//   int get rustContentHash => -1918914929;

//   static const kDefaultExternalLibraryLoaderConfig =
//       ExternalLibraryLoaderConfig(
//     stem: 'rust_lib_ecosim',
//     ioDirectory: 'rust/target/release/',
//     webPrefix: 'pkg/',
//   );
// }

// abstract class RustLibApi extends BaseApi {
//   String crateApiSimpleGreet({required String name});

//   Future<void> crateApiSimpleInitApp();
// }

// class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
//   RustLibApiImpl({
//     required super.handler,
//     required super.wire,
//     required super.generalizedFrbRustBinding,
//     required super.portManager,
//   });

//   @override
//   String crateApiSimpleGreet({required String name}) {
//     return handler.executeSync(SyncTask(
//       callFfi: () {
//         final serializer = SseSerializer(generalizedFrbRustBinding);
//         sse_encode_String(name, serializer);
//         return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 1)!;
//       },
//       codec: SseCodec(
//         decodeSuccessData: sse_decode_String,
//         decodeErrorData: null,
//       ),
//       constMeta: kCrateApiSimpleGreetConstMeta,
//       argValues: [name],
//       apiImpl: this,
//     ));
//   }

//   TaskConstMeta get kCrateApiSimpleGreetConstMeta => const TaskConstMeta(
//         debugName: "greet",
//         argNames: ["name"],
//       );

//   @override
//   Future<void> crateApiSimpleInitApp() {
//     return handler.executeNormal(NormalTask(
//       callFfi: (port_) {
//         final serializer = SseSerializer(generalizedFrbRustBinding);
//         pdeCallFfi(generalizedFrbRustBinding, serializer,
//             funcId: 2, port: port_);
//       },
//       codec: SseCodec(
//         decodeSuccessData: sse_decode_unit,
//         decodeErrorData: null,
//       ),
//       constMeta: kCrateApiSimpleInitAppConstMeta,
//       argValues: [],
//       apiImpl: this,
//     ));
//   }

//   TaskConstMeta get kCrateApiSimpleInitAppConstMeta => const TaskConstMeta(
//         debugName: "init_app",
//         argNames: [],
//       );

//   @protected
//   String dco_decode_String(dynamic raw) {
//     // Codec=Dco (DartCObject based), see doc to use other codecs
//     return raw as String;
//   }

//   @protected
//   Uint8List dco_decode_list_prim_u_8_strict(dynamic raw) {
//     // Codec=Dco (DartCObject based), see doc to use other codecs
//     return raw as Uint8List;
//   }

//   @protected
//   int dco_decode_u_8(dynamic raw) {
//     // Codec=Dco (DartCObject based), see doc to use other codecs
//     return raw as int;
//   }

//   @protected
//   void dco_decode_unit(dynamic raw) {
//     // Codec=Dco (DartCObject based), see doc to use other codecs
//     return;
//   }

//   @protected
//   String sse_decode_String(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     var inner = sse_decode_list_prim_u_8_strict(deserializer);
//     return utf8.decoder.convert(inner);
//   }

//   @protected
//   Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     var len_ = sse_decode_i_32(deserializer);
//     return deserializer.buffer.getUint8List(len_);
//   }

//   @protected
//   int sse_decode_u_8(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     return deserializer.buffer.getUint8();
//   }

//   @protected
//   void sse_decode_unit(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//   }

//   @protected
//   int sse_decode_i_32(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     return deserializer.buffer.getInt32();
//   }

//   @protected
//   bool sse_decode_bool(SseDeserializer deserializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     return deserializer.buffer.getUint8() != 0;
//   }

//   @protected
//   void sse_encode_String(String self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer);
//   }

//   @protected
//   void sse_encode_list_prim_u_8_strict(
//       Uint8List self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     sse_encode_i_32(self.length, serializer);
//     serializer.buffer.putUint8List(self);
//   }

//   @protected
//   void sse_encode_u_8(int self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     serializer.buffer.putUint8(self);
//   }

//   @protected
//   void sse_encode_unit(void self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//   }

//   @protected
//   void sse_encode_i_32(int self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     serializer.buffer.putInt32(self);
//   }

//   @protected
//   void sse_encode_bool(bool self, SseSerializer serializer) {
//     // Codec=Sse (Serialization based), see doc to use other codecs
//     serializer.buffer.putUint8(self ? 1 : 0);
//   }
// }
