<?php

namespace Config;

use App\Services\ChatService;
use App\Services\FTPService;
use App\Services\ImpresoraEtiquetaService;
use App\Services\MaquinaService;
use App\Services\MessageService;
use App\Services\PapelImpresionService;
use CodeIgniter\Config\BaseService;
use App\Services\ProductionService;
use App\Services\TarifaMaquinaService;
use CodeIgniter\Email\Email;

/**
 * Services Configuration file.
 *
 * Services are simply other classes/libraries that the system uses
 * to do its job. This is used by CodeIgniter to allow the core of the
 * framework to be swapped out easily without affecting the usage within
 * the rest of your application.
 *
 * This file holds any application-specific services, or service overrides
 * that you might need. An example has been included with the general
 * method format you should use for your service methods. For more examples,
 * see the core Services file at system/Config/Services.php.
 */
class Services extends BaseService
{
    /*
     * public static function example($getShared = true)
     * {
     *     if ($getShared) {
     *         return static::getSharedInstance('example');
     *     }
     *
     *     return new \CodeIgniter\Example();
     * }
     */

    public static function production(){
        return new ProductionService();
    }
    public static function tarifa_maquina(){
        return new TarifaMaquinaService();
    }
    public static function papel_impresion()
    {
        return new PapelImpresionService();
    }
    public static function maquina()
    {
        return new MaquinaService();
    }
    public static function messages()
    {
        return new MessageService();
    }
    public static function chat()
    {
        return new ChatService();
    }
    public static function impresora_etiqueta()
    {
        return new ImpresoraEtiquetaService();
    }
    public static function emailService($getShared = true)
    {
        if ($getShared) {
            return static::getSharedInstance('emailService');
        }
    
        return new \App\Services\EmailService();
    }

}
