/usr/include/root/TGRedirectOutputGuard.h is in libroot-gui-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | // @(#)root/gui:$Id$
// Author: G. Ganis 10/10/2005
/*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGRedirectOutputGuard
#define ROOT_TGRedirectOutputGuard
//////////////////////////////////////////////////////////////////////////
// //
// TGRedirectOutputGuard //
// //
// This class provides output redirection to a TGTextView in guaranteed //
// exception safe way. Use like this: //
// { //
// TGRedirectOutputGuard guard(textview); //
// ... // do something //
// guard.Update(); //
// ... // do something else //
// } //
// when guard goes out of scope, Update() is called to flush what left //
// on the screed and the output is automatically redirected again to //
// the standard units. //
// The exception mechanism takes care of calling the dtors //
// of local objects so it is exception safe. //
// Optionally the output can also be saved into a file: //
// { //
// TGRedirectOutputGuard guard(textview, file, mode); //
// ... // do something //
// } //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TString
#include "TString.h"
#endif
class TGTextView;
class TGRedirectOutputGuard {
private:
TString fLogFile;
Bool_t fTmpFile;
TGTextView *fTextView;
FILE *fLogFileRead;
private:
TGRedirectOutputGuard(const TGRedirectOutputGuard&); // Not implemented.
TGRedirectOutputGuard &operator=(const TGRedirectOutputGuard&); // Not implemented.
public:
TGRedirectOutputGuard(TGTextView *tv,
const char *flog = 0, const char *mode = "a");
virtual ~TGRedirectOutputGuard();
void Update(); // Update window with file content
ClassDef(TGRedirectOutputGuard,0) // Exception safe output redirection
};
#endif
|