/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . idea Ċ Ċ import Ġcom . intellij . code Insight . daemon . Daemon Code Analyzer Ċ import Ġcom . intellij . openapi . Disposable Ċ import Ġcom . intellij . openapi . file Editor . File Editor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġorg . jetbrains . kotlin . idea . util . application . getService Safe Ċ Ċ class ĠDa emon Code Analyzer Status Service ( project : ĠProject ) Ġ: ĠDis posable Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( project : ĠProject ): ĠDa emon Code Analyzer Status Service Ġ= Ġproject . getService Safe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Volatile ĊĠĠĠ Ġvar Ġdaemon Running : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Bus Connection Ġ= Ġproject . message Bus . connect ( this ) ĊĠĠĠĠĠĠĠ Ġmessage Bus Connection . subscribe ( Daemon Code Analyzer . DA EM ON _ EVENT _ TOPIC , Ġobject Ġ: ĠDa emon Code Analyzer . Daemon Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdaemon Starting ( file Editors : ĠMutable Collection < File Editor >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaemon Running Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdaemon Finished ( file Editors : ĠMutable Collection < File Editor >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaemon Running Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdaemon Cancel Event Occurred ( reason : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdaemon Running Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĊĠĠĠ Ġ} Ċ }