diff options
| author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-14 15:29:23 +0000 |
|---|---|---|
| committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-14 15:29:23 +0000 |
| commit | 6e05f5516aff4f50d39aafca95ff75c29446bbff (patch) | |
| tree | 6d9fbaed1b74b88528efd357fbacf6e26e213ba8 /packages/fcl-base | |
| parent | db3113c4fc4164c118d3661e0185e1102c256a4f (diff) | |
| download | fpc-6e05f5516aff4f50d39aafca95ff75c29446bbff.tar.gz | |
* moved daemon example from fcl-base to fcl-extra, because daemonapp is
also in fcl-extra + added to makefile (mantis #18198)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16563 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-base')
| -rw-r--r-- | packages/fcl-base/examples/daemon.pp | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/packages/fcl-base/examples/daemon.pp b/packages/fcl-base/examples/daemon.pp deleted file mode 100644 index b74165fa8f..0000000000 --- a/packages/fcl-base/examples/daemon.pp +++ /dev/null @@ -1,155 +0,0 @@ -program daemon; - -{$mode objfpc}{$H+} -{$define usecthreads} -{$apptype gui} - -uses - {$IFDEF UNIX}{$IFDEF UseCThreads} - cthreads, - {$ENDIF}{$ENDIF} - sysutils, - Classes - { add your units here }, daemonapp; - -Type - - { TTestDaemon } - - { TTestThread } - - TTestThread = Class(TThread) - Procedure Execute; override; - end; - - TTestDaemon = Class(TCustomDaemon) - Private - FThread : TTestThread; - Procedure ThreadStopped (Sender : TObject); - public - Function Start : Boolean; override; - Function Stop : Boolean; override; - Function Pause : Boolean; override; - Function Continue : Boolean; override; - Function Execute : Boolean; override; - Function ShutDown : Boolean; override; - Function Install : Boolean; override; - Function UnInstall: boolean; override; - end; - -{ TTestThread } - -procedure TTestThread.Execute; - -Var - C : Integer; - -begin - C:=0; - Repeat - Sleep(1000); - inc(c); - Application.Log(etcustom,Format('Tick : %d',[C])); - Until Terminated; -end; - -Procedure AWriteln(MSg : String; B : Boolean); - -begin - Application.Log(etcustom,Msg+BoolToStr(B)); -end; - -{ TTestDaemon } - -procedure TTestDaemon.ThreadStopped(Sender: TObject); -begin - FreeAndNil(FThread); -end; - -function TTestDaemon.Start: Boolean; -begin - Result:=inherited Start; - AWriteln('Daemon Start',Result); - FThread:=TTestThread.Create(True); - FThread.OnTerminate:=@ThreadStopped; - FThread.FreeOnTerminate:=False; - FThread.Resume; -end; - -function TTestDaemon.Stop: Boolean; -begin - Result:=inherited Stop; - AWriteln('Daemon Stop: ',Result); - FThread.Terminate; -end; - -function TTestDaemon.Pause: Boolean; -begin - Result:=inherited Pause; - AWriteln('Daemon pause: ',Result); - FThread.Suspend; -end; - -function TTestDaemon.Continue: Boolean; -begin - Result:=inherited Continue; - AWriteln('Daemon continue: ',Result); - FThread.Resume; -end; - -function TTestDaemon.Execute: Boolean; -begin - Result:=inherited Execute; - AWriteln('Daemon execute: ',Result); -end; - -function TTestDaemon.ShutDown: Boolean; -begin - Result:=inherited ShutDown; - AWriteln('Daemon Shutdown: ',Result); - FThread.Terminate; -end; - -function TTestDaemon.Install: Boolean; -begin - Result:=inherited Install; - AWriteln('Daemon Install: ',Result); -end; - -function TTestDaemon.UnInstall: boolean; -begin - Result:=inherited UnInstall; - AWriteln('Daemon UnInstall: ',Result); -end; - -Type - - { TTestDaemonMapper } - - TTestDaemonMapper = Class(TCustomDaemonMapper) - Constructor Create(AOwner : TComponent); override; - end; - -{ TTestDaemonMapper } - -constructor TTestDaemonMapper.Create(AOwner: TComponent); - -Var - D : TDaemonDef; - -begin - inherited Create(AOwner); - D:=DaemonDefs.Add as TDaemonDef; - D.DisplayName:='Test daemon'; - D.Name:='TestDaemon'; - D.DaemonClassName:='TTestDaemon'; - D.WinBindings.ServiceType:=stWin32; -end; - -begin - RegisterDaemonClass(TTestDaemon); - RegisterDaemonMapper(TTestDaemonMapper); - Application.Title:='Daemon test application'; - Application.Run; -end. - |
