project BLF > class TApplication > method StopDaemonAction


Parameters


icDaemonNameinputcharacter
ocMessageoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method TApplication.ExecuteAction


program code (program1/tapplication.p)

<Q-67 run DaemonLoginInfo (all) (Read) (NoCache)
   (input icDaemonName, (DaemonName)
    output dataset tqDaemonLoginInfo) in BBaseDaemon>

/* Report daemon can only be started by the Reporting Service */
if icDaemonName = ? or icDaemonName = ''
then do:
    for each tqDaemonLoginInfo where
             tqDaemonLoginInfo.tcDaemonName = {&REPORTDAEMON} :
        delete tqDaemonLoginInfo.
    end.
end. /* icDaemonName = '' */


<M-13 run Main  (input  viSessionId (iiSessionId)) in TDaemonUtility>

/* Stop the daemons which are marked active */
for each tqDaemonLoginInfo where
         tqDaemonLoginInfo.tcDaemonProcessIDs <> '' or
         tqDaemonLoginInfo.tcDaemonStatus <> {&DAEMONSTATUS-INACTIVE} or
         tqDaemonLoginInfo.tiDaemonRunningProcesses <> 0 :

    <M-95 run StopDaemon
       (input  tqDaemonLoginInfo.tcDaemonName (icDaemonName), 
        output vcMessage (ocMessage), 
        output oiReturnStatus (oiReturnStatus)) in TDaemonUtility>
    
    if (vcMessage <> "" and vcMessage <> ?)
    then assign ocMessage = ocMessage + (if ocMessage = "" then "" else chr(10)) + vcMessage.
    if viFcReturnSuper <> 0 then assign oiReturnStatus = 1.

end. /* for each tqDaemonLoginInfo */

run gipr_DeleteProcedure in vhFcComponent.
delete procedure vhFcComponent.