mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-21 18:52:36 +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*
|
||||
/build_beta.bat
|
||||
/TestResults
|
||||
/packages
|
||||
|
@ -1743,7 +1743,7 @@ $HorzAlign = Center
|
||||
public class NetworkSettings
|
||||
{
|
||||
public string UserName { get; set; }
|
||||
public string WebServiceUrl { get; set; }
|
||||
public string WebApiUrl { get; set; }
|
||||
public string SessionKey { get; set; }
|
||||
public int PollIntervalSeconds { get; set; }
|
||||
public string NewMessageSound { get; set; }
|
||||
@ -1751,8 +1751,8 @@ $HorzAlign = Center
|
||||
public NetworkSettings()
|
||||
{
|
||||
UserName = string.Empty;
|
||||
SessionKey = "DemoSession"; // TODO: Leave blank or use guid
|
||||
WebServiceUrl = "https://www.nikse.dk/se/SeService.asmx";
|
||||
SessionKey = "DemoSession";
|
||||
WebApiUrl = "https://www.nikse.dk/api/SeNet";
|
||||
PollIntervalSeconds = 5;
|
||||
}
|
||||
}
|
||||
@ -5635,10 +5635,10 @@ $HorzAlign = Center
|
||||
settings.NetworkSettings.UserName = subNode.InnerText;
|
||||
}
|
||||
|
||||
subNode = node.SelectSingleNode("WebServiceUrl");
|
||||
subNode = node.SelectSingleNode("WebApiUrl");
|
||||
if (subNode != null)
|
||||
{
|
||||
settings.NetworkSettings.WebServiceUrl = subNode.InnerText;
|
||||
settings.NetworkSettings.WebApiUrl = subNode.InnerText;
|
||||
}
|
||||
|
||||
subNode = node.SelectSingleNode("PollIntervalSeconds");
|
||||
@ -8274,7 +8274,7 @@ $HorzAlign = Center
|
||||
textWriter.WriteStartElement("NetworkSettings", string.Empty);
|
||||
textWriter.WriteElementString("SessionKey", settings.NetworkSettings.SessionKey);
|
||||
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("NewMessageSound", settings.NetworkSettings.NewMessageSound);
|
||||
textWriter.WriteEndElement();
|
||||
|
@ -40,7 +40,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
||||
}
|
||||
|
||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebServiceUrl;
|
||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebApiUrl;
|
||||
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
||||
if (textBoxUserName.Text.Trim().Length < 2)
|
||||
{
|
||||
@ -51,7 +51,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
private void buttonJoin_Click(object sender, EventArgs e)
|
||||
{
|
||||
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
||||
Configuration.Settings.NetworkSettings.WebServiceUrl = comboBoxWebServiceUrl.Text;
|
||||
Configuration.Settings.NetworkSettings.WebApiUrl = comboBoxWebServiceUrl.Text;
|
||||
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
||||
|
||||
buttonJoin.Enabled = false;
|
||||
|
@ -1,8 +1,7 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
using Nikse.SubtitleEdit.Logic;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
{
|
||||
@ -26,7 +25,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
{
|
||||
textBoxSessionKey.Text = networkSession.SessionId;
|
||||
textBoxUserName.Text = networkSession.CurrentUser.UserName;
|
||||
textBoxWebServiceUrl.Text = networkSession.WebServiceUrl;
|
||||
textBoxWebServiceUrl.Text = networkSession.BaseUrl;
|
||||
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.Windows.Forms;
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
using Nikse.SubtitleEdit.Logic;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
{
|
||||
@ -41,7 +40,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
textBoxSessionKey.Text = Guid.NewGuid().ToString().RemoveChar('-');
|
||||
}
|
||||
|
||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebServiceUrl;
|
||||
comboBoxWebServiceUrl.Text = Configuration.Settings.NetworkSettings.WebApiUrl;
|
||||
textBoxUserName.Text = Configuration.Settings.NetworkSettings.UserName;
|
||||
if (textBoxUserName.Text.Trim().Length < 2)
|
||||
{
|
||||
@ -52,7 +51,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
private void buttonStart_Click(object sender, EventArgs e)
|
||||
{
|
||||
Configuration.Settings.NetworkSettings.SessionKey = textBoxSessionKey.Text;
|
||||
Configuration.Settings.NetworkSettings.WebServiceUrl = comboBoxWebServiceUrl.Text;
|
||||
Configuration.Settings.NetworkSettings.WebApiUrl = comboBoxWebServiceUrl.Text;
|
||||
Configuration.Settings.NetworkSettings.UserName = textBoxUserName.Text;
|
||||
|
||||
buttonStart.Enabled = false;
|
||||
@ -65,8 +64,7 @@ namespace Nikse.SubtitleEdit.Forms.Networking
|
||||
|
||||
try
|
||||
{
|
||||
string message;
|
||||
_networkSession.StartServer(comboBoxWebServiceUrl.Text, textBoxSessionKey.Text, textBoxUserName.Text, _fileName, out message);
|
||||
_networkSession.StartServer(comboBoxWebServiceUrl.Text, textBoxSessionKey.Text, textBoxUserName.Text, _fileName, out var message);
|
||||
if (message != "OK")
|
||||
{
|
||||
MessageBox.Show(message);
|
||||
|
@ -1,9 +1,10 @@
|
||||
using Nikse.SubtitleEdit.Core;
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using Nikse.SubtitleEdit.Core.Common;
|
||||
|
||||
namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
{
|
||||
@ -21,20 +22,19 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
private System.Windows.Forms.Timer _timerWebService;
|
||||
public List<UpdateLogEntry> UpdateLog { get; } = new List<UpdateLogEntry>();
|
||||
public List<ChatEntry> ChatLog { get; } = new List<ChatEntry>();
|
||||
private SeNetworkService.SeService _seWs;
|
||||
private SeNetworkService _seWs;
|
||||
private DateTime _seWsLastUpdate = DateTime.Now.AddYears(-1);
|
||||
public SeNetworkService.SeUser CurrentUser { get; set; }
|
||||
public Subtitle LastSubtitle { get; set; }
|
||||
public Subtitle Subtitle { get; private set; }
|
||||
public Subtitle OriginalSubtitle { get; private set; }
|
||||
public string SessionId { get; private set; }
|
||||
public string BaseUrl => _seWs != null ? _seWs.BaseUrl : string.Empty;
|
||||
private string _userName;
|
||||
private string _fileName;
|
||||
public List<SeNetworkService.SeUser> Users { get; private set; }
|
||||
public StringBuilder Log { get; }
|
||||
|
||||
public string WebServiceUrl => _seWs.Url;
|
||||
|
||||
public NikseWebServiceSession(Subtitle subtitle, Subtitle originalSubtitle, EventHandler onUpdateTimerTick, EventHandler onUpdateUserLogEntries)
|
||||
{
|
||||
Subtitle = subtitle;
|
||||
@ -52,13 +52,13 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
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;
|
||||
_userName = userName;
|
||||
_fileName = fileName;
|
||||
var list = new List<SeNetworkService.SeSequence>();
|
||||
foreach (Paragraph p in Subtitle.Paragraphs)
|
||||
foreach (var p in Subtitle.Paragraphs)
|
||||
{
|
||||
list.Add(new SeNetworkService.SeSequence
|
||||
{
|
||||
@ -71,7 +71,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
var originalSubtitle = new List<SeNetworkService.SeSequence>();
|
||||
if (OriginalSubtitle != null)
|
||||
{
|
||||
foreach (Paragraph p in OriginalSubtitle.Paragraphs)
|
||||
foreach (var p in OriginalSubtitle.Paragraphs)
|
||||
{
|
||||
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,
|
||||
Proxy = Utilities.GetProxy()
|
||||
SessionId = sessionKey,
|
||||
FileName = fileName,
|
||||
OriginalSubtitle = originalSubtitle,
|
||||
Subtitle = list,
|
||||
UserName = userName
|
||||
};
|
||||
var user = _seWs.Start(sessionKey, userName, list.ToArray(), originalSubtitle.ToArray(), fileName, out message);
|
||||
CurrentUser = user;
|
||||
Users = new List<SeNetworkService.SeUser> { user };
|
||||
if (message == "OK")
|
||||
|
||||
var response = _seWs.Start(request);
|
||||
CurrentUser = response.User;
|
||||
message = response.Message;
|
||||
Users = new List<SeNetworkService.SeUser> { response.User };
|
||||
if (response.Message == "OK")
|
||||
{
|
||||
_timerWebService.Start();
|
||||
}
|
||||
@ -99,40 +105,50 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
public bool Join(string webServiceUrl, string userName, string sessionKey, out string message)
|
||||
{
|
||||
SessionId = sessionKey;
|
||||
_seWs = new SeNetworkService.SeService
|
||||
{
|
||||
Url = webServiceUrl,
|
||||
Proxy = Utilities.GetProxy()
|
||||
};
|
||||
_seWs = new SeNetworkService(webServiceUrl);
|
||||
Users = new List<SeNetworkService.SeUser>();
|
||||
var users = _seWs.Join(sessionKey, userName, out message);
|
||||
if (message != "OK")
|
||||
var joinRequest = new SeNetworkService.JoinRequest()
|
||||
{
|
||||
SessionId = sessionKey,
|
||||
UserName = userName
|
||||
};
|
||||
var joinResponse = _seWs.Join(joinRequest);
|
||||
message = joinResponse.Message;
|
||||
if (joinResponse.Message != "OK")
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
string tempFileName;
|
||||
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));
|
||||
}
|
||||
|
||||
_fileName = tempFileName;
|
||||
_fileName = getSubtitleResponse.FileName;
|
||||
|
||||
OriginalSubtitle = new Subtitle();
|
||||
var sequences = _seWs.GetOriginalSubtitle(sessionKey);
|
||||
if (sequences != null)
|
||||
var getOriginalSubtitleRequest = new SeNetworkService.GetOriginalSubtitleRequest
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
SessionId = sessionKey;
|
||||
CurrentUser = users[users.Length - 1]; // me
|
||||
foreach (var user in users)
|
||||
CurrentUser = joinResponse.Users.Last();
|
||||
foreach (var user in joinResponse.Users)
|
||||
{
|
||||
Users.Add(user);
|
||||
}
|
||||
@ -159,28 +175,40 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
|
||||
public List<SeNetworkService.SeUpdate> GetUpdates(out string message, out int numberOfLines)
|
||||
{
|
||||
List<SeNetworkService.SeUpdate> list = new List<SeNetworkService.SeUpdate>();
|
||||
var updates = _seWs.GetUpdates(SessionId, CurrentUser.UserName, _seWsLastUpdate, out message, out var newUpdateTime, out numberOfLines);
|
||||
if (updates != null)
|
||||
var list = new List<SeNetworkService.SeUpdate>();
|
||||
var request = new SeNetworkService.GetUpdatesRequest
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
_seWsLastUpdate = newUpdateTime;
|
||||
_seWsLastUpdate = response.NewUpdateTime;
|
||||
message = response.Message;
|
||||
numberOfLines = response.NumberOfLines;
|
||||
return list;
|
||||
}
|
||||
|
||||
public Subtitle ReloadSubtitle()
|
||||
{
|
||||
Subtitle.Paragraphs.Clear();
|
||||
var sequences = _seWs.GetSubtitle(SessionId, out var tempFileName, out var updateTime);
|
||||
_fileName = tempFileName;
|
||||
_seWsLastUpdate = updateTime;
|
||||
if (sequences != null)
|
||||
var request = new SeNetworkService.GetSubtitleRequest
|
||||
{
|
||||
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));
|
||||
}
|
||||
@ -190,23 +218,31 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
|
||||
private void ReloadFromWs()
|
||||
{
|
||||
if (_seWs != null)
|
||||
if (_seWs == null)
|
||||
{
|
||||
Subtitle = new Subtitle();
|
||||
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);
|
||||
return;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
string timestamp = DateTime.Now.ToLongTimeString();
|
||||
var timestamp = DateTime.Now.ToLongTimeString();
|
||||
Log.AppendLine(timestamp + ": " + UiUtil.GetListViewTextFromString(text.TrimEnd()));
|
||||
}
|
||||
|
||||
@ -217,17 +253,31 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
|
||||
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)
|
||||
{
|
||||
_seWs.UpdateLine(SessionId, index, new SeNetworkService.SeSequence
|
||||
var request = new SeNetworkService.UpdateLineRequest
|
||||
{
|
||||
StartMilliseconds = (int)paragraph.StartTime.TotalMilliseconds,
|
||||
EndMilliseconds = (int)paragraph.EndTime.TotalMilliseconds,
|
||||
Text = WebUtility.HtmlEncode(paragraph.Text.Replace(Environment.NewLine, "<br />"))
|
||||
}, CurrentUser);
|
||||
SessionId = SessionId,
|
||||
User = CurrentUser,
|
||||
Index = index,
|
||||
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);
|
||||
}
|
||||
|
||||
@ -275,7 +325,8 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
{
|
||||
try
|
||||
{
|
||||
_seWs.Leave(SessionId, CurrentUser.UserName);
|
||||
var request = new SeNetworkService.LeaveRequest { SessionId = SessionId, UserName = CurrentUser.UserName };
|
||||
_seWs.Leave(request);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@ -285,7 +336,13 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
|
||||
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)
|
||||
{
|
||||
AdjustUpdateLogToDelete(index);
|
||||
@ -295,7 +352,16 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
|
||||
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)));
|
||||
}
|
||||
|
||||
@ -340,7 +406,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
try
|
||||
{
|
||||
System.Threading.Thread.Sleep(200);
|
||||
StartServer(_seWs.Url, SessionId, _userName, _fileName, out message);
|
||||
StartServer(_seWs.BaseUrl, SessionId, _userName, _fileName, out message);
|
||||
retries = maxRetries;
|
||||
}
|
||||
catch
|
||||
@ -367,7 +433,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
try
|
||||
{
|
||||
System.Threading.Thread.Sleep(200);
|
||||
if (Join(_seWs.Url, _userName, SessionId, out message))
|
||||
if (Join(_seWs.BaseUrl, _userName, SessionId, out message))
|
||||
{
|
||||
message = "Reload";
|
||||
}
|
||||
@ -399,11 +465,7 @@ namespace Nikse.SubtitleEdit.Logic.Networking
|
||||
_timerWebService.Dispose();
|
||||
_timerWebService = null;
|
||||
}
|
||||
if (_seWs != null)
|
||||
{
|
||||
_seWs.Dispose();
|
||||
_seWs = null;
|
||||
}
|
||||
_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.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 {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@ -22,15 +22,5 @@ namespace Nikse.SubtitleEdit.Properties {
|
||||
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'?>
|
||||
<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 />
|
||||
<Settings>
|
||||
<Setting Name="SubtitleEdit_SeNetworkService_SeService" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://localhost:2782/se/SeService.asmx</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
<Settings />
|
||||
</SettingsFile>
|
@ -57,6 +57,9 @@
|
||||
<HintPath>DLLs\Interop.QuartzTypeLib.dll</HintPath>
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</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">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>packages\NHunspell.1.2.5554.16953\lib\net\NHunspell.dll</HintPath>
|
||||
@ -65,6 +68,14 @@
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<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.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
@ -1054,6 +1065,7 @@
|
||||
<Compile Include="Logic\CommandLineConvert\TsToBluRaySup.cs" />
|
||||
<Compile Include="Logic\DarkTheme.cs" />
|
||||
<Compile Include="Logic\FindReplaceDialogHelper.cs" />
|
||||
<Compile Include="Logic\Networking\SeNetworkService.cs" />
|
||||
<Compile Include="Logic\SceneChangesGenerator.cs" />
|
||||
<Compile Include="Logic\ListViewSorter.cs" />
|
||||
<Compile Include="Logic\NativeMethods.cs" />
|
||||
@ -1125,11 +1137,6 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\SeNetworkService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Controls\TimeUpDown.resx">
|
||||
<DependentUpon>TimeUpDown.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
@ -1648,20 +1655,6 @@
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<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>
|
||||
<EmbeddedResource Include="Controls\WebBrowser\WebBrowserEditBox.html" />
|
||||
@ -1784,7 +1777,6 @@
|
||||
<Content Include="Languages\zh-TW.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Web References\SeNetworkService\SeService.disco" />
|
||||
<None Include="DLLs\Interop.QuartzTypeLib.dll" />
|
||||
<EmbeddedResource Include="Controls\VideoPlayerContainer.resx">
|
||||
<DependentUpon>VideoPlayerContainer.cs</DependentUpon>
|
||||
@ -1904,22 +1896,6 @@
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</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>
|
||||
<ProjectReference Include="..\libse\LibSE.csproj">
|
||||
<Project>{3e3cb28f-3a7b-430f-9eb3-0d6c1e53b753}</Project>
|
||||
@ -1950,6 +1926,11 @@
|
||||
<Target Name="BeforeClean">
|
||||
<Delete Files="@(HunspellAssemblies -> '$(OutputPath)%(Identity)')" />
|
||||
</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.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<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"?>
|
||||
<configuration>
|
||||
<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>
|
||||
<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>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||
</startup>
|
||||
|
@ -1,5 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<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" />
|
||||
</packages>
|
Loading…
Reference in New Issue
Block a user