From 194923c172167eb3fc33807ec8009b255f86337e Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Mon, 8 Oct 2012 09:10:06 +0000 Subject: Plugin is not adapted until someone can compile it and tell others how to do the same git-svn-id: http://svn.miranda-ng.org/main/trunk@1809 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Chess4Net/URLVersionQueryUnit.pas | 185 ------------------------------ 1 file changed, 185 deletions(-) delete mode 100644 plugins/Chess4Net/URLVersionQueryUnit.pas (limited to 'plugins/Chess4Net/URLVersionQueryUnit.pas') diff --git a/plugins/Chess4Net/URLVersionQueryUnit.pas b/plugins/Chess4Net/URLVersionQueryUnit.pas deleted file mode 100644 index 24c73a1a94..0000000000 --- a/plugins/Chess4Net/URLVersionQueryUnit.pas +++ /dev/null @@ -1,185 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// All code below is exclusively owned by author of Chess4Net - Pavel Perminov -// (packpaul@mail.ru, packpaul1@gmail.com). -// Any changes, modifications, borrowing and adaptation are a subject for -// explicit permition from the owner. - -unit URLVersionQueryUnit; - -interface - -uses - Classes; - -type - TApplicationID = (aidAnalyzer = 1, aidSkype = 2); - TOperatingSystemID = (osidWindows = 1, osidLinux = 2); - - TURLVersionQuery = class; - - TQueryReadyEvent = procedure(Sender: TURLVersionQuery) of object; - - TURLVersionQuery = class(TDataModule) - private - m_iLastVersion: integer; - m_wstrInfo: WideString; - FQueryReadyEvent: TQueryReadyEvent; - procedure FDoQueryReady; - function FQuery(const strURL: string): string; - function FGetURL(ApplicationID: TApplicationID; iVersion: integer; - OperatingSystemID: TOperatingSystemID): string; - procedure FParseResponse(const strResponse: string); - public - constructor Create; reintroduce; - procedure Query(ApplicationID: TApplicationID; iVersion: integer; - OperatingSystemID: TOperatingSystemID); - property LastVersion: integer read m_iLastVersion; - property Info: WideString read m_wstrInfo; - property OnQueryReady: TQueryReadyEvent read FQueryReadyEvent write FQueryReadyEvent; - end; - -implementation - -{$R *.dfm} - -uses - Forms, SysUtils, StrUtils, - // - XIE; - -type - TQueryThread = class(TThread) - private - m_URLVersionQuery: TURLVersionQuery; - m_strURL: string; - m_strResponse: string; - procedure FNotifyOnResponse; - protected - procedure Execute; override; - public - constructor Create(AURLVersionQuery: TURLVersionQuery; const strURL: string); - end; - -//////////////////////////////////////////////////////////////////////////////// -// TURLVersionQuery - -constructor TURLVersionQuery.Create; -begin - inherited Create(Application); -end; - -procedure TURLVersionQuery.FDoQueryReady; -begin - if (Assigned(FQueryReadyEvent)) then - FQueryReadyEvent(self); -end; - - -procedure TURLVersionQuery.Query(ApplicationID: TApplicationID; iVersion: integer; - OperatingSystemID: TOperatingSystemID); -begin - TQueryThread.Create(self, FGetURL(ApplicationID, iVersion, OperatingSystemID)); -end; - - -function TURLVersionQuery.FQuery(const strURL: string): string; -begin - with TIEWrapper.Create do - try - Result := OpenRequest(strURL); - finally - Free; - end; -end; - - -function TURLVersionQuery.FGetURL(ApplicationID: TApplicationID; iVersion: integer; - OperatingSystemID: TOperatingSystemID): string; -begin - Result := Format('http://chess4net.ru/stat.php?app=%d&ver=%d&os=%d', - [Ord(ApplicationID), iVersion, Ord(OperatingSystemID)]); -end; - - -procedure TURLVersionQuery.FParseResponse(const strResponse: string); - - procedure NSplit(const str: string; out strlList: TStringList); - var - iPosPrev, iPosNext: integer; - strSub: string; - begin - strlList := TStringList.Create; - - strSub := ''; - iPosPrev := 1; - - while (iPosPrev <= Length(str)) do - begin - iPosNext := iPosPrev; - - iPosNext := PosEx(';', str, iPosNext); - - if (iPosNext = 0) then - iPosNext := MaxInt - 1; - - strSub := strSub + Copy(str, iPosPrev, iPosNext - iPosPrev); - if ((iPosNext < Length(str)) and (str[iPosNext + 1] = ';')) then - begin - strSub := strSub + ';'; - iPosPrev := iPosNext + 2; - continue; - end; - - strlList.Append(strSub); - strSub := ''; - - iPosPrev := iPosNext + 1; - end; - - end; - -var - strl: TStringList; -begin // .FParseResponse - NSplit(strResponse, strl); - try - m_iLastVersion := StrToIntDef(strl.Values['Last version'], 0); - m_wstrInfo := strl.Values['Info']; - finally - strl.Free; - end; -end; - -//////////////////////////////////////////////////////////////////////////////// -// TQueryThread - -constructor TQueryThread.Create(AURLVersionQuery: TURLVersionQuery; const strURL: string); -begin - m_URLVersionQuery := AURLVersionQuery; - m_strURL := strURL; - - inherited Create(TRUE); - FreeOnTerminate := TRUE; - - Resume; -end; - - -procedure TQueryThread.Execute; -begin -{$IFNDEF TESTING} - m_strResponse := m_URLVersionQuery.FQuery(m_strURL); -{$ELSE} - m_strResponse := 'Last version=201102;Info=Version 2011.2 is available'#10'TEST> You can download it from http://chess4net.ru