Contemporary Carte de Visite

#

Listato S1

Interfaccia per gli script
 
// copyright (c) 2020-2023 Roberto Ceccarelli - Casasoft
// http://strawberryfield.altervista.org
//
// This file is part of Casasoft Contemporary Carte de Visite Tools
// https://github.com/strawberryfield/Contemporary_CDV
//
// Casasoft CCDV Tools is free software:
// you can redistribute it and/or modify it
// under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Casasoft CCDV Tools 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 AGPL v.3
// along with Casasoft CCDV Tools.  
// If not, see <http://www.gnu.org/licenses/>.

using Casasoft.CCDV.JSON;
using System.Reflection;

namespace Casasoft.CCDV.Scripting;

/// <summary>
/// Interface for scripting handler classes
/// </summary>
public interface IScripting
{
    /// <summary>
    /// json unserialized parameters
    /// </summary>
    IParameters Parameters { get; set; }

    /// <summary>
    /// Adds namespaces and class declaration to script
    /// </summary>
    /// <param name="script"></param>
    /// <returns></returns>
    string WrapScript(string script);
    /// <summary>
    /// Adds namespaces and class declaration to script
    /// </summary>
    /// <param name="script"></param>
    /// <param name="engine">Engine name for casting</param>
    /// <returns></returns>
    string WrapScript(string script, string engine);
    /// <summary>
    /// Builds in-memory assembly
    /// </summary>
    /// <param name="script"></param>
    /// <returns></returns>
    Assembly Compile(string script);

    /// <summary>
    /// Template for scriptable methods
    /// </summary>
    string Template();
}
 
Inizio pagina
 
Home page