<?php

namespace SugarCalendarBookings\Services;

use SugarCalendarBookings\Payments\Gateways\AbstractPaymentGateway;
use SugarCalendarBookings\Payments\Gateways\Onsite\OnSitePaymentGateway;
use SugarCalendarBookings\Payments\Gateways\PaymentGatewayRegistry;
use SugarCalendarBookings\Plugin;
use SugarCalendarBookings\Support\Bootable;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class ServiceProvider.
 *
 * @since 1.0.0
 */
class ServiceProvider implements Bootable {

	/**
	 * Register hooks.
	 *
	 * @since 1.0.0
	 *
	 * @return void
	 */
	public function hooks() {

		add_action( 'sugar_calendar_bookings_payments_gateways_gateway_connected', [ $this, 'gateway_connected' ] );
		add_action( 'sugar_calendar_bookings_payments_gateways_gateway_disconnected', [ $this, 'gateway_disconnected' ] );
	}

	/**
	 * Handle gateway connection.
	 *
	 * @since 1.0.0
	 *
	 * @param AbstractPaymentGateway $payment_gateway Payment gateway instance.
	 */
	public function gateway_connected( $payment_gateway ) {}

	/**
	 * Handle gateway disconnection.
	 *
	 * @since 1.0.0
	 *
	 * @param AbstractPaymentGateway $payment_gateway Payment gateway instance.
	 */
	public function gateway_disconnected( $payment_gateway ) {}
}
