Author: jerome
Date: 2009-07-22 12:46:58 +0200 (Wed, 22 Jul 2009)
New Revision: 5132
Added:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.dcu
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.pas
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.cfg
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dof
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dpr
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dcu
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dfm
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.pas
Log:
* Added special class for tuxdroid server and TuxBox 2.0 communication.
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.cfg
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.cfg
2009-07-22 09:26:23 UTC (rev 5131)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.cfg
2009-07-22 10:46:58 UTC (rev 5132)
@@ -1 +1,35 @@
-
\ No newline at end of file
+-$A8
+-$B-
+-$C+
+-$D+
+-$E-
+-$F-
+-$G+
+-$H+
+-$I+
+-$J-
+-$K-
+-$L+
+-$M-
+-$N+
+-$O+
+-$P+
+-$Q-
+-$R-
+-$S-
+-$T-
+-$U-
+-$V+
+-$W-
+-$X+
+-$YD
+-$Z1
+-cg
+-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+-H+
+-W+
+-M
+-$M16384,1048576
+-K$00400000
+-LE"c:\program files\borland\delphi6\Projects\Bpl"
+-LN"c:\program files\borland\delphi6\Projects\Bpl"
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dof
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dof
2009-07-22 09:26:23 UTC (rev 5131)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dof
2009-07-22 10:46:58 UTC (rev 5132)
@@ -1 +1,72 @@
-
\ No newline at end of file
+[FileVersion]
+Version=6.0
+[Compiler]
+A=8
+B=0
+C=1
+D=1
+E=0
+F=0
+G=1
+H=1
+I=1
+J=0
+K=0
+L=1
+M=0
+N=1
+O=1
+P=1
+Q=0
+R=0
+S=0
+T=0
+U=0
+V=1
+W=0
+X=1
+Y=1
+Z=1
+ShowHints=1
+ShowWarnings=1
+UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
+[Linker]
+MapFile=0
+OutputObjs=0
+ConsoleApp=1
+DebugInfo=0
+RemoteSymbols=0
+MinStackSize=16384
+MaxStackSize=1048576
+ImageBase=4194304
+ExeDescription=
+[Directories]
+OutputDir=
+UnitOutputDir=
+PackageDLLOutputDir=
+PackageDCPOutputDir=
+SearchPath=
+Packages=
+Conditionals=
+DebugSourceDirs=
+UsePackages=0
+[Parameters]
+RunParams=
+HostApplication=
+Launcher=
+UseLauncher=0
+DebugCWD=
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dpr
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dpr
2009-07-22 09:26:23 UTC (rev 5131)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Project2.dpr
2009-07-22 10:46:58 UTC (rev 5132)
@@ -3,7 +3,8 @@
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
- TXmlThread in 'TXmlThread.pas';
+ TXmlThread in 'TXmlThread.pas',
+ TuxUtils in 'images\bmp\TuxUtils.pas';
{$R *.res}
Added:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.dcu
===================================================================
(Binary files differ)
Property changes on:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.dcu
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.pas
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.pas
(rev 0)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/TuxUtils.pas
2009-07-22 10:46:58 UTC (rev 5132)
@@ -0,0 +1,97 @@
+unit TuxUtils;
+
+interface
+
+uses
+ ShellAPI, Registry, SysUtils, Variants, Classes, TlHelp32, LibXmlParser,
+ LibXmlComps, TXmlThread, ComCtrls, StdCtrls, OleCtrls, Controls, Windows,
+ EmbeddedWB;
+
+ function isTuxDroidServerStarted() : boolean;
+ function isDongleConnected(ApplicationExeName : String; EmbeddedWB1 :
TEmbeddedWB) : boolean;
+
+var
+ XmlScanner1: TXmlScanner;
+
+implementation
+
+
+//Return true if the tuxdroidserver is started, false if not.
+function isTuxDroidServerStarted() : boolean;
+var
+ ContinueLoop: BOOL;
+ FSnapshotHandle: THandle;
+ FProcessEntry32: TProcessEntry32;
+begin
+
+ FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
+ FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
+ ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
+
+ Result := False;
+
+ while Integer(ContinueLoop) <> 0 do
+ begin
+ if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
+ UpperCase('PythonForTuxDroid.exe')) or
(UpperCase(FProcessEntry32.szExeFile) =
+ UpperCase('PythonForTuxDroid.exe')))
+ then begin
+ Result := True;
+ end;
+
+ ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
+
+ end;
+
+ CloseHandle(FSnapshotHandle);
+
+end;
+
+
+
+//Return the dongle connection state.
+function isDongleConnected(ApplicationExeName : String; EmbeddedWB1 :
TEmbeddedWB) : boolean;
+var
+ targetDir : String;
+ downloaded : boolean;
+ xmlFile : TFileName;
+ xmlThread : TXmlThreadObject;
+
+const
+ command =
'http://127.0.0.1:270/0/status/request_one?status_name=radio_state';
+ fileName = 'radio.xml';
+
+begin
+
+ targetDir := ExtractFilePath(ApplicationExeName);
+ downloaded := false;
+ boolvalue := false;
+
+ //Checking if file exists and remove it.
+ if FileExists(targetDir + '\' + fileName) then
+ begin
+ DeleteFile(fileName);
+ end;
+
+ Try
+ downloaded := EmbeddedWB1.DownloadFile(command, targetDir + '\' +
fileName);
+ Except
+ result := false;
+ end;
+
+ //Getting result.
+ if downloaded then
+ begin
+ xmlFile := targetDir + '\' + fileName;
+
+ XmlScanner1.LoadFromFile(xmlFile);
+ xmlThread := TXmlThreadObject.create(XmlScanner1);
+ xmlThread.Resume;
+ boolValue := xmlThread.getResult();
+ end;
+
+ DeleteFile(PChar(xmlFile));
+ Result := boolValue;
+end;
+
+end.
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dcu
===================================================================
(Binary files differ)
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dfm
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dfm
2009-07-22 09:26:23 UTC (rev 5131)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.dfm
2009-07-22 10:46:58 UTC (rev 5132)
@@ -522,11 +522,6 @@
8000800080008000800080008000800080008000800080008001800180018001
C21FC21FC21FC21FFFFFFFFFFFFFFFFF}
end
- object XmlScanner1: TXmlScanner
- Normalize = True
- Left = 104
- Top = 8
- end
object EwbControl1: TEwbControl
InternetFeatures = [Behaviors, DisableMkProtocol,
GetUrlDomFilePathUnencoded]
Left = 136
Modified:
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.pas
===================================================================
---
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.pas
2009-07-22 09:26:23 UTC (rev 5131)
+++
software_suite_v3/software/tool/tux_droid_browser/windows/trunk/tux_droid_browser/Unit1.pas
2009-07-22 10:46:58 UTC (rev 5132)
@@ -27,10 +27,9 @@
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, OleCtrls, SHDocVw_EWB, EwbCore, EmbeddedWB, ShellAPI, Menus,
Registry,
- ImgList, LibXmlParser, LibXmlComps, IEDownload, ExtCtrls, TlHelp32,
- EwbControlComponent, TXmlThread, ComCtrls, AppEvnts, PngImageList,
- StdCtrls;
+ Dialogs, OleCtrls, SHDocVw_EWB, EwbCore, EmbeddedWB, Menus, ImgList,
IEDownload,
+ ExtCtrls, EwbControlComponent, AppEvnts, StdCtrls, ComCtrls, TuxUtils,
+ LibXmlParser, LibXmlComps, ShellAPI, Registry;
const wm_AppelMessage = wm_user + 1;
@@ -44,7 +43,6 @@
N1: TMenuItem;
Quit1: TMenuItem;
ImageList1: TImageList;
- XmlScanner1: TXmlScanner;
EwbControl1: TEwbControl;
StatusBar1: TStatusBar;
@@ -54,7 +52,6 @@
procedure Help1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Mute1Click(Sender: TObject);
- procedure XmlThreadTerminated(Sender: TObject);
procedure EmbeddedWB1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
@@ -62,11 +59,8 @@
{ D�clarations priv�es }
procedure WMAppelMessage(var msg : TMessage); message wm_AppelMessage;
- function OpenUrl(const url : String) : boolean;
+ procedure OpenUrl(const url : String);
- function isTuxDroidServerStarted() : boolean;
- function isDongleConnected() : boolean;
-
public
{ D�clarations publiques }
end;
@@ -90,8 +84,6 @@
//Form initialization.
procedure TForm1.FormCreate(Sender: TObject);
-var
- options : TUserInterfaceOptions;
begin
url := 'http://127.0.0.1:270/user/';
@@ -109,7 +101,7 @@
Form1.Icon := AppIcon;
Tray.hIcon := Application.Icon.handle;
- Tray.szTip := 'Show/Hide TuxBox 2.0';
+ Tray.szTip := 'Show / Hide TuxBox 2.0';
Tray.uFlags := nif_message or nif_icon or nif_tip;
//Adding tray icon to the system tray.
@@ -118,15 +110,13 @@
EmbeddedWB1.Go(url);
//Changing tray icon if server isn't started or no radio detected.
- if ( not isTuxDroidServerStarted() ) then
+ if ( not TuxUtils.isTuxDroidServerStarted() ) then
begin
ImageList1.GetIcon(3, AppIcon);
Tray.hIcon := AppIcon.Handle;
Shell_NotifyIcon(Nim_Modify, @tray);
end;
- isDongleConnected();
-
end;
@@ -161,8 +151,7 @@
//Tray icon 'help' click.
procedure TForm1.Help1Click(Sender: TObject);
begin
- if not Form1.OpenUrl('http://www.kysoh.com/documentation/') then
- dialogs.ShowMessage('Error while loading help');
+ Form1.OpenUrl('http://www.kysoh.com/documentation/');
end;
@@ -200,7 +189,7 @@
{###############################################}
//Open an url into the default web browser.
-function TForm1.OpenUrl(const url : String) : boolean;
+procedure TForm1.OpenUrl(const url : String);
var
Browser: string;
begin
@@ -220,14 +209,11 @@
if Browser = '' then
begin
Exit;
- Result := False;
end;
Browser := Copy(Browser, Pos('"', Browser) + 1, Length(Browser)) ;
Browser := Copy(Browser, 1, Pos('"', Browser) - 1) ;
ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW) ;
-
- Result := True;
end;
@@ -263,117 +249,11 @@
end;
-//Return true if the tuxdroidserver is started, false if not.
-function TForm1.isTuxDroidServerStarted() : boolean;
-var
- ContinueLoop: BOOL;
- FSnapshotHandle: THandle;
- FProcessEntry32: TProcessEntry32;
-begin
-
- FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
- ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
-
- Result := False;
-
- while Integer(ContinueLoop) <> 0 do
- begin
- if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
- UpperCase('PythonForTuxDroid.exe')) or
(UpperCase(FProcessEntry32.szExeFile) =
- UpperCase('PythonForTuxDroid.exe')))
- then begin
- Result := True;
- end;
-
- ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
-
- end;
-
- CloseHandle(FSnapshotHandle);
-
-end;
-
-
-function TForm1.isDongleConnected() : boolean;
-var
- targetDir : String;
- downloaded : boolean;
- xmlFile : TFileName;
- xmlThread : TXmlThreadObject;
-
-const
- command =
'http://127.0.0.1:270/0/status/request_one?status_name=radio_state';
- fileName = 'radio.xml';
-
-begin
-
- targetDir := ExtractFilePath(Application.ExeName);
- downloaded := false;
-
- //Checking if file exists and remove it.
- if FileExists(targetDir + '\' + fileName) then
- begin
- DeleteFile(fileName);
- end;
-
- Try
- downloaded := self.EmbeddedWB1.DownloadFile(command, targetDir + '\' +
fileName);
- Except
- ShowMessage('Error while retrieving dongle state');
- end;
-
- //Getting result.
- if downloaded then
- begin
- xmlFile := targetDir + '\' + fileName;
- self.XmlScanner1.LoadFromFile(xmlFile);
-
- xmlThread := TXmlThreadObject.create(self.XmlScanner1);
-
- xmlThread.Resume;
-
- boolValue := xmlThread.getResult();
- xmlThread.OnTerminate := Form1.XmlThreadTerminated;
- end;
-
- DeleteFile(targetDir + '\' + fileName);
- Result := boolValue;
-
-end;
-
-
-procedure TForm1.XmlThreadTerminated(Sender: TObject);
-begin
- if ( not boolValue ) then
- begin
- ImageList1.GetIcon(3, AppIcon);
- Tray.hIcon := AppIcon.Handle;
- Shell_NotifyIcon(Nim_Modify, @tray);
- end
- else
- begin
- ImageList1.GetIcon(1, AppIcon);
- Tray.hIcon := AppIcon.Handle;
- Shell_NotifyIcon(Nim_Modify, @tray);
- end;
-
- Try
- TXmlThreadObject(sender).Free;
- TXmlThreadObject(sender).destroy;
- Except
-
- end;
-
-end;
-
-
{### Event used to show or not the scroll bar ###}
procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
options : TUserInterfaceOptions;
- last : String;
begin
if EmbeddedWB1.OleObject.Document.Body.ScrollHeight <=
self.EmbeddedWB1.Height then
begin
------------------------------------------------------------------------------
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn