FRIBParallelanalysis  1.0
FrameworkforMPIParalleldataanalysisatFRIB
TCLFileHandler.h
1 
2 // CTCLFileHandler.h:
3 //
4 // This file defines the CTCLFileHandler class.
5 //
6 // Author:
7 // Ron Fox
8 // NSCL
9 // Michigan State University
10 // East Lansing, MI 48824-1321
11 // mailto:fox@nscl.msu.edu
12 //
13 // Copyright 1999 NSCL, All Rights Reserved.
14 //
16 
17 #ifndef TCLFILEHANDLER_H //Required for current class
18 #define TCLFILEHANDLER_H
19  //Required for base classes
20 #ifndef TCLINTERPRETEROBJECT_H
21 #include "TCLInterpreterObject.h"
22 #endif
23 
24 #ifndef HISTOTYPES_H
25 #include <libtclplusdatatypes.h>
26 #endif
27 
28 #include <unistd.h>
29 #include <stdio.h>
30 
31 
33 {
34  TCLPLUS::UInt_t m_nFid; // File descriptor associated with the object.
35 
36 public:
37  //Default constructor
38 
40  TCLPLUS::UInt_t am_nFid = STDIN_FILENO) :
41  CTCLInterpreterObject(pInterp->getInterpreter()),
42  m_nFid (am_nFid)
43  { }
45  FILE* pFile) :
46  CTCLInterpreterObject(pInterp->getInterpreter()),
47  m_nFid(fileno(pFile))
48  { }
50  TCLPLUS::UInt_t am_nFid = STDIN_FILENO) :
51  CTCLInterpreterObject(pInterp),
52  m_nFid(am_nFid)
53  { }
55  FILE* pFile) :
56  CTCLInterpreterObject(pInterp),
57  m_nFid(fileno(pFile))
58  { }
59  ~CTCLFileHandler ( ) {Clear(); } //Destructor
60  //Copy constructor
61 
62  CTCLFileHandler (const CTCLFileHandler& aCTCLFileHandler ) :
63  CTCLInterpreterObject (aCTCLFileHandler)
64  {
65  m_nFid = aCTCLFileHandler.m_nFid;
66 
67  }
68 
69  //Operator= Assignment Operator
70 
71  CTCLFileHandler& operator= (const CTCLFileHandler& aCTCLFileHandler)
72  {
73  if (this == &aCTCLFileHandler) return *this;
74  CTCLInterpreterObject::operator= (aCTCLFileHandler);
75  m_nFid = aCTCLFileHandler.m_nFid;
76  return *this;
77  }
78 
79  //Operator== Equality Operator
80 
81  int operator== (const CTCLFileHandler& aCTCLFileHandler) const
82  { return (
83  (CTCLInterpreterObject::operator== (aCTCLFileHandler)) &&
84  (m_nFid == aCTCLFileHandler.m_nFid)
85  );
86  }
87  // Readonly selectors:
88 
89 public:
90  TCLPLUS::UInt_t getFid() const
91  {
92  return m_nFid;
93  }
94  // Mutators:
95 
96 public:
97  void setFid (TCLPLUS::UInt_t am_nFid)
98  {
99  m_nFid = am_nFid;
100  }
101  // operations and overridables:
102 
103 public:
104  virtual void operator() (int mask) = 0;
105  static void CallbackRelay (ClientData pObject, int mask) ;
106  void Set (int mask) ;
107  void Clear () ;
108 
109 
110 };
111 
112 #endif
Definition: TCLFileHandler.h:32
Definition: TCLInterpreterObject.h:46
Definition: TCLInterpreter.h:59