# -*- coding: utf-8 -*-

"""
/***************************************************************************
 Reservoir
                                 A QGIS plugin
 Automates the early design of reservoirs and dams
 Generated by Plugin Builder: http://g-sherman.github.io/Qgis-Plugin-Builder/
                              -------------------
        begin                : 2022-03-27
        copyright            : (C) 2022 by Iñigo Marin
        email                : proy.mbr.gmail.com
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""

__author__ = 'Iñigo Marin'
__date__ = '2022-03-27'
__copyright__ = '(C) 2022 by Iñigo Marin'

# This will get replaced with a git SHA1 when you do a git archive

__revision__ = '$Format:%H$'

from qgis.core import QgsProcessingProvider
from PyQt5.QtGui import QIcon
from os import path  
from .Reservoir_algorithm import ReservoirAlgorithm
from .Earthworks_algorithm import EarthworksAlgorithm
from .LRS_algorithm import LRSAlgorithm             



           
class CivilEngProvider(QgsProcessingProvider):

    def __init__(self):
        """
        Default constructor.
        """
        QgsProcessingProvider.__init__(self)
        
    def unload(self):
        """
        Unloads the provider. Any tear-down steps required by the provider
        should be implemented here.       
        """                               
        pass

    def loadAlgorithms(self):
        """
        Loads all algorithms belonging to this provider.
        """
        self.addAlgorithm(ReservoirAlgorithm())
        self.addAlgorithm(EarthworksAlgorithm())
        self.addAlgorithm(LRSAlgorithm())
        # add additional algorithms here
        # self.addAlgorithm(MyOtherAlgorithm())
        
        
    def id(self):
        """
        Returns the unique provider id, used for identifying the provider. This
        string should be a unique, short, character only string, eg "qgis" or
        "gdal". This string should not be localised.
        """
        return 'CivilEng'

    def name(self):
        """
        Returns the provider name, which is used to describe the provider
        within the GUI.

        This string should be short (e.g. "Lastools") and localised.
        """
        return self.tr('CivilEng')

    def icon(self):
        """
        Should return a QIcon which is used for your provider inside
        the Processing toolbox.
        """
        return QIcon(path.dirname(__file__) +'/Civileng.png')

 
      