mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 03:02:35 +01:00
Change networking feature from using wcf to rest
wcf is obsolete - and this should make SE ready for .NET 5
This commit is contained in:
parent
3d47ae17f6
commit
d6a60490a2
1
.gitignore
vendored
1
.gitignore
vendored
@ -45,3 +45,4 @@ SubtitleEditBeta
|
|||||||
/src/ui/NHunspell*
|
/src/ui/NHunspell*
|
||||||
/build_beta.bat
|
/build_beta.bat
|
||||||
/TestResults
|
/TestResults
|
||||||
|
/packages
|
||||||
|
@ -1743,7 +1743,7 @@ $HorzAlign = Center
|
|||||||
public class NetworkSettings
|
public class NetworkSettings
|
||||||
{
|
{
|
||||||
public string UserName { get; set; }
|
public string UserName { get; set; }
|
||||||
public string WebServiceUrl { get; set; }
|
public string WebApiUrl { get; set; }
|
||||||
public string SessionKey { get; set; }
|
public string SessionKey { get; set; }
|
||||||
public int PollIntervalSeconds { get; set; }
|
public int PollIntervalSeconds { get; set; }
|
||||||
public string NewMessageSound { get; set; }
|
public string NewMessageSound { get; set; }
|
||||||
@ -1751,8 +1751,8 @@ $HorzAlign = Center
|
|||||||
public NetworkSettings()
|
public NetworkSettings()
|
||||||
{
|
{
|
||||||
UserName = string.Empty;
|
UserName = string.Empty;
|
||||||
SessionKey = "DemoSession"; // TODO: Leave blank or use guid
|
SessionKey = "DemoSession";
|
||||||
WebServiceUrl = "https://www.nikse.dk/se/SeService.asmx";
|
WebApiUrl = "https://www.nikse.dk/api/SeNet";
|
||||||
PollIntervalSeconds = 5;
|
PollIntervalSeconds = 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5635,10 +5635,10 @@ $HorzAlign = Center
|
|||||||
settings.NetworkSettings.UserName = subNode.InnerText;
|
settings.NetworkSettings.UserName = subNode.InnerText;
|
||||||
}
|
}
|
||||||
|
|
||||||
subNode = node.SelectSingleNode("WebServiceUrl");
|
subNode = node.SelectSingleNode("WebApiUrl");
|
||||||
if (subNode != null)
|
if (subNode != null)
|
||||||
{
|
{
|
||||||
settings.NetworkSettings.WebServiceUrl = subNode.InnerText;
|
settings.NetworkSettings.WebApiUrl = subNode.InnerText;
|
||||||
}
|
}
|
||||||
|
|
||||||
subNode = node.SelectSingleNode("PollIntervalSeconds");
|
subNode = node.SelectSingleNode("PollIntervalSeconds");
|
||||||
@ -8274,7 +8274,7 @@ $HorzAlign = Center
|
|||||||
textWriter.WriteStartElement("NetworkSettings", string.Empty);
|
textWriter.WriteStartElement("NetworkSettings", string.Empty);
|
||||||
textWriter.WriteElementString("SessionKey", settings.NetworkSettings.SessionKey);
|
textWriter.WriteElementString("SessionKey", settings.NetworkSettings.SessionKey);
|
||||||
textWriter.WriteElementString("UserName", settings.NetworkSettings.UserName);
|
textWriter.WriteElementString("UserName", settings.NetworkSettings.UserName);
|
||||||
textWriter.WriteElementString("WebServiceUrl", settings.NetworkSettings.WebServiceUrl);
|
textWriter.WriteElementString("WebApiUrl", settings.NetworkSettings.WebApiUrl);
|
||||||
textWriter.WriteElementString("PollIntervalSeconds", settings.NetworkSettings.PollIntervalSeconds.ToString(CultureInfo.InvariantCulture));
|
textWriter.WriteElementString("PollIntervalSeconds", settings.NetworkSettings.PollIntervalSeconds.ToString(CultureInfo.InvariantCulture));
|
||||||
textWriter.WriteElementString("NewMessageSound", settings.NetworkSettings.NewMessageSound);
|
textWriter.WriteElementString("NewMessageSound", settings.NetworkSettings.NewMessageSound);
|
||||||
textWriter.WriteEndElement();
|
textWriter.WriteEndElement();
|
||||||
|
@ -40,7 +40,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
||||||
}
|
}
|
||||||
|
|
||||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebServiceUrl;
|
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebApiUrl;
|
||||||
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
||||||
if (textBoxUserName.Text.Trim().Length < 2)
|
if (textBoxUserName.Text.Trim().Length < 2)
|
||||||
{
|
{
|
||||||
@ -51,7 +51,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
private void buttonJoin_Click(object sender, EventArgs e)
|
private void buttonJoin_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
||||||
Configuration.Settings.NetworkSettings.WebServiceUrl = comboBoxWebServiceUrl.Text;
|
Configuration.Settings.NetworkSettings.WebApiUrl = comboBoxWebServiceUrl.Text;
|
||||||
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
||||||
|
|
||||||
buttonJoin.Enabled = false;
|
buttonJoin.Enabled = false;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core.Common;
|
||||||
using System.Windows.Forms;
|
|
||||||
using Nikse.SubtitleEdit.Core;
|
|
||||||
using Nikse.SubtitleEdit.Core.Common;
|
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms.Networking
|
namespace Nikse.SubtitleEdit.Forms.Networking
|
||||||
{
|
{
|
||||||
@ -26,7 +25,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
{
|
{
|
||||||
textBoxSessionKey.Text = networkSession.SessionId;
|
textBoxSessionKey.Text = networkSession.SessionId;
|
||||||
textBoxUserName.Text = networkSession.CurrentUser.UserName;
|
textBoxUserName.Text = networkSession.CurrentUser.UserName;
|
||||||
textBoxWebServiceUrl.Text = networkSession.WebServiceUrl;
|
textBoxWebServiceUrl.Text = networkSession.BaseUrl;
|
||||||
textBoxLog.Text = networkSession.GetLog();
|
textBoxLog.Text = networkSession.GetLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core.Common;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
using System;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Nikse.SubtitleEdit.Core;
|
|
||||||
using Nikse.SubtitleEdit.Core.Common;
|
|
||||||
using Nikse.SubtitleEdit.Logic;
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms.Networking
|
namespace Nikse.SubtitleEdit.Forms.Networking
|
||||||
{
|
{
|
||||||
@ -41,7 +40,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
||||||
}
|
}
|
||||||
|
|
||||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebServiceUrl;
|
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebApiUrl;
|
||||||
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
||||||
if (textBoxUserName.Text.Trim().Length < 2)
|
if (textBoxUserName.Text.Trim().Length < 2)
|
||||||
{
|
{
|
||||||
@ -52,7 +51,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
private void buttonStart_Click(object sender, EventArgs e)
|
private void buttonStart_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
||||||
Configuration.Settings.NetworkSettings.WebServiceUrl = comboBoxWebServiceUrl.Text;
|
Configuration.Settings.NetworkSettings.WebApiUrl = comboBoxWebServiceUrl.Text;
|
||||||
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
||||||
|
|
||||||
buttonStart.Enabled = false;
|
buttonStart.Enabled = false;
|
||||||
@ -65,8 +64,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string message;
|
_networkSession.StartServer(comboBoxWebServiceUrl.Text, textBoxSessionKey.Text, textBoxUserName.Text, _fileName, out var message);
|
||||||
_networkSession.StartServer(comboBoxWebServiceUrl.Text, textBoxSessionKey.Text, textBoxUserName.Text, _fileName, out message);
|
|
||||||
if (message != "OK")
|
if (message != "OK")
|
||||||
{
|
{
|
||||||
MessageBox.Show(message);
|
MessageBox.Show(message);
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
using Nikse.SubtitleEdit.Core;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Core.Common;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Nikse.SubtitleEdit.Core.Common;
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Networking
|
namespace Nikse.SubtitleEdit.Logic.Networking
|
||||||
{
|
{
|
||||||
@ -21,20 +22,19 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
private System.Windows.Forms.Timer _timerWebService;
|
private System.Windows.Forms.Timer _timerWebService;
|
||||||
public List<UpdateLogEntry> UpdateLog { get; } = new List<UpdateLogEntry>();
|
public List<UpdateLogEntry> UpdateLog { get; } = new List<UpdateLogEntry>();
|
||||||
public List<ChatEntry> ChatLog { get; } = new List<ChatEntry>();
|
public List<ChatEntry> ChatLog { get; } = new List<ChatEntry>();
|
||||||
private SeNetworkService.SeService _seWs;
|
private SeNetworkService _seWs;
|
||||||
private DateTime _seWsLastUpdate = DateTime.Now.AddYears(-1);
|
private DateTime _seWsLastUpdate = DateTime.Now.AddYears(-1);
|
||||||
public SeNetworkService.SeUser CurrentUser { get; set; }
|
public SeNetworkService.SeUser CurrentUser { get; set; }
|
||||||
public Subtitle LastSubtitle { get; set; }
|
public Subtitle LastSubtitle { get; set; }
|
||||||
public Subtitle Subtitle { get; private set; }
|
public Subtitle Subtitle { get; private set; }
|
||||||
public Subtitle OriginalSubtitle { get; private set; }
|
public Subtitle OriginalSubtitle { get; private set; }
|
||||||
public string SessionId { get; private set; }
|
public string SessionId { get; private set; }
|
||||||
|
public string BaseUrl => _seWs != null ? _seWs.BaseUrl : string.Empty;
|
||||||
private string _userName;
|
private string _userName;
|
||||||
private string _fileName;
|
private string _fileName;
|
||||||
public List<SeNetworkService.SeUser> Users { get; private set; }
|
public List<SeNetworkService.SeUser> Users { get; private set; }
|
||||||
public StringBuilder Log { get; }
|
public StringBuilder Log { get; }
|
||||||
|
|
||||||
public string WebServiceUrl => _seWs.Url;
|
|
||||||
|
|
||||||
public NikseWebServiceSession(Subtitle subtitle, Subtitle originalSubtitle, EventHandler onUpdateTimerTick, EventHandler onUpdateUserLogEntries)
|
public NikseWebServiceSession(Subtitle subtitle, Subtitle originalSubtitle, EventHandler onUpdateTimerTick, EventHandler onUpdateUserLogEntries)
|
||||||
{
|
{
|
||||||
Subtitle = subtitle;
|
Subtitle = subtitle;
|
||||||
@ -52,13 +52,13 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
OnUpdateUserLogEntries = onUpdateUserLogEntries;
|
OnUpdateUserLogEntries = onUpdateUserLogEntries;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartServer(string webServiceUrl, string sessionKey, string userName, string fileName, out string message)
|
public void StartServer(string baseUrl, string sessionKey, string userName, string fileName, out string message)
|
||||||
{
|
{
|
||||||
SessionId = sessionKey;
|
SessionId = sessionKey;
|
||||||
_userName = userName;
|
_userName = userName;
|
||||||
_fileName = fileName;
|
_fileName = fileName;
|
||||||
var list = new List<SeNetworkService.SeSequence>();
|
var list = new List<SeNetworkService.SeSequence>();
|
||||||
foreach (Paragraph p in Subtitle.Paragraphs)
|
foreach (var p in Subtitle.Paragraphs)
|
||||||
{
|
{
|
||||||
list.Add(new SeNetworkService.SeSequence
|
list.Add(new SeNetworkService.SeSequence
|
||||||
{
|
{
|
||||||
@ -71,7 +71,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
var originalSubtitle = new List<SeNetworkService.SeSequence>();
|
var originalSubtitle = new List<SeNetworkService.SeSequence>();
|
||||||
if (OriginalSubtitle != null)
|
if (OriginalSubtitle != null)
|
||||||
{
|
{
|
||||||
foreach (Paragraph p in OriginalSubtitle.Paragraphs)
|
foreach (var p in OriginalSubtitle.Paragraphs)
|
||||||
{
|
{
|
||||||
originalSubtitle.Add(new SeNetworkService.SeSequence
|
originalSubtitle.Add(new SeNetworkService.SeSequence
|
||||||
{
|
{
|
||||||
@ -82,15 +82,21 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_seWs = new SeNetworkService.SeService
|
_seWs = new SeNetworkService(baseUrl);
|
||||||
|
var request = new SeNetworkService.StartRequest()
|
||||||
{
|
{
|
||||||
Url = webServiceUrl,
|
SessionId = sessionKey,
|
||||||
Proxy = Utilities.GetProxy()
|
FileName = fileName,
|
||||||
|
OriginalSubtitle = originalSubtitle,
|
||||||
|
Subtitle = list,
|
||||||
|
UserName = userName
|
||||||
};
|
};
|
||||||
var user = _seWs.Start(sessionKey, userName, list.ToArray(), originalSubtitle.ToArray(), fileName, out message);
|
|
||||||
CurrentUser = user;
|
var response = _seWs.Start(request);
|
||||||
Users = new List<SeNetworkService.SeUser> { user };
|
CurrentUser = response.User;
|
||||||
if (message == "OK")
|
message = response.Message;
|
||||||
|
Users = new List<SeNetworkService.SeUser> { response.User };
|
||||||
|
if (response.Message == "OK")
|
||||||
{
|
{
|
||||||
_timerWebService.Start();
|
_timerWebService.Start();
|
||||||
}
|
}
|
||||||
@ -99,40 +105,50 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
public bool Join(string webServiceUrl, string userName, string sessionKey, out string message)
|
public bool Join(string webServiceUrl, string userName, string sessionKey, out string message)
|
||||||
{
|
{
|
||||||
SessionId = sessionKey;
|
SessionId = sessionKey;
|
||||||
_seWs = new SeNetworkService.SeService
|
_seWs = new SeNetworkService(webServiceUrl);
|
||||||
{
|
|
||||||
Url = webServiceUrl,
|
|
||||||
Proxy = Utilities.GetProxy()
|
|
||||||
};
|
|
||||||
Users = new List<SeNetworkService.SeUser>();
|
Users = new List<SeNetworkService.SeUser>();
|
||||||
var users = _seWs.Join(sessionKey, userName, out message);
|
var joinRequest = new SeNetworkService.JoinRequest()
|
||||||
if (message != "OK")
|
{
|
||||||
|
SessionId = sessionKey,
|
||||||
|
UserName = userName
|
||||||
|
};
|
||||||
|
var joinResponse = _seWs.Join(joinRequest);
|
||||||
|
message = joinResponse.Message;
|
||||||
|
if (joinResponse.Message != "OK")
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
string tempFileName;
|
|
||||||
Subtitle = new Subtitle();
|
Subtitle = new Subtitle();
|
||||||
foreach (var sequence in _seWs.GetSubtitle(sessionKey, out tempFileName, out _))
|
var getSubtitleRequest = new SeNetworkService.GetSubtitleRequest
|
||||||
|
{
|
||||||
|
SessionId = sessionKey
|
||||||
|
};
|
||||||
|
var getSubtitleResponse = _seWs.GetSubtitle(getSubtitleRequest);
|
||||||
|
foreach (var sequence in getSubtitleResponse.Subtitle)
|
||||||
{
|
{
|
||||||
Subtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
Subtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
||||||
}
|
}
|
||||||
|
|
||||||
_fileName = tempFileName;
|
_fileName = getSubtitleResponse.FileName;
|
||||||
|
|
||||||
OriginalSubtitle = new Subtitle();
|
OriginalSubtitle = new Subtitle();
|
||||||
var sequences = _seWs.GetOriginalSubtitle(sessionKey);
|
var getOriginalSubtitleRequest = new SeNetworkService.GetOriginalSubtitleRequest
|
||||||
if (sequences != null)
|
|
||||||
{
|
{
|
||||||
foreach (var sequence in sequences)
|
SessionId = sessionKey
|
||||||
|
};
|
||||||
|
var getOriginalSubtitleResponse = _seWs.GetOriginalSubtitle(getOriginalSubtitleRequest);
|
||||||
|
if (getOriginalSubtitleResponse.Subtitle != null)
|
||||||
|
{
|
||||||
|
foreach (var sequence in getOriginalSubtitleResponse.Subtitle)
|
||||||
{
|
{
|
||||||
OriginalSubtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
OriginalSubtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SessionId = sessionKey;
|
SessionId = sessionKey;
|
||||||
CurrentUser = users[users.Length - 1]; // me
|
CurrentUser = joinResponse.Users.Last();
|
||||||
foreach (var user in users)
|
foreach (var user in joinResponse.Users)
|
||||||
{
|
{
|
||||||
Users.Add(user);
|
Users.Add(user);
|
||||||
}
|
}
|
||||||
@ -159,28 +175,40 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
|
|
||||||
public List<SeNetworkService.SeUpdate> GetUpdates(out string message, out int numberOfLines)
|
public List<SeNetworkService.SeUpdate> GetUpdates(out string message, out int numberOfLines)
|
||||||
{
|
{
|
||||||
List<SeNetworkService.SeUpdate> list = new List<SeNetworkService.SeUpdate>();
|
var list = new List<SeNetworkService.SeUpdate>();
|
||||||
var updates = _seWs.GetUpdates(SessionId, CurrentUser.UserName, _seWsLastUpdate, out message, out var newUpdateTime, out numberOfLines);
|
var request = new SeNetworkService.GetUpdatesRequest
|
||||||
if (updates != null)
|
|
||||||
{
|
{
|
||||||
foreach (var update in updates)
|
SessionId = SessionId,
|
||||||
|
UserName = CurrentUser.UserName,
|
||||||
|
LastUpdateTime = _seWsLastUpdate
|
||||||
|
};
|
||||||
|
var response = _seWs.GetUpdates(request);
|
||||||
|
if (response.Updates != null)
|
||||||
|
{
|
||||||
|
foreach (var update in response.Updates)
|
||||||
{
|
{
|
||||||
list.Add(update);
|
list.Add(update);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_seWsLastUpdate = newUpdateTime;
|
_seWsLastUpdate = response.NewUpdateTime;
|
||||||
|
message = response.Message;
|
||||||
|
numberOfLines = response.NumberOfLines;
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Subtitle ReloadSubtitle()
|
public Subtitle ReloadSubtitle()
|
||||||
{
|
{
|
||||||
Subtitle.Paragraphs.Clear();
|
Subtitle.Paragraphs.Clear();
|
||||||
var sequences = _seWs.GetSubtitle(SessionId, out var tempFileName, out var updateTime);
|
var request = new SeNetworkService.GetSubtitleRequest
|
||||||
_fileName = tempFileName;
|
|
||||||
_seWsLastUpdate = updateTime;
|
|
||||||
if (sequences != null)
|
|
||||||
{
|
{
|
||||||
foreach (var sequence in sequences)
|
SessionId = SessionId,
|
||||||
|
};
|
||||||
|
var response = _seWs.GetSubtitle(request);
|
||||||
|
_fileName = response.FileName;
|
||||||
|
_seWsLastUpdate = response.UpdateTime;
|
||||||
|
if (response.Subtitle != null)
|
||||||
|
{
|
||||||
|
foreach (var sequence in response.Subtitle)
|
||||||
{
|
{
|
||||||
Subtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
Subtitle.Paragraphs.Add(new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds));
|
||||||
}
|
}
|
||||||
@ -190,23 +218,31 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
|
|
||||||
private void ReloadFromWs()
|
private void ReloadFromWs()
|
||||||
{
|
{
|
||||||
if (_seWs != null)
|
if (_seWs == null)
|
||||||
{
|
{
|
||||||
Subtitle = new Subtitle();
|
return;
|
||||||
var sequences = _seWs.GetSubtitle(SessionId, out _fileName, out _seWsLastUpdate);
|
|
||||||
foreach (var sequence in sequences)
|
|
||||||
{
|
|
||||||
var p = new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds);
|
|
||||||
Subtitle.Paragraphs.Add(p);
|
|
||||||
}
|
|
||||||
Subtitle.Renumber();
|
|
||||||
LastSubtitle = new Subtitle(Subtitle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Subtitle = new Subtitle();
|
||||||
|
var request = new SeNetworkService.GetSubtitleRequest
|
||||||
|
{
|
||||||
|
SessionId = SessionId,
|
||||||
|
};
|
||||||
|
var response = _seWs.GetSubtitle(request);
|
||||||
|
_fileName = response.FileName;
|
||||||
|
_seWsLastUpdate = response.UpdateTime;
|
||||||
|
foreach (var sequence in response.Subtitle)
|
||||||
|
{
|
||||||
|
var p = new Paragraph(WebUtility.HtmlDecode(sequence.Text).Replace("<br />", Environment.NewLine), sequence.StartMilliseconds, sequence.EndMilliseconds);
|
||||||
|
Subtitle.Paragraphs.Add(p);
|
||||||
|
}
|
||||||
|
Subtitle.Renumber();
|
||||||
|
LastSubtitle = new Subtitle(Subtitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AppendToLog(string text)
|
public void AppendToLog(string text)
|
||||||
{
|
{
|
||||||
string timestamp = DateTime.Now.ToLongTimeString();
|
var timestamp = DateTime.Now.ToLongTimeString();
|
||||||
Log.AppendLine(timestamp + ": " + UiUtil.GetListViewTextFromString(text.TrimEnd()));
|
Log.AppendLine(timestamp + ": " + UiUtil.GetListViewTextFromString(text.TrimEnd()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,17 +253,31 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
|
|
||||||
public void SendChatMessage(string message)
|
public void SendChatMessage(string message)
|
||||||
{
|
{
|
||||||
_seWs.SendMessage(SessionId, WebUtility.HtmlEncode(message.Replace(Environment.NewLine, "<br />")), CurrentUser);
|
var request = new SeNetworkService.SendMessageRequest
|
||||||
|
{
|
||||||
|
SessionId = SessionId,
|
||||||
|
User = CurrentUser,
|
||||||
|
Text = WebUtility.HtmlEncode(message.Replace(Environment.NewLine, "<br />"))
|
||||||
|
};
|
||||||
|
_seWs.SendMessage(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void UpdateLine(int index, Paragraph paragraph)
|
internal void UpdateLine(int index, Paragraph paragraph)
|
||||||
{
|
{
|
||||||
_seWs.UpdateLine(SessionId, index, new SeNetworkService.SeSequence
|
var request = new SeNetworkService.UpdateLineRequest
|
||||||
{
|
{
|
||||||
StartMilliseconds = (int)paragraph.StartTime.TotalMilliseconds,
|
SessionId = SessionId,
|
||||||
EndMilliseconds = (int)paragraph.EndTime.TotalMilliseconds,
|
User = CurrentUser,
|
||||||
Text = WebUtility.HtmlEncode(paragraph.Text.Replace(Environment.NewLine, "<br />"))
|
Index = index,
|
||||||
}, CurrentUser);
|
Sequence = new SeNetworkService.SeSequence
|
||||||
|
{
|
||||||
|
StartMilliseconds = (int)paragraph.StartTime.TotalMilliseconds,
|
||||||
|
EndMilliseconds = (int)paragraph.EndTime.TotalMilliseconds,
|
||||||
|
Text = WebUtility.HtmlEncode(paragraph.Text.Replace(Environment.NewLine, "<br />"))
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
_seWs.UpdateLine(request);
|
||||||
AddToWsUserLog(CurrentUser, index, "UPD", true);
|
AddToWsUserLog(CurrentUser, index, "UPD", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,7 +325,8 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_seWs.Leave(SessionId, CurrentUser.UserName);
|
var request = new SeNetworkService.LeaveRequest { SessionId = SessionId, UserName = CurrentUser.UserName };
|
||||||
|
_seWs.Leave(request);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@ -285,7 +336,13 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
|
|
||||||
internal void DeleteLines(List<int> indices)
|
internal void DeleteLines(List<int> indices)
|
||||||
{
|
{
|
||||||
_seWs.DeleteLines(SessionId, indices.ToArray(), CurrentUser);
|
var request = new SeNetworkService.DeleteLinesRequest
|
||||||
|
{
|
||||||
|
SessionId = SessionId,
|
||||||
|
User = CurrentUser,
|
||||||
|
Indices = indices
|
||||||
|
};
|
||||||
|
_seWs.DeleteLines(request);
|
||||||
foreach (int index in indices)
|
foreach (int index in indices)
|
||||||
{
|
{
|
||||||
AdjustUpdateLogToDelete(index);
|
AdjustUpdateLogToDelete(index);
|
||||||
@ -295,7 +352,16 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
|
|
||||||
internal void InsertLine(int index, Paragraph newParagraph)
|
internal void InsertLine(int index, Paragraph newParagraph)
|
||||||
{
|
{
|
||||||
_seWs.InsertLine(SessionId, index, (int)newParagraph.StartTime.TotalMilliseconds, (int)newParagraph.EndTime.TotalMilliseconds, newParagraph.Text, CurrentUser);
|
var request = new SeNetworkService.InsertLineRequest
|
||||||
|
{
|
||||||
|
SessionId = SessionId,
|
||||||
|
User = CurrentUser,
|
||||||
|
Index = index,
|
||||||
|
Text = newParagraph.Text,
|
||||||
|
StartMilliseconds = (int)newParagraph.StartTime.TotalMilliseconds,
|
||||||
|
EndMilliseconds = (int)newParagraph.EndTime.TotalMilliseconds
|
||||||
|
};
|
||||||
|
_seWs.InsertLine(request);
|
||||||
AppendToLog(string.Format(Configuration.Settings.Language.Main.NetworkInsert, CurrentUser.UserName, CurrentUser.Ip, index, UiUtil.GetListViewTextFromString(newParagraph.Text)));
|
AppendToLog(string.Format(Configuration.Settings.Language.Main.NetworkInsert, CurrentUser.UserName, CurrentUser.Ip, index, UiUtil.GetListViewTextFromString(newParagraph.Text)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +406,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
System.Threading.Thread.Sleep(200);
|
System.Threading.Thread.Sleep(200);
|
||||||
StartServer(_seWs.Url, SessionId, _userName, _fileName, out message);
|
StartServer(_seWs.BaseUrl, SessionId, _userName, _fileName, out message);
|
||||||
retries = maxRetries;
|
retries = maxRetries;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@ -367,7 +433,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
System.Threading.Thread.Sleep(200);
|
System.Threading.Thread.Sleep(200);
|
||||||
if (Join(_seWs.Url, _userName, SessionId, out message))
|
if (Join(_seWs.BaseUrl, _userName, SessionId, out message))
|
||||||
{
|
{
|
||||||
message = "Reload";
|
message = "Reload";
|
||||||
}
|
}
|
||||||
@ -399,11 +465,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
|||||||
_timerWebService.Dispose();
|
_timerWebService.Dispose();
|
||||||
_timerWebService = null;
|
_timerWebService = null;
|
||||||
}
|
}
|
||||||
if (_seWs != null)
|
_seWs = null;
|
||||||
{
|
|
||||||
_seWs.Dispose();
|
|
||||||
_seWs = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
300
src/ui/Logic/Networking/SeNetworkService.cs
Normal file
300
src/ui/Logic/Networking/SeNetworkService.cs
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Nikse.SubtitleEdit.Logic.Networking
|
||||||
|
{
|
||||||
|
public class SeNetworkService
|
||||||
|
{
|
||||||
|
private static HttpClient _httpClient;
|
||||||
|
public string BaseUrl { get; private set; }
|
||||||
|
|
||||||
|
public SeNetworkService(string baseUrl)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(baseUrl))
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Url cannot be empty");
|
||||||
|
}
|
||||||
|
|
||||||
|
BaseUrl = baseUrl.Trim().TrimEnd('/') + "/";
|
||||||
|
_httpClient = CreateDefaultHttpClient(BaseUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static HttpClient CreateDefaultHttpClient(string baseUrl)
|
||||||
|
{
|
||||||
|
if (!Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute))
|
||||||
|
{
|
||||||
|
throw new ArgumentException($"{baseUrl} is not a valid base URL.");
|
||||||
|
}
|
||||||
|
|
||||||
|
var client = new HttpClient { BaseAddress = new Uri(baseUrl) };
|
||||||
|
client.DefaultRequestHeaders.Accept.Clear();
|
||||||
|
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T Post<T>(string path, object content = null)
|
||||||
|
{
|
||||||
|
var response = SendRequest(HttpMethod.Post, path, content);
|
||||||
|
return ReadResponse<T>(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
private HttpResponseMessage SendRequest(HttpMethod method, string uri, object content = null)
|
||||||
|
{
|
||||||
|
return SendRequestAsync(method, uri, content).Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<HttpResponseMessage> SendRequestAsync(HttpMethod method, string uri, object content = null)
|
||||||
|
{
|
||||||
|
var request = new HttpRequestMessage(method, uri);
|
||||||
|
|
||||||
|
if (content != null)
|
||||||
|
{
|
||||||
|
request.Content = new StringContent(JsonConvert.SerializeObject(content),
|
||||||
|
Encoding.UTF8,
|
||||||
|
"application/json");
|
||||||
|
}
|
||||||
|
|
||||||
|
return _httpClient.SendAsync(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static T ReadResponse<T>(HttpResponseMessage response)
|
||||||
|
{
|
||||||
|
var settings = new JsonSerializerSettings
|
||||||
|
{
|
||||||
|
MaxDepth = 20
|
||||||
|
};
|
||||||
|
var jsonResponse = response.Content.ReadAsStringAsync().Result;
|
||||||
|
return JsonConvert.DeserializeObject<T>(jsonResponse, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SeSequence
|
||||||
|
{
|
||||||
|
public int Index { get; set; }
|
||||||
|
public int StartMilliseconds { get; set; }
|
||||||
|
public int EndMilliseconds { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class SeUser
|
||||||
|
{
|
||||||
|
public string UserName { get; set; }
|
||||||
|
public string Ip { get; set; }
|
||||||
|
public DateTime LastActivity { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SeUpdate
|
||||||
|
{
|
||||||
|
public DateTime Time { get; set; }
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
public int Index { get; set; }
|
||||||
|
public int StartMilliseconds { get; set; }
|
||||||
|
public int EndMilliseconds { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
public string Action { get; set; }
|
||||||
|
|
||||||
|
public SeUpdate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public SeUpdate(SeUser user, int index, int startMilliseconds, int endMilliseconds, string text, string action)
|
||||||
|
{
|
||||||
|
User = user;
|
||||||
|
Index = index;
|
||||||
|
StartMilliseconds = startMilliseconds;
|
||||||
|
EndMilliseconds = endMilliseconds;
|
||||||
|
Text = text;
|
||||||
|
Action = action;
|
||||||
|
Time = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SeSession
|
||||||
|
{
|
||||||
|
public DateTime Started { get; private set; }
|
||||||
|
public string Id { get; private set; }
|
||||||
|
public string FileName { get; private set; }
|
||||||
|
public List<SeSequence> Subtitle { get; private set; }
|
||||||
|
public List<SeSequence> OriginalSubtitle { get; private set; }
|
||||||
|
public List<SeUser> Users { get; private set; }
|
||||||
|
public List<SeUpdate> Updates { get; private set; }
|
||||||
|
|
||||||
|
public SeSession(string sessionId, List<SeSequence> subtitle, string fileName, List<SeSequence> originalsubtitle)
|
||||||
|
{
|
||||||
|
Started = DateTime.Now;
|
||||||
|
Id = sessionId;
|
||||||
|
FileName = fileName;
|
||||||
|
Subtitle = subtitle;
|
||||||
|
OriginalSubtitle = originalsubtitle;
|
||||||
|
Renumber();
|
||||||
|
Users = new List<SeUser>();
|
||||||
|
Updates = new List<SeUpdate>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Renumber()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < Subtitle.Count; i++)
|
||||||
|
{
|
||||||
|
Subtitle[0].Index = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class StartRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public string UserName { get; set; }
|
||||||
|
public string FileName { get; set; }
|
||||||
|
public List<SeSequence> Subtitle { get; set; }
|
||||||
|
public List<SeSequence> OriginalSubtitle { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class StartResponse
|
||||||
|
{
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
public string Message { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public StartResponse Start(StartRequest request)
|
||||||
|
{
|
||||||
|
return Post<StartResponse>("Start", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class JoinRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public string UserName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class JoinResponse
|
||||||
|
{
|
||||||
|
public List<SeUser> Users { get; set; }
|
||||||
|
public string Message { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public JoinResponse Join(JoinRequest request)
|
||||||
|
{
|
||||||
|
return Post<JoinResponse>("Join", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class LeaveRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public string UserName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Leave(LeaveRequest request)
|
||||||
|
{
|
||||||
|
Post<JoinResponse>("Leave", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DeleteLinesRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public List<int> Indices { get; set; }
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool DeleteLines(DeleteLinesRequest request)
|
||||||
|
{
|
||||||
|
return Post<bool>("DeleteLines", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class InsertLineRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public int Index { get; set; }
|
||||||
|
public int StartMilliseconds { get; set; }
|
||||||
|
public int EndMilliseconds { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool InsertLine(InsertLineRequest request)
|
||||||
|
{
|
||||||
|
return Post<bool>("InsertLine", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UpdateLineRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public int Index { get; set; }
|
||||||
|
public SeSequence Sequence { get; set; }
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UpdateLine(UpdateLineRequest request)
|
||||||
|
{
|
||||||
|
return Post<bool>("UpdateLine", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SendMessageRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
public SeUser User { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool SendMessage(SendMessageRequest request)
|
||||||
|
{
|
||||||
|
return Post<bool>("SendMessage", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetUpdatesRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
public string UserName { get; set; }
|
||||||
|
public DateTime LastUpdateTime { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetUpdatesResponse
|
||||||
|
{
|
||||||
|
public List<SeUpdate> Updates { get; set; }
|
||||||
|
public string Message { get; set; }
|
||||||
|
public DateTime NewUpdateTime { get; set; }
|
||||||
|
public int NumberOfLines { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public GetUpdatesResponse GetUpdates(GetUpdatesRequest request)
|
||||||
|
{
|
||||||
|
return Post<GetUpdatesResponse>("GetUpdates", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetSubtitleRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetSubtitleResponse
|
||||||
|
{
|
||||||
|
public List<SeSequence> Subtitle { get; set; }
|
||||||
|
public string FileName { get; set; }
|
||||||
|
public DateTime UpdateTime { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public GetSubtitleResponse GetSubtitle(GetSubtitleRequest request)
|
||||||
|
{
|
||||||
|
return Post<GetSubtitleResponse>("GetSubtitle", request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetOriginalSubtitleRequest
|
||||||
|
{
|
||||||
|
public string SessionId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetOriginalSubtitleResponse
|
||||||
|
{
|
||||||
|
public List<SeSequence> Subtitle { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public GetOriginalSubtitleResponse GetOriginalSubtitle(GetOriginalSubtitleRequest request)
|
||||||
|
{
|
||||||
|
return Post<GetOriginalSubtitleResponse>("GetOriginalSubtitle", request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
src/ui/Properties/Settings.Designer.cs
generated
12
src/ui/Properties/Settings.Designer.cs
generated
@ -12,7 +12,7 @@ namespace Nikse.SubtitleEdit.Properties {
|
|||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.7.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
@ -22,15 +22,5 @@ namespace Nikse.SubtitleEdit.Properties {
|
|||||||
return defaultInstance;
|
return defaultInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
|
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("http://localhost:2782/se/SeService.asmx")]
|
|
||||||
public string SubtitleEdit_SeNetworkService_SeService {
|
|
||||||
get {
|
|
||||||
return ((string)(this["SubtitleEdit_SeNetworkService_SeService"]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Nikse.SubtitleEdit.Properties" GeneratedClassName="Settings">
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||||
<Profiles />
|
<Profiles />
|
||||||
<Settings>
|
<Settings />
|
||||||
<Setting Name="SubtitleEdit_SeNetworkService_SeService" Type="(Web Service URL)" Scope="Application">
|
|
||||||
<Value Profile="(Default)">http://localhost:2782/se/SeService.asmx</Value>
|
|
||||||
</Setting>
|
|
||||||
</Settings>
|
|
||||||
</SettingsFile>
|
</SettingsFile>
|
@ -57,6 +57,9 @@
|
|||||||
<HintPath>DLLs\Interop.QuartzTypeLib.dll</HintPath>
|
<HintPath>DLLs\Interop.QuartzTypeLib.dll</HintPath>
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="NHunspell, Version=1.2.5554.16953, Culture=neutral, PublicKeyToken=1ac793ea843b4366, processorArchitecture=MSIL">
|
<Reference Include="NHunspell, Version=1.2.5554.16953, Culture=neutral, PublicKeyToken=1ac793ea843b4366, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>packages\NHunspell.1.2.5554.16953\lib\net\NHunspell.dll</HintPath>
|
<HintPath>packages\NHunspell.1.2.5554.16953\lib\net\NHunspell.dll</HintPath>
|
||||||
@ -65,6 +68,14 @@
|
|||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
<Reference Include="System.EnterpriseServices" />
|
<Reference Include="System.EnterpriseServices" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net.Http.WebRequest" />
|
||||||
<Reference Include="System.Web.Services" />
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
@ -1054,6 +1065,7 @@
|
|||||||
<Compile Include="Logic\CommandLineConvert\TsToBluRaySup.cs" />
|
<Compile Include="Logic\CommandLineConvert\TsToBluRaySup.cs" />
|
||||||
<Compile Include="Logic\DarkTheme.cs" />
|
<Compile Include="Logic\DarkTheme.cs" />
|
||||||
<Compile Include="Logic\FindReplaceDialogHelper.cs" />
|
<Compile Include="Logic\FindReplaceDialogHelper.cs" />
|
||||||
|
<Compile Include="Logic\Networking\SeNetworkService.cs" />
|
||||||
<Compile Include="Logic\SceneChangesGenerator.cs" />
|
<Compile Include="Logic\SceneChangesGenerator.cs" />
|
||||||
<Compile Include="Logic\ListViewSorter.cs" />
|
<Compile Include="Logic\ListViewSorter.cs" />
|
||||||
<Compile Include="Logic\NativeMethods.cs" />
|
<Compile Include="Logic\NativeMethods.cs" />
|
||||||
@ -1125,11 +1137,6 @@
|
|||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Web References\SeNetworkService\Reference.cs">
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
<DependentUpon>Reference.map</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<EmbeddedResource Include="Controls\TimeUpDown.resx">
|
<EmbeddedResource Include="Controls\TimeUpDown.resx">
|
||||||
<DependentUpon>TimeUpDown.cs</DependentUpon>
|
<DependentUpon>TimeUpDown.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
@ -1648,20 +1655,6 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<EmbeddedResource Include="Resources\SMPTE-428-7-2014-DCST.xsd.gz" />
|
<EmbeddedResource Include="Resources\SMPTE-428-7-2014-DCST.xsd.gz" />
|
||||||
<None Include="Web References\SeNetworkService\Reference.map">
|
|
||||||
<Generator>MSDiscoCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
|
||||||
</None>
|
|
||||||
<None Include="Web References\SeNetworkService\SeSequence.datasource">
|
|
||||||
<DependentUpon>Reference.map</DependentUpon>
|
|
||||||
</None>
|
|
||||||
<None Include="Web References\SeNetworkService\SeService.wsdl" />
|
|
||||||
<None Include="Web References\SeNetworkService\SeUpdate.datasource">
|
|
||||||
<DependentUpon>Reference.map</DependentUpon>
|
|
||||||
</None>
|
|
||||||
<None Include="Web References\SeNetworkService\SeUser.datasource">
|
|
||||||
<DependentUpon>Reference.map</DependentUpon>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Controls\WebBrowser\WebBrowserEditBox.html" />
|
<EmbeddedResource Include="Controls\WebBrowser\WebBrowserEditBox.html" />
|
||||||
@ -1784,7 +1777,6 @@
|
|||||||
<Content Include="Languages\zh-TW.xml">
|
<Content Include="Languages\zh-TW.xml">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<None Include="Web References\SeNetworkService\SeService.disco" />
|
|
||||||
<None Include="DLLs\Interop.QuartzTypeLib.dll" />
|
<None Include="DLLs\Interop.QuartzTypeLib.dll" />
|
||||||
<EmbeddedResource Include="Controls\VideoPlayerContainer.resx">
|
<EmbeddedResource Include="Controls\VideoPlayerContainer.resx">
|
||||||
<DependentUpon>VideoPlayerContainer.cs</DependentUpon>
|
<DependentUpon>VideoPlayerContainer.cs</DependentUpon>
|
||||||
@ -1904,22 +1896,6 @@
|
|||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
</BootstrapperPackage>
|
</BootstrapperPackage>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<WebReferences Include="Web References\" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<WebReferenceUrl Include="http://localhost:2782/se/SeService.asmx">
|
|
||||||
<UrlBehavior>Dynamic</UrlBehavior>
|
|
||||||
<RelPath>Web References\SeNetworkService\</RelPath>
|
|
||||||
<UpdateFromURL>http://localhost:2782/se/SeService.asmx</UpdateFromURL>
|
|
||||||
<ServiceLocationURL>
|
|
||||||
</ServiceLocationURL>
|
|
||||||
<CachedDynamicPropName>
|
|
||||||
</CachedDynamicPropName>
|
|
||||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
|
||||||
<CachedSettingsPropName>SubtitleEdit_SeNetworkService_SeService</CachedSettingsPropName>
|
|
||||||
</WebReferenceUrl>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\libse\LibSE.csproj">
|
<ProjectReference Include="..\libse\LibSE.csproj">
|
||||||
<Project>{3e3cb28f-3a7b-430f-9eb3-0d6c1e53b753}</Project>
|
<Project>{3e3cb28f-3a7b-430f-9eb3-0d6c1e53b753}</Project>
|
||||||
@ -1950,6 +1926,11 @@
|
|||||||
<Target Name="BeforeClean">
|
<Target Name="BeforeClean">
|
||||||
<Delete Files="@(HunspellAssemblies -> '$(OutputPath)%(Identity)')" />
|
<Delete Files="@(HunspellAssemblies -> '$(OutputPath)%(Identity)')" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||||
|
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||||
|
<Error Condition="!Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
|
||||||
|
<Error Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
@ -1,965 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
//
|
|
||||||
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.42000.
|
|
||||||
//
|
|
||||||
#pragma warning disable 1591
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.SeNetworkService {
|
|
||||||
using System;
|
|
||||||
using System.Web.Services;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Web.Services.Protocols;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
using System.ComponentModel;
|
|
||||||
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
[System.Web.Services.WebServiceBindingAttribute(Name="SeServiceSoap", Namespace="http://tempuri.org/")]
|
|
||||||
public partial class SeService : System.Web.Services.Protocols.SoapHttpClientProtocol {
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback StartOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback JoinOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback LeaveOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback DeleteLinesOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback InsertLineOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback UpdateLineOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback SendMessageOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback GetUpdatesOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback GetSubtitleOperationCompleted;
|
|
||||||
|
|
||||||
private System.Threading.SendOrPostCallback GetOriginalSubtitleOperationCompleted;
|
|
||||||
|
|
||||||
private bool useDefaultCredentialsSetExplicitly;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeService() {
|
|
||||||
this.Url = global::Nikse.SubtitleEdit.Properties.Settings.Default.SubtitleEdit_SeNetworkService_SeService;
|
|
||||||
if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
|
|
||||||
this.UseDefaultCredentials = true;
|
|
||||||
this.useDefaultCredentialsSetExplicitly = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.useDefaultCredentialsSetExplicitly = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public new string Url {
|
|
||||||
get {
|
|
||||||
return base.Url;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
if ((((this.IsLocalFileSystemWebService(base.Url) == true)
|
|
||||||
&& (this.useDefaultCredentialsSetExplicitly == false))
|
|
||||||
&& (this.IsLocalFileSystemWebService(value) == false))) {
|
|
||||||
base.UseDefaultCredentials = false;
|
|
||||||
}
|
|
||||||
base.Url = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public new bool UseDefaultCredentials {
|
|
||||||
get {
|
|
||||||
return base.UseDefaultCredentials;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
base.UseDefaultCredentials = value;
|
|
||||||
this.useDefaultCredentialsSetExplicitly = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event StartCompletedEventHandler StartCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event JoinCompletedEventHandler JoinCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event LeaveCompletedEventHandler LeaveCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event DeleteLinesCompletedEventHandler DeleteLinesCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event InsertLineCompletedEventHandler InsertLineCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event UpdateLineCompletedEventHandler UpdateLineCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event SendMessageCompletedEventHandler SendMessageCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event GetUpdatesCompletedEventHandler GetUpdatesCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event GetSubtitleCompletedEventHandler GetSubtitleCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public event GetOriginalSubtitleCompletedEventHandler GetOriginalSubtitleCompleted;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Start", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public SeUser Start(string sessionKey, string userName, SeSequence[] subtitle, SeSequence[] originalSubtitle, string fileName, out string message) {
|
|
||||||
object[] results = this.Invoke("Start", new object[] {
|
|
||||||
sessionKey,
|
|
||||||
userName,
|
|
||||||
subtitle,
|
|
||||||
originalSubtitle,
|
|
||||||
fileName});
|
|
||||||
message = ((string)(results[1]));
|
|
||||||
return ((SeUser)(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void StartAsync(string sessionKey, string userName, SeSequence[] subtitle, SeSequence[] originalSubtitle, string fileName) {
|
|
||||||
this.StartAsync(sessionKey, userName, subtitle, originalSubtitle, fileName, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void StartAsync(string sessionKey, string userName, SeSequence[] subtitle, SeSequence[] originalSubtitle, string fileName, object userState) {
|
|
||||||
if ((this.StartOperationCompleted == null)) {
|
|
||||||
this.StartOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStartOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("Start", new object[] {
|
|
||||||
sessionKey,
|
|
||||||
userName,
|
|
||||||
subtitle,
|
|
||||||
originalSubtitle,
|
|
||||||
fileName}, this.StartOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnStartOperationCompleted(object arg) {
|
|
||||||
if ((this.StartCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.StartCompleted(this, new StartCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Join", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public SeUser[] Join(string sessionId, string userName, out string message) {
|
|
||||||
object[] results = this.Invoke("Join", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName});
|
|
||||||
message = ((string)(results[1]));
|
|
||||||
return ((SeUser[])(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void JoinAsync(string sessionId, string userName) {
|
|
||||||
this.JoinAsync(sessionId, userName, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void JoinAsync(string sessionId, string userName, object userState) {
|
|
||||||
if ((this.JoinOperationCompleted == null)) {
|
|
||||||
this.JoinOperationCompleted = new System.Threading.SendOrPostCallback(this.OnJoinOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("Join", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName}, this.JoinOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnJoinOperationCompleted(object arg) {
|
|
||||||
if ((this.JoinCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.JoinCompleted(this, new JoinCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Leave", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public void Leave(string sessionId, string userName) {
|
|
||||||
this.Invoke("Leave", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void LeaveAsync(string sessionId, string userName) {
|
|
||||||
this.LeaveAsync(sessionId, userName, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void LeaveAsync(string sessionId, string userName, object userState) {
|
|
||||||
if ((this.LeaveOperationCompleted == null)) {
|
|
||||||
this.LeaveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnLeaveOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("Leave", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName}, this.LeaveOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnLeaveOperationCompleted(object arg) {
|
|
||||||
if ((this.LeaveCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.LeaveCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteLines", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public bool DeleteLines(string sessionId, int[] indices, SeUser user) {
|
|
||||||
object[] results = this.Invoke("DeleteLines", new object[] {
|
|
||||||
sessionId,
|
|
||||||
indices,
|
|
||||||
user});
|
|
||||||
return ((bool)(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void DeleteLinesAsync(string sessionId, int[] indices, SeUser user) {
|
|
||||||
this.DeleteLinesAsync(sessionId, indices, user, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void DeleteLinesAsync(string sessionId, int[] indices, SeUser user, object userState) {
|
|
||||||
if ((this.DeleteLinesOperationCompleted == null)) {
|
|
||||||
this.DeleteLinesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteLinesOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("DeleteLines", new object[] {
|
|
||||||
sessionId,
|
|
||||||
indices,
|
|
||||||
user}, this.DeleteLinesOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnDeleteLinesOperationCompleted(object arg) {
|
|
||||||
if ((this.DeleteLinesCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.DeleteLinesCompleted(this, new DeleteLinesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/InsertLine", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public bool InsertLine(string sessionId, int index, int startMilliseconds, int endMilliseconds, string text, SeUser user) {
|
|
||||||
object[] results = this.Invoke("InsertLine", new object[] {
|
|
||||||
sessionId,
|
|
||||||
index,
|
|
||||||
startMilliseconds,
|
|
||||||
endMilliseconds,
|
|
||||||
text,
|
|
||||||
user});
|
|
||||||
return ((bool)(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void InsertLineAsync(string sessionId, int index, int startMilliseconds, int endMilliseconds, string text, SeUser user) {
|
|
||||||
this.InsertLineAsync(sessionId, index, startMilliseconds, endMilliseconds, text, user, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void InsertLineAsync(string sessionId, int index, int startMilliseconds, int endMilliseconds, string text, SeUser user, object userState) {
|
|
||||||
if ((this.InsertLineOperationCompleted == null)) {
|
|
||||||
this.InsertLineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnInsertLineOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("InsertLine", new object[] {
|
|
||||||
sessionId,
|
|
||||||
index,
|
|
||||||
startMilliseconds,
|
|
||||||
endMilliseconds,
|
|
||||||
text,
|
|
||||||
user}, this.InsertLineOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnInsertLineOperationCompleted(object arg) {
|
|
||||||
if ((this.InsertLineCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.InsertLineCompleted(this, new InsertLineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateLine", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public bool UpdateLine(string sessionId, int index, SeSequence sequence, SeUser user) {
|
|
||||||
object[] results = this.Invoke("UpdateLine", new object[] {
|
|
||||||
sessionId,
|
|
||||||
index,
|
|
||||||
sequence,
|
|
||||||
user});
|
|
||||||
return ((bool)(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void UpdateLineAsync(string sessionId, int index, SeSequence sequence, SeUser user) {
|
|
||||||
this.UpdateLineAsync(sessionId, index, sequence, user, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void UpdateLineAsync(string sessionId, int index, SeSequence sequence, SeUser user, object userState) {
|
|
||||||
if ((this.UpdateLineOperationCompleted == null)) {
|
|
||||||
this.UpdateLineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateLineOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("UpdateLine", new object[] {
|
|
||||||
sessionId,
|
|
||||||
index,
|
|
||||||
sequence,
|
|
||||||
user}, this.UpdateLineOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnUpdateLineOperationCompleted(object arg) {
|
|
||||||
if ((this.UpdateLineCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.UpdateLineCompleted(this, new UpdateLineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendMessage", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public bool SendMessage(string sessionId, string text, SeUser user) {
|
|
||||||
object[] results = this.Invoke("SendMessage", new object[] {
|
|
||||||
sessionId,
|
|
||||||
text,
|
|
||||||
user});
|
|
||||||
return ((bool)(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void SendMessageAsync(string sessionId, string text, SeUser user) {
|
|
||||||
this.SendMessageAsync(sessionId, text, user, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void SendMessageAsync(string sessionId, string text, SeUser user, object userState) {
|
|
||||||
if ((this.SendMessageOperationCompleted == null)) {
|
|
||||||
this.SendMessageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendMessageOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("SendMessage", new object[] {
|
|
||||||
sessionId,
|
|
||||||
text,
|
|
||||||
user}, this.SendMessageOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnSendMessageOperationCompleted(object arg) {
|
|
||||||
if ((this.SendMessageCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.SendMessageCompleted(this, new SendMessageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUpdates", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public SeUpdate[] GetUpdates(string sessionId, string userName, System.DateTime lastUpdateTime, out string message, out System.DateTime newUpdateTime, out int numberOfLines) {
|
|
||||||
object[] results = this.Invoke("GetUpdates", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName,
|
|
||||||
lastUpdateTime});
|
|
||||||
message = ((string)(results[1]));
|
|
||||||
newUpdateTime = ((System.DateTime)(results[2]));
|
|
||||||
numberOfLines = ((int)(results[3]));
|
|
||||||
return ((SeUpdate[])(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetUpdatesAsync(string sessionId, string userName, System.DateTime lastUpdateTime) {
|
|
||||||
this.GetUpdatesAsync(sessionId, userName, lastUpdateTime, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetUpdatesAsync(string sessionId, string userName, System.DateTime lastUpdateTime, object userState) {
|
|
||||||
if ((this.GetUpdatesOperationCompleted == null)) {
|
|
||||||
this.GetUpdatesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUpdatesOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("GetUpdates", new object[] {
|
|
||||||
sessionId,
|
|
||||||
userName,
|
|
||||||
lastUpdateTime}, this.GetUpdatesOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnGetUpdatesOperationCompleted(object arg) {
|
|
||||||
if ((this.GetUpdatesCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.GetUpdatesCompleted(this, new GetUpdatesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSubtitle", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public SeSequence[] GetSubtitle(string sessionId, out string fileName, out System.DateTime updateTime) {
|
|
||||||
object[] results = this.Invoke("GetSubtitle", new object[] {
|
|
||||||
sessionId});
|
|
||||||
fileName = ((string)(results[1]));
|
|
||||||
updateTime = ((System.DateTime)(results[2]));
|
|
||||||
return ((SeSequence[])(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetSubtitleAsync(string sessionId) {
|
|
||||||
this.GetSubtitleAsync(sessionId, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetSubtitleAsync(string sessionId, object userState) {
|
|
||||||
if ((this.GetSubtitleOperationCompleted == null)) {
|
|
||||||
this.GetSubtitleOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSubtitleOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("GetSubtitle", new object[] {
|
|
||||||
sessionId}, this.GetSubtitleOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnGetSubtitleOperationCompleted(object arg) {
|
|
||||||
if ((this.GetSubtitleCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.GetSubtitleCompleted(this, new GetSubtitleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOriginalSubtitle", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
|
||||||
public SeSequence[] GetOriginalSubtitle(string sessionId) {
|
|
||||||
object[] results = this.Invoke("GetOriginalSubtitle", new object[] {
|
|
||||||
sessionId});
|
|
||||||
return ((SeSequence[])(results[0]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetOriginalSubtitleAsync(string sessionId) {
|
|
||||||
this.GetOriginalSubtitleAsync(sessionId, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public void GetOriginalSubtitleAsync(string sessionId, object userState) {
|
|
||||||
if ((this.GetOriginalSubtitleOperationCompleted == null)) {
|
|
||||||
this.GetOriginalSubtitleOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOriginalSubtitleOperationCompleted);
|
|
||||||
}
|
|
||||||
this.InvokeAsync("GetOriginalSubtitle", new object[] {
|
|
||||||
sessionId}, this.GetOriginalSubtitleOperationCompleted, userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnGetOriginalSubtitleOperationCompleted(object arg) {
|
|
||||||
if ((this.GetOriginalSubtitleCompleted != null)) {
|
|
||||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
|
||||||
this.GetOriginalSubtitleCompleted(this, new GetOriginalSubtitleCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public new void CancelAsync(object userState) {
|
|
||||||
base.CancelAsync(userState);
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool IsLocalFileSystemWebService(string url) {
|
|
||||||
if (((url == null)
|
|
||||||
|| (url == string.Empty))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
System.Uri wsUri = new System.Uri(url);
|
|
||||||
if (((wsUri.Port >= 1024)
|
|
||||||
&& (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
|
|
||||||
public partial class SeSequence {
|
|
||||||
|
|
||||||
private int indexField;
|
|
||||||
|
|
||||||
private int startMillisecondsField;
|
|
||||||
|
|
||||||
private int endMillisecondsField;
|
|
||||||
|
|
||||||
private string textField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int Index {
|
|
||||||
get {
|
|
||||||
return this.indexField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.indexField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int StartMilliseconds {
|
|
||||||
get {
|
|
||||||
return this.startMillisecondsField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.startMillisecondsField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int EndMilliseconds {
|
|
||||||
get {
|
|
||||||
return this.endMillisecondsField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.endMillisecondsField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string Text {
|
|
||||||
get {
|
|
||||||
return this.textField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.textField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
|
|
||||||
public partial class SeUpdate {
|
|
||||||
|
|
||||||
private System.DateTime timeField;
|
|
||||||
|
|
||||||
private SeUser userField;
|
|
||||||
|
|
||||||
private int indexField;
|
|
||||||
|
|
||||||
private int startMillisecondsField;
|
|
||||||
|
|
||||||
private int endMillisecondsField;
|
|
||||||
|
|
||||||
private string textField;
|
|
||||||
|
|
||||||
private string actionField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public System.DateTime Time {
|
|
||||||
get {
|
|
||||||
return this.timeField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.timeField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeUser User {
|
|
||||||
get {
|
|
||||||
return this.userField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.userField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int Index {
|
|
||||||
get {
|
|
||||||
return this.indexField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.indexField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int StartMilliseconds {
|
|
||||||
get {
|
|
||||||
return this.startMillisecondsField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.startMillisecondsField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int EndMilliseconds {
|
|
||||||
get {
|
|
||||||
return this.endMillisecondsField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.endMillisecondsField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string Text {
|
|
||||||
get {
|
|
||||||
return this.textField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.textField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string Action {
|
|
||||||
get {
|
|
||||||
return this.actionField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.actionField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.8.4084.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
|
|
||||||
public partial class SeUser {
|
|
||||||
|
|
||||||
private string userNameField;
|
|
||||||
|
|
||||||
private string ipField;
|
|
||||||
|
|
||||||
private System.DateTime lastActivityField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string UserName {
|
|
||||||
get {
|
|
||||||
return this.userNameField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.userNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string Ip {
|
|
||||||
get {
|
|
||||||
return this.ipField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.ipField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public System.DateTime LastActivity {
|
|
||||||
get {
|
|
||||||
return this.lastActivityField;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
this.lastActivityField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void StartCompletedEventHandler(object sender, StartCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class StartCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal StartCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeUser Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((SeUser)(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string message {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((string)(this.results[1]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void JoinCompletedEventHandler(object sender, JoinCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class JoinCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal JoinCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeUser[] Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((SeUser[])(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string message {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((string)(this.results[1]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void LeaveCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void DeleteLinesCompletedEventHandler(object sender, DeleteLinesCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class DeleteLinesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal DeleteLinesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public bool Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((bool)(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void InsertLineCompletedEventHandler(object sender, InsertLineCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class InsertLineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal InsertLineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public bool Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((bool)(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void UpdateLineCompletedEventHandler(object sender, UpdateLineCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class UpdateLineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal UpdateLineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public bool Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((bool)(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void SendMessageCompletedEventHandler(object sender, SendMessageCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class SendMessageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal SendMessageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public bool Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((bool)(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void GetUpdatesCompletedEventHandler(object sender, GetUpdatesCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class GetUpdatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal GetUpdatesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeUpdate[] Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((SeUpdate[])(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string message {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((string)(this.results[1]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public System.DateTime newUpdateTime {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((System.DateTime)(this.results[2]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public int numberOfLines {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((int)(this.results[3]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void GetSubtitleCompletedEventHandler(object sender, GetSubtitleCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class GetSubtitleCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal GetSubtitleCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeSequence[] Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((SeSequence[])(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public string fileName {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((string)(this.results[1]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public System.DateTime updateTime {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((System.DateTime)(this.results[2]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
public delegate void GetOriginalSubtitleCompletedEventHandler(object sender, GetOriginalSubtitleCompletedEventArgs e);
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.4084.0")]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class GetOriginalSubtitleCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
|
||||||
|
|
||||||
private object[] results;
|
|
||||||
|
|
||||||
internal GetOriginalSubtitleCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
|
||||||
base(exception, cancelled, userState) {
|
|
||||||
this.results = results;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
public SeSequence[] Result {
|
|
||||||
get {
|
|
||||||
this.RaiseExceptionIfNecessary();
|
|
||||||
return ((SeSequence[])(this.results[0]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma warning restore 1591
|
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
||||||
<Results>
|
|
||||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost:2782/se/SeService.asmx?wsdl" filename="SeService.wsdl" />
|
|
||||||
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost:2782/se/SeService.asmx?disco" filename="SeService.disco" />
|
|
||||||
</Results>
|
|
||||||
</DiscoveryClientResultsFile>
|
|
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
This file is automatically generated by Visual Studio .Net. It is
|
|
||||||
used to store generic object data source configuration information.
|
|
||||||
Renaming the file extension or editing the content of this file may
|
|
||||||
cause the file to be unrecognizable by the program.
|
|
||||||
-->
|
|
||||||
<GenericObjectDataSource DisplayName="SeSequence" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
|
||||||
<TypeInfo>Nikse.SubtitleEdit.SeNetworkService.SeSequence, Web References.SeNetworkService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
|
||||||
</GenericObjectDataSource>
|
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
|
||||||
<contractRef ref="http://localhost:2782/se/SeService.asmx?wsdl" docRef="http://localhost:2782/se/SeService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
|
||||||
<soap address="http://localhost:2782/se/SeService.asmx" xmlns:q1="http://tempuri.org/" binding="q1:SeServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
|
||||||
<soap address="http://localhost:2782/se/SeService.asmx" xmlns:q2="http://tempuri.org/" binding="q2:SeServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
|
||||||
</discovery>
|
|
@ -1,512 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
|
||||||
<wsdl:types>
|
|
||||||
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
|
|
||||||
<s:element name="Start">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionKey" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="subtitle" type="tns:ArrayOfSeSequence" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="originalSubtitle" type="tns:ArrayOfSeSequence" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="fileName" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:complexType name="ArrayOfSeSequence">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="unbounded" name="SeSequence" nillable="true" type="tns:SeSequence" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:complexType name="SeSequence">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="Index" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="StartMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="EndMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:element name="StartResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="StartResult" type="tns:SeUser" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:complexType name="SeUser">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="Ip" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="LastActivity" type="s:dateTime" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:element name="Join">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="JoinResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="JoinResult" type="tns:ArrayOfSeUser" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:complexType name="ArrayOfSeUser">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="unbounded" name="SeUser" nillable="true" type="tns:SeUser" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:element name="Leave">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="LeaveResponse">
|
|
||||||
<s:complexType />
|
|
||||||
</s:element>
|
|
||||||
<s:element name="DeleteLines">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="indices" type="tns:ArrayOfInt" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:SeUser" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:complexType name="ArrayOfInt">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:element name="DeleteLinesResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="DeleteLinesResult" type="s:boolean" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="InsertLine">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="index" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="startMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="endMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="text" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:SeUser" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="InsertLineResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="InsertLineResult" type="s:boolean" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="UpdateLine">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="index" type="s:int" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sequence" type="tns:SeSequence" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:SeUser" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="UpdateLineResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="UpdateLineResult" type="s:boolean" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="SendMessage">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="text" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:SeUser" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="SendMessageResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="SendMessageResult" type="s:boolean" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="GetUpdates">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="lastUpdateTime" type="s:dateTime" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="GetUpdatesResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="GetUpdatesResult" type="tns:ArrayOfSeUpdate" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="newUpdateTime" type="s:dateTime" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="numberOfLines" type="s:int" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:complexType name="ArrayOfSeUpdate">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="unbounded" name="SeUpdate" nillable="true" type="tns:SeUpdate" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:complexType name="SeUpdate">
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="Time" type="s:dateTime" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="User" type="tns:SeUser" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="Index" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="StartMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="EndMilliseconds" type="s:int" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="Action" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
<s:element name="GetSubtitle">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="GetSubtitleResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="GetSubtitleResult" type="tns:ArrayOfSeSequence" />
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="fileName" type="s:string" />
|
|
||||||
<s:element minOccurs="1" maxOccurs="1" name="updateTime" type="s:dateTime" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="GetOriginalSubtitle">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
<s:element name="GetOriginalSubtitleResponse">
|
|
||||||
<s:complexType>
|
|
||||||
<s:sequence>
|
|
||||||
<s:element minOccurs="0" maxOccurs="1" name="GetOriginalSubtitleResult" type="tns:ArrayOfSeSequence" />
|
|
||||||
</s:sequence>
|
|
||||||
</s:complexType>
|
|
||||||
</s:element>
|
|
||||||
</s:schema>
|
|
||||||
</wsdl:types>
|
|
||||||
<wsdl:message name="StartSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:Start" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="StartSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:StartResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="JoinSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:Join" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="JoinSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:JoinResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="LeaveSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:Leave" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="LeaveSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:LeaveResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="DeleteLinesSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:DeleteLines" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="DeleteLinesSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:DeleteLinesResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="InsertLineSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:InsertLine" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="InsertLineSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:InsertLineResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="UpdateLineSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:UpdateLine" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="UpdateLineSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:UpdateLineResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="SendMessageSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:SendMessage" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="SendMessageSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:SendMessageResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetUpdatesSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetUpdates" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetUpdatesSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetUpdatesResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetSubtitleSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetSubtitle" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetSubtitleSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetSubtitleResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetOriginalSubtitleSoapIn">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetOriginalSubtitle" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:message name="GetOriginalSubtitleSoapOut">
|
|
||||||
<wsdl:part name="parameters" element="tns:GetOriginalSubtitleResponse" />
|
|
||||||
</wsdl:message>
|
|
||||||
<wsdl:portType name="SeServiceSoap">
|
|
||||||
<wsdl:operation name="Start">
|
|
||||||
<wsdl:input message="tns:StartSoapIn" />
|
|
||||||
<wsdl:output message="tns:StartSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Join">
|
|
||||||
<wsdl:input message="tns:JoinSoapIn" />
|
|
||||||
<wsdl:output message="tns:JoinSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Leave">
|
|
||||||
<wsdl:input message="tns:LeaveSoapIn" />
|
|
||||||
<wsdl:output message="tns:LeaveSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="DeleteLines">
|
|
||||||
<wsdl:input message="tns:DeleteLinesSoapIn" />
|
|
||||||
<wsdl:output message="tns:DeleteLinesSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="InsertLine">
|
|
||||||
<wsdl:input message="tns:InsertLineSoapIn" />
|
|
||||||
<wsdl:output message="tns:InsertLineSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="UpdateLine">
|
|
||||||
<wsdl:input message="tns:UpdateLineSoapIn" />
|
|
||||||
<wsdl:output message="tns:UpdateLineSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="SendMessage">
|
|
||||||
<wsdl:input message="tns:SendMessageSoapIn" />
|
|
||||||
<wsdl:output message="tns:SendMessageSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetUpdates">
|
|
||||||
<wsdl:input message="tns:GetUpdatesSoapIn" />
|
|
||||||
<wsdl:output message="tns:GetUpdatesSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetSubtitle">
|
|
||||||
<wsdl:input message="tns:GetSubtitleSoapIn" />
|
|
||||||
<wsdl:output message="tns:GetSubtitleSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetOriginalSubtitle">
|
|
||||||
<wsdl:input message="tns:GetOriginalSubtitleSoapIn" />
|
|
||||||
<wsdl:output message="tns:GetOriginalSubtitleSoapOut" />
|
|
||||||
</wsdl:operation>
|
|
||||||
</wsdl:portType>
|
|
||||||
<wsdl:binding name="SeServiceSoap" type="tns:SeServiceSoap">
|
|
||||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
|
||||||
<wsdl:operation name="Start">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/Start" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Join">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/Join" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Leave">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/Leave" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="DeleteLines">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/DeleteLines" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="InsertLine">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/InsertLine" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="UpdateLine">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/UpdateLine" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="SendMessage">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/SendMessage" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetUpdates">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/GetUpdates" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetSubtitle">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/GetSubtitle" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetOriginalSubtitle">
|
|
||||||
<soap:operation soapAction="http://tempuri.org/GetOriginalSubtitle" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
</wsdl:binding>
|
|
||||||
<wsdl:binding name="SeServiceSoap12" type="tns:SeServiceSoap">
|
|
||||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
|
||||||
<wsdl:operation name="Start">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/Start" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Join">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/Join" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="Leave">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/Leave" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="DeleteLines">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/DeleteLines" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="InsertLine">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/InsertLine" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="UpdateLine">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/UpdateLine" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="SendMessage">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/SendMessage" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetUpdates">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/GetUpdates" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetSubtitle">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/GetSubtitle" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
<wsdl:operation name="GetOriginalSubtitle">
|
|
||||||
<soap12:operation soapAction="http://tempuri.org/GetOriginalSubtitle" style="document" />
|
|
||||||
<wsdl:input>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:input>
|
|
||||||
<wsdl:output>
|
|
||||||
<soap12:body use="literal" />
|
|
||||||
</wsdl:output>
|
|
||||||
</wsdl:operation>
|
|
||||||
</wsdl:binding>
|
|
||||||
<wsdl:service name="SeService">
|
|
||||||
<wsdl:port name="SeServiceSoap" binding="tns:SeServiceSoap">
|
|
||||||
<soap:address location="http://localhost:2782/se/SeService.asmx" />
|
|
||||||
</wsdl:port>
|
|
||||||
<wsdl:port name="SeServiceSoap12" binding="tns:SeServiceSoap12">
|
|
||||||
<soap12:address location="http://localhost:2782/se/SeService.asmx" />
|
|
||||||
</wsdl:port>
|
|
||||||
</wsdl:service>
|
|
||||||
</wsdl:definitions>
|
|
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
This file is automatically generated by Visual Studio .Net. It is
|
|
||||||
used to store generic object data source configuration information.
|
|
||||||
Renaming the file extension or editing the content of this file may
|
|
||||||
cause the file to be unrecognizable by the program.
|
|
||||||
-->
|
|
||||||
<GenericObjectDataSource DisplayName="SeUpdate" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
|
||||||
<TypeInfo>Nikse.SubtitleEdit.SeNetworkService.SeUpdate, Web References.SeNetworkService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
|
||||||
</GenericObjectDataSource>
|
|
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
This file is automatically generated by Visual Studio .Net. It is
|
|
||||||
used to store generic object data source configuration information.
|
|
||||||
Renaming the file extension or editing the content of this file may
|
|
||||||
cause the file to be unrecognizable by the program.
|
|
||||||
-->
|
|
||||||
<GenericObjectDataSource DisplayName="SeUser" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
|
||||||
<TypeInfo>Nikse.SubtitleEdit.SeNetworkService.SeUser, Web References.SeNetworkService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
|
||||||
</GenericObjectDataSource>
|
|
@ -1,17 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<section name="Nikse.SubtitleEdit.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
|
|
||||||
</sectionGroup>
|
|
||||||
</configSections>
|
</configSections>
|
||||||
<applicationSettings>
|
|
||||||
<Nikse.SubtitleEdit.Properties.Settings>
|
|
||||||
<setting name="SubtitleEdit_SeNetworkService_SeService" serializeAs="String">
|
|
||||||
<value>http://localhost:2782/se/SeService.asmx</value>
|
|
||||||
</setting>
|
|
||||||
</Nikse.SubtitleEdit.Properties.Settings>
|
|
||||||
</applicationSettings>
|
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||||
</startup>
|
</startup>
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ILRepack" version="2.0.18" targetFramework="net462" />
|
<package id="ILRepack" version="2.0.18" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net462" />
|
||||||
|
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net462" />
|
||||||
|
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net462" />
|
||||||
<package id="NHunspell" version="1.2.5554.16953" targetFramework="net462" />
|
<package id="NHunspell" version="1.2.5554.16953" targetFramework="net462" />
|
||||||
</packages>
|
</packages>
|
Loading…
Reference in New Issue
Block a user