aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Tango.FSE.Common/SQL/IRemoteSqlProvider.cs
blob: e41d864c375d1aff479b4db98558ea18a2304207 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.PPC.Shared.SQL;

namespace Tango.FSE.Common.SQL
{
    /// <summary>
    /// Represents a remote SQL provider.
    /// Can be used to execute commands against the remote machine's database and the global twine's database.
    /// </summary>
    /// <example>
    /// <para>
    /// <i>
    /// The following example demonstrates how to set the connected machine's demo state and query for the connected machine's jobs.
    /// </i>
    /// </para>
    /// <code lang="C#" source="../Tango.FSE.Procedures/Examples/Sql/Program.cs" title="Remote SQL" region="Example" />
    /// </example>
    public interface IRemoteSqlProvider
    {
        /// <summary>
        /// Executes the SQL command asynchronously.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <returns>Remote command result.</returns>
        Task<RemoteSqlCommandResult> ExecuteSqlCommandAsync(RemoteSqlCommand command);

        /// <summary>
        /// Executes the SQL command.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <returns>Remote command result.</returns>
        RemoteSqlCommandResult ExecuteSqlCommand(RemoteSqlCommand command);
    }
}