// Created with MonoDevelop
//
//    Copyright (C) 2018 Hiperscan GmbH Dresden, Germany
//
//    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 3 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program.  If not, see <http://www.gnu.org/licenses/>.



using System;
using System.Collections.Generic;

namespace Hiperscan.Common
{
    /// <summary>
    /// This delegate will be used for the option class (property: Parser) to parse the values of the option.
    /// values => list of arguments related to a option (for example: --example a,b,c - values contains then a, b and c)
    /// type => Type of the option (for possisible casts)
    /// number_of_calls => counts, how often the option was called (for example --example --example - number_of_calls = 2)
    /// </summary>
    public delegate object ParameterHandler(List<string> values, Type type, int number_of_calls);
}
