12 #ifndef ROOT_TApplicationServer 
   13 #define ROOT_TApplicationServer 
   34 class TApplicationServer : 
public TApplication {
 
   53    TRemoteObject *fWorkingDir;      
 
   60    void          HandleCheckFile(TMessage *mess);
 
   62    static void   ErrorHandler(Int_t level, Bool_t abort, 
const char *location,
 
   66    TApplicationServer(Int_t *argc, 
char **argv, FILE *flog, 
const char *logfile);
 
   67    virtual ~TApplicationServer();
 
   69    void           GetOptions(Int_t *argc, 
char **argv);
 
   70    Int_t          GetProtocol()
 const   { 
return fProtocol; }
 
   71    Int_t          GetPort()
 const       { 
return fUrl.GetPort(); }
 
   72    const char    *GetUser()
 const       { 
return fUrl.GetUser(); }
 
   73    const char    *GetHost()
 const       { 
return fUrl.GetHost(); }
 
   74    TSocket       *GetSocket()
 const     { 
return fSocket; }
 
   76    void           HandleSocketInput();
 
   77    void           HandleUrgentData();
 
   79    void           Interrupt() { fInterrupt = kTRUE; }
 
   80    Bool_t         IsValid()
 const { 
return fIsValid; }
 
   82    Long_t         ProcessLine(
const char *line, Bool_t = kFALSE, Int_t *err = 0);
 
   84    void           Reset(
const char *dir);
 
   85    Int_t          ReceiveFile(
const char *file, Bool_t bin, Long64_t size);
 
   86    void           Run(Bool_t retrn = kFALSE);
 
   87    void           SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1);
 
   88    Int_t          BrowseDirectory(
const char *dirname);
 
   89    Int_t          BrowseFile(
const char *fname);
 
   90    Int_t          BrowseKey(
const char *keyname);
 
   92    void           Terminate(Int_t status);
 
   94    ClassDef(TApplicationServer,0)  
 
  101 class TASLogHandler : 
public TFileHandler {
 
  107    static TString fgPfx; 
 
  109    enum EStatusBits { kFileIsPipe = BIT(23) };
 
  110    TASLogHandler(
const char *cmd, TSocket *s, 
const char *pfx = 
"");
 
  111    TASLogHandler(FILE *f, TSocket *s, 
const char *pfx = 
"");
 
  112    virtual ~TASLogHandler();
 
  114    Bool_t IsValid() { 
return ((fFile && fSocket) ? kTRUE : kFALSE); }
 
  117    Bool_t ReadNotify() { 
return Notify(); }
 
  119    static void SetDefaultPrefix(
const char *pfx);
 
  124 class TASLogHandlerGuard {
 
  127    TASLogHandler   *fExecHandler;
 
  130    TASLogHandlerGuard(
const char *cmd, TSocket *s,
 
  131                       const char *pfx = 
"", Bool_t on = kTRUE);
 
  132    TASLogHandlerGuard(FILE *f, TSocket *s,
 
  133                       const char *pfx = 
"", Bool_t on = kTRUE);
 
  134    virtual ~TASLogHandlerGuard();