TSystem


class description - source file - inheritance tree

class TSystem : public TNamed


    protected:
virtual const char* ExpandFileName(char* fname) public:
TSystem TSystem(char* name = Generic, char* title = Generic System) TSystem TSystem(TSystem&) virtual void ~TSystem() virtual void Abort(int code = 0) virtual int AcceptConnection(int sock) virtual Bool_t AccessPathName(char* path, EAccessMode mode = kFileExists) virtual void AddFileHandler(TFileHandler* fh) virtual void AddSignalHandler(TSignalHandler* sh) virtual void AddTimer(TTimer* t) virtual int AnnounceTcpService(int port, Bool_t reuse, int backlog) virtual int AnnounceUnixService(int port, int backlog) virtual const char* BaseName(char* pathname) Bool_t cd(char* path) virtual Bool_t ChangeDirectory(char* path) TClass* Class() virtual void CloseConnection(int sock) virtual void Closelog() virtual int ClosePipe(FILE* pipe) virtual char* ConcatFileName(char* dir, char* name) virtual void CreateInspectView(TObject* obj) virtual const char* DirName(char* pathname) virtual void DispatchOneEvent(Bool_t pendingOnly = kFALSE) virtual char* DynamicPathName(char* lib, Bool_t quiet = kFALSE) virtual Func_t DynFindSymbol(char* module, char* entry) virtual Int_t Exec(char* shellcmd) virtual void Exit(int code, Bool_t mode = kTRUE) void ExitLoop() virtual Bool_t ExpandPathName(TString& path) virtual char* ExpandPathName(char* path) virtual void FreeDirectory(void* dirp) virtual const char* GetDirEntry(void* dirp) virtual const char* Getenv(char* env) virtual const char* GetError() const char* GetErrorStr() virtual TInetAddress GetHostByName(char* server) virtual int GetPathInfo(char* path, Long_t* id, Long_t* size, Long_t* flags, Long_t* modtime) virtual TInetAddress GetPeerName(int sock) virtual int GetPid() virtual int GetServiceByName(char* service) virtual char* GetServiceByPort(int port) virtual TInetAddress GetSockName(int sock) virtual int GetSockOpt(int sock, int kind, int* val) virtual const char* HomeDirectory(Char_t* userName = 0) virtual const char* HostName() virtual void IgnoreInterrupt(Bool_t ignore = kTRUE) Bool_t InControl() virtual Bool_t Init() void InnerLoop() virtual TClass* IsA() virtual Bool_t IsAbsoluteFileName(char* dir) virtual int Link(char* from, char* to) virtual void ListLibraries(char* regexp) virtual void ListSymbols(char* module, char* re) virtual int Load(char* module, char* entry) virtual int MakeDirectory(char* name) int mkdir(char* name) virtual Long_t NextTimeOut(Bool_t mode) virtual TTime Now() virtual int OpenConnection(char* server, int port) virtual void* OpenDirectory(char* name) virtual void Openlog(char* name, Int_t options, ELogFacility facility) virtual FILE* OpenPipe(char* command, char* mode) virtual Bool_t ProcessEvents() const char* pwd() virtual int RecvBuf(int sock, void* buffer, int length) virtual int RecvRaw(int sock, void* buffer, int length, int flag) virtual TFileHandler* RemoveFileHandler(TFileHandler* fh) void RemoveOnExit(TObject* obj) virtual TSignalHandler* RemoveSignalHandler(TSignalHandler* sh) virtual TTimer* RemoveTimer(TTimer* t) virtual void Rename(char* from, char* to) virtual void ResetTimer(TTimer*) virtual void Run() virtual int SendBuf(int sock, void* buffer, int length) virtual int SendRaw(int sock, void* buffer, int length, int flag) virtual void SetDisplay() virtual void Setenv(char* name, char* value) virtual void SetProgname(char* name) virtual int SetSockOpt(int sock, int kind, int val) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sleep(UInt_t milliSec) virtual void StackTrace() virtual void Streamer(TBuffer& b) virtual int Symlink(char* from, char* to) virtual void Syslog(ELogLevel level, char* mess) virtual int Umask(Int_t mask) virtual const char* UnixPathName(char* unixpathname) virtual int Unlink(char* name) virtual void Unload(char* module) virtual void Unsetenv(char* name) virtual char* Which(char* search, char* file, EAccessMode mode = kFileExists) virtual const char* WorkingDirectory()

Data Members

protected:
TFdSet fReadmask !Files that should be checked for read events TFdSet fWritemask !Files that should be checked for write events TFdSet fReadready !Files with reads waiting TFdSet fWriteready !Files with writes waiting TFdSet fSignals !Signals that were trapped Int_t fNfd Number of fd's in masks Int_t fMaxrfd Largest fd in read mask Int_t fMaxwfd Largest fd in write mask Int_t fSigcnt Number of pending signals TString fWdpath Working directory TString fHostname Hostname Bool_t fInsideNotify Used by DispatchTimers() Bool_t fInControl True if in eventloop Bool_t fDone True if eventloop should be finished Int_t fLevel Level of nested eventloops TString fLastErrorString Last system error message TSeqCollection* fTimers List of timers TSeqCollection* fSignalHandler List of signal handlers TSeqCollection* fFileHandler List of file handlers TSeqCollection* fOnExitList List of items to be cleaned-up on exit


See also

TUnixSystem

Class Description

                                                                      
 TSystem                                                              
                                                                      
 Abstract base class defining a generic interface to the underlying   
 Operating System.                                                    
 This is not an ABC in the strict sense of the (C++) word. For        
 every member function their is an implementation (often not more     
 than a call to AbstractMethod() which prints a warning saying        
 that the method should be overridden in a derived class), which      
 allows a simple partial implementation for new OS'es.                
                                                                      


TSystem(const char *name, const char *title) : TNamed(name, title)
 Create a new OS interface.

~TSystem()
 Delete the OS interface.

Bool_t Init()
 Initialize the OS interface. Copy the OS name (i.e. Unix) and the
 ROOT name to gSystemName and gRootName, respectively.

void SetProgname(const char *name)
 Set the application name (from command line, argv[0]) and copy it in
 gProgName.

void SetDisplay()
 Set DISPLAY environment variable based on utmp entry. Only for UNIX.

void CreateInspectView(TObject *)
 Create an inspect view of the obj to perform TObject::Inspect

const char* GetError()
 Return system error string.

void RemoveOnExit(TObject *obj)
 Objects that should be deleted on exit of the OS interface.

const char* HostName()
 Return the system's host name.

void Run()
 System event loop.

void ExitLoop()
 Exit from event loop.

void InnerLoop()
 Inner event loop.

Bool_t ProcessEvents()
 Process pending events (GUI, timers). Returns the result of
 TROOT::IsInterrupted(). The interrupt flag (TROOT::SetInterrupt())
 can be set during the handling of the events. This mechanism allows
 macros running in tight calculating loops to be interrupted by some
 GUI event (depending on the interval with which this method is
 called). For example hitting ctrl-c in a canvas will set the
 interrupt flag.

void DispatchOneEvent(Bool_t)
 Dispatch a single event.

void Sleep(UInt_t)
 Sleep milliSec milli seconds.

TTime Now()
 Return current time.

void AddTimer(TTimer *ti)
 Add timer to list of system timers.

TTimer* RemoveTimer(TTimer *ti)
 Remove timer from list of system timers.

Long_t NextTimeOut(Bool_t mode)
 Time when next timer of mode (synchronous=kTRUE or
 asynchronous=kFALSE) will time-out (in ms).

void AddSignalHandler(TSignalHandler *h)
 Add a signal handler to list of system signal handlers.

TSignalHandler* RemoveSignalHandler(TSignalHandler *h)
 Remove a signal handler from list of signal handlers.

void AddFileHandler(TFileHandler *h)
 Add a file handler to the list of system file handlers.

TFileHandler* RemoveFileHandler(TFileHandler *h)
 Remove a file handler from the list of file handlers.

void IgnoreInterrupt(Bool_t)
 Ignore the interrupt signal if ignore == kTRUE else restore previous
 behaviour. Typically call ignore interrupt before writing to disk.

int Exec(const char*)
 Execute a command.

FILE* OpenPipe(const char*, const char*)
 Open a pipe.

int ClosePipe(FILE*)
 Close the pipe.

int GetPid()
 Get process id.

void Exit(int, Bool_t)
 Exit the application.

void Abort(int)
 Abort the application.

void StackTrace()
 Print a stack trace.

int MakeDirectory(const char*)
 Make a directory. Returns 0 in case of success and
 -1 if the directory could not be created.

void* OpenDirectory(const char*)
 Open a directory. Returns 0 if directory does not exist.

void FreeDirectory(void*)
 Free a directory.

const char* GetDirEntry(void*)
 Get a directory entry. Returns 0 if no more entries.

Bool_t ChangeDirectory(const char*)
 Change directory.

const char* WorkingDirectory()
 Return working directory.

const char* HomeDirectory(const Char_t*)
 Return the user's home directory.

const char* BaseName(const char *name)
 Base name of a file name. Base name of /user/root is root.

Bool_t IsAbsoluteFileName(const char *dir)
 Return true if dir is an absolute pathname.

const char* DirName(const char *pathname)
 Return the directory name in pathname. DirName of /user/root is /user.

const char* UnixPathName(const char *name)
 Convert from a Unix pathname to a local pathname. E.g. from /user/root to user\root.

char* ConcatFileName(const char *, const char *)
 Concatenate a directory and a file name.

const char* ExpandFileName(const char *fname)
 Expand a pathname getting rid of special shell characters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) instead of $XXX when using
 environment variables in a pathname. If compatibility is not an issue
 you can use on Unix directly $XXX. This is a protected function called
 from the OS specific system classes, like TUnixSystem and TWinNTSystem.

Bool_t ExpandPathName(TString&)
 Expand a pathname getting rid of special shell characaters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) instead of $XXX when using
 environment variables in a pathname. If compatibility is not an issue
 you can use on Unix directly $XXX.

char* ExpandPathName(const char *)
 Expand a pathname getting rid of special shell characaters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) instead of $XXX when using
 environment variables in a pathname. If compatibility is not an issue
 you can use on Unix directly $XXX. The user must delete returned string.

Bool_t AccessPathName(const char*, EAccessMode)
 Returns FALSE if one can access a file using the specified access mode.

void Rename(const char *, const char *)
 Rename a file.

int Link(const char *, const char *)
 Create a link from file1 to file2.

int Symlink(const char *, const char *)
 Create a symbolic link from file1 to file2.

int Unlink(const char *)
 Unlink, i.e. remove, a file.

int GetPathInfo(const char*, Long_t*, Long_t*, Long_t*, Long_t*)
 Get info about a file: id, size, flags, modification time.

int Umask(Int_t)
 Set the process file creation mode mask.

char* Which(const char *, const char *, EAccessMode)
 Find location of file in a search path.

void Setenv(const char*, const char*)
 Set environment variable.

void Unsetenv(const char *name)
 Unset environment variable.

const char* Getenv(const char*)
 Get environment variable.

void Openlog(const char *, Int_t, ELogFacility)
 Open connection to system log daemon. For the use of the options and
 facility see the Unix openlog man page.

void Syslog(ELogLevel, const char *)
 Send mess to syslog daemon. Level is the logging level and mess the
 message that will be written on the log.

void Closelog()
 Close connection to system log daemon.

int Load(const char *module, const char *entry)
 Load a shared library. Returns 0 on successful loading, 1 in
 case lib was already loaded and -1 in case lib does not exist
 or in case of error.

char* DynamicPathName(const char *, Bool_t)

Func_t DynFindSymbol(const char *, const char *)

void Unload(const char *)
 Unload a shared library.

void ListSymbols(const char *, const char *)
 List symbols in a shared library.

void ListLibraries(const char *)
 List all loaded shared libraries.

TInetAddress GetHostByName(const char *)
 Get Internet Protocol (IP) address of host.

TInetAddress GetPeerName(int)
 Get Internet Protocol (IP) address of remote host and port #.

TInetAddress GetSockName(int)
 Get Internet Protocol (IP) address of host and port #.

int GetServiceByName(const char *)
 Get port # of internet service.

char* GetServiceByPort(int)
 Get name of internet service.

int OpenConnection(const char*, int)
 Open a connection to another host.

int AnnounceTcpService(int, Bool_t, int)
 Announce TCP/IP service.

int AnnounceUnixService(int, int)
 Announce unix domain service.

int AcceptConnection(int)
 Accept a connection.

void CloseConnection(int)
 Close socket connection.

int RecvRaw(int, void *, int, int)
 Receive exactly length bytes into buffer. Use opt to receive out-of-band
 data or to have a peek at what is in the buffer (see TSocket).

int SendRaw(int, const void *, int, int)
 Send exactly length bytes from buffer. Use opt to send out-of-band
 data (see TSocket).

int RecvBuf(int, void *, int)
 Receive a buffer headed by a length indicator.

int SendBuf(int, const void *, int)
 Send a buffer headed by a length indicator.

int SetSockOpt(int, int, int)
 Set socket option.

int GetSockOpt(int, int, int*)
 Get socket option.



Inline Functions


        const char* GetErrorStr()
             Bool_t InControl()
               void ResetTimer(TTimer*)
                int mkdir(char* name)
             Bool_t cd(char* path)
        const char* pwd()
            TClass* Class()
            TClass* IsA()
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
            TSystem TSystem(TSystem&)


Author: Fons Rademakers 15/09/95
Last update: 2.21/06 15/02/99 10.16.39 by Rene Brun
Copyright (c) 1995-1998, The ROOT System, All rights reserved. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.