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();