//////////////////////////////////////////////////////////
// GENERATED BY FLUTTIFY. DO NOT EDIT IT.
//////////////////////////////////////////////////////////

#import "AMapSearchDelegate_Anonymous.h"
#import <Flutter/Flutter.h>
#import "FluttifyMessageCodec.h"
#import <objc/runtime.h>

// Dart端一次方法调用所存在的栈, 只有当MethodChannel传递参数受限时, 再启用这个容器
extern NSMutableDictionary<NSString*, NSObject*>* STACK;
// Dart端随机存取对象的容器
extern NSMutableDictionary<NSString*, NSObject*>* HEAP;
// 日志打印开关
extern BOOL enableLog;

@implementation AMapSearchDelegate_Anonymous

- (instancetype) initWithFlutterPluginRegistrar: (NSObject <FlutterPluginRegistrar> *) registrar {
  self = [super init];
  if (self) {
    _registrar = registrar;
  }

  return self;
}

- (void)AMapSearchRequest : (id)request didFailWithError: (NSError*)error
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::AMapSearchRequest_didFailWithError");
  }

  // convert to jsonable arg
  // ref callback arg
  id argrequest = request;
  // ref callback arg
  NSError* argerror = error;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"AMapSearchRequest_didFailWithError" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"error": argerror == nil ? [NSNull null] : argerror}];
  });
  
}

- (void)onPOISearchDone : (AMapPOISearchBaseRequest*)request response: (AMapPOISearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onPOISearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapPOISearchBaseRequest* argrequest = request;
  // ref callback arg
  AMapPOISearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onPOISearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onRoutePOISearchDone : (AMapRoutePOISearchRequest*)request response: (AMapRoutePOISearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onRoutePOISearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapRoutePOISearchRequest* argrequest = request;
  // ref callback arg
  AMapRoutePOISearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onRoutePOISearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onGeocodeSearchDone : (AMapGeocodeSearchRequest*)request response: (AMapGeocodeSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onGeocodeSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapGeocodeSearchRequest* argrequest = request;
  // ref callback arg
  AMapGeocodeSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onGeocodeSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onReGeocodeSearchDone : (AMapReGeocodeSearchRequest*)request response: (AMapReGeocodeSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onReGeocodeSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapReGeocodeSearchRequest* argrequest = request;
  // ref callback arg
  AMapReGeocodeSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onReGeocodeSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onInputTipsSearchDone : (AMapInputTipsSearchRequest*)request response: (AMapInputTipsSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onInputTipsSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapInputTipsSearchRequest* argrequest = request;
  // ref callback arg
  AMapInputTipsSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onInputTipsSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onBusStopSearchDone : (AMapBusStopSearchRequest*)request response: (AMapBusStopSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onBusStopSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapBusStopSearchRequest* argrequest = request;
  // ref callback arg
  AMapBusStopSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onBusStopSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onBusLineSearchDone : (AMapBusLineBaseSearchRequest*)request response: (AMapBusLineSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onBusLineSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapBusLineBaseSearchRequest* argrequest = request;
  // ref callback arg
  AMapBusLineSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onBusLineSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onDistrictSearchDone : (AMapDistrictSearchRequest*)request response: (AMapDistrictSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onDistrictSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapDistrictSearchRequest* argrequest = request;
  // ref callback arg
  AMapDistrictSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onDistrictSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onRouteSearchDone : (AMapRouteSearchBaseRequest*)request response: (AMapRouteSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onRouteSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapRouteSearchBaseRequest* argrequest = request;
  // ref callback arg
  AMapRouteSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onRouteSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onFutureRouteSearchDone : (AMapRouteSearchBaseRequest*)request response: (AMapFutureRouteSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onFutureRouteSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapRouteSearchBaseRequest* argrequest = request;
  // ref callback arg
  AMapFutureRouteSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onFutureRouteSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onDistanceSearchDone : (AMapDistanceSearchRequest*)request response: (AMapDistanceSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onDistanceSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapDistanceSearchRequest* argrequest = request;
  // ref callback arg
  AMapDistanceSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onDistanceSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onWeatherSearchDone : (AMapWeatherSearchRequest*)request response: (AMapWeatherSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onWeatherSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapWeatherSearchRequest* argrequest = request;
  // ref callback arg
  AMapWeatherSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onWeatherSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onNearbySearchDone : (AMapNearbySearchRequest*)request response: (AMapNearbySearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onNearbySearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapNearbySearchRequest* argrequest = request;
  // ref callback arg
  AMapNearbySearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onNearbySearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onCloudSearchDone : (AMapCloudSearchBaseRequest*)request response: (AMapCloudPOISearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onCloudSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapCloudSearchBaseRequest* argrequest = request;
  // ref callback arg
  AMapCloudPOISearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onCloudSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}

- (void)onShareSearchDone : (AMapShareSearchBaseRequest*)request response: (AMapShareSearchResponse*)response
{
  FlutterMethodChannel *channel = [FlutterMethodChannel
        methodChannelWithName:[NSString stringWithFormat:@"AMapSearchDelegate::Callback@%@:%@", NSStringFromClass([self class]), @(self.hash)]
              binaryMessenger:[_registrar messenger]
                        codec:[FlutterStandardMethodCodec codecWithReaderWriter:[[FluttifyReaderWriter alloc] init]]];
  // print log
  if (enableLog) {
    NSLog(@"AMapSearchDelegate::onShareSearchDone_response");
  }

  // convert to jsonable arg
  // ref callback arg
  AMapShareSearchBaseRequest* argrequest = request;
  // ref callback arg
  AMapShareSearchResponse* argresponse = response;

  dispatch_async(dispatch_get_main_queue(), ^{
    [channel invokeMethod:@"onShareSearchDone_response" arguments:@{@"request": argrequest == nil ? [NSNull null] : argrequest, @"response": argresponse == nil ? [NSNull null] : argresponse}];
  });
  
}


@end
