12 #ifndef ROOT_TApplicationRemote
13 #define ROOT_TApplicationRemote
42 class TApplicationRemote :
public TApplication {
56 class TARFileStat :
public TNamed {
58 TARFileStat(
const char *fn, TMD5 *md5, Long_t mt) :
59 TNamed(fn,fn), fMD5(*md5), fModtime(mt) { }
70 TSignalHandler *fIntHandler;
75 TObject *fReceivedObject;
76 TSeqCollection *fRootFiles;
77 TRemoteObject *fWorkingDir;
79 static Int_t fgPortAttempts;
80 static Int_t fgPortLower;
81 static Int_t fgPortUpper;
83 Int_t Broadcast(
const TMessage &mess);
84 Int_t Broadcast(
const char *mess, Int_t kind = kMESS_STRING, Int_t type = kRRT_Undef);
85 Int_t Broadcast(Int_t kind, Int_t type = kRRT_Undef) {
return Broadcast(0, kind, type); }
86 Int_t BroadcastObject(
const TObject *obj, Int_t kind = kMESS_OBJECT);
87 Int_t BroadcastRaw(
const void *buffer, Int_t length);
88 Bool_t CheckFile(
const char *file, Long_t modtime);
89 Int_t Collect(Long_t timeout = -1);
92 void RecvLogFile(Int_t size);
95 TApplicationRemote(
const char *url, Int_t debug = 0,
const char *script = 0);
96 virtual ~TApplicationRemote();
98 virtual void Browse(TBrowser *b);
99 Bool_t IsFolder()
const {
return kTRUE; }
100 const char *ApplicationName()
const {
return fName; }
101 Long_t ProcessLine(
const char *line, Bool_t = kFALSE, Int_t *error = 0);
103 Int_t SendFile(
const char *file, Int_t opt = kAscii,
104 const char *rfile = 0);
105 Int_t SendObject(
const TObject *obj);
107 void Interrupt(Int_t type = kRRI_Hard);
108 Bool_t IsValid()
const {
return (fSocket) ? kTRUE : kFALSE; }
110 void Print(Option_t *option=
"")
const;
112 void Terminate(Int_t status = 0);
114 static void SetPortParam(Int_t lower = -1, Int_t upper = -1, Int_t attempts = -1);
116 ClassDef(TApplicationRemote,0)
122 class TARInterruptHandler :
public TSignalHandler {
124 TApplicationRemote *fApplicationRemote;
126 TARInterruptHandler(TApplicationRemote *r)
127 : TSignalHandler(kSigInterrupt, kFALSE), fApplicationRemote(r) { }