OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ossimLogFileBufferStream< charT, traits > Class Template Reference
Inheritance diagram for ossimLogFileBufferStream< charT, traits >:

Public Member Functions

 ossimLogFileBufferStream ()
 
void setLogFilename (const ossimFilename &file)
 
ossimFilename getLogFilename () const
 

Protected Member Functions

virtual int overflow (int c)
 
virtual std::streamsize xsputn (const charT *pChar, std::streamsize n)
 
virtual int sync ()
 

Protected Attributes

ossimFilename theLogFilename
 
std::mutex fileMutex
 

Private Member Functions

void flushBuffer ()
 
 ossimLogFileBufferStream (const ossimLogFileBufferStream &)
 
ossimLogFileBufferStreamoperator= (const ossimLogFileBufferStream &)
 

Private Attributes

ossimString tempString
 

Detailed Description

template<class charT, class traits = std::char_traits<charT>>
class ossimLogFileBufferStream< charT, traits >

Definition at line 51 of file ossimNotify.cpp.

Constructor & Destructor Documentation

◆ ossimLogFileBufferStream() [1/2]

template<class charT, class traits = std::char_traits<charT>>
ossimLogFileBufferStream< charT, traits >::ossimLogFileBufferStream ( )
inline

Definition at line 54 of file ossimNotify.cpp.

54 {};

◆ ossimLogFileBufferStream() [2/2]

template<class charT, class traits = std::char_traits<charT>>
ossimLogFileBufferStream< charT, traits >::ossimLogFileBufferStream ( const ossimLogFileBufferStream< charT, traits > &  )
private

Member Function Documentation

◆ flushBuffer()

template<class charT, class traits = std::char_traits<charT>>
void ossimLogFileBufferStream< charT, traits >::flushBuffer ( )
inlineprivate

Definition at line 98 of file ossimNotify.cpp.

Referenced by ossimLogFileBufferStream< char >::sync().

99  {
100  if((theLogFilename != "") && (tempString!=""))
101  {
103  std::ios::app|std::ios::out);
104  if(outFile)
105  {
106  outFile.write(tempString.c_str(), (std::streamsize)tempString.length());
107  }
108  else
109  {
110  }
111 
112  tempString = "";
113  }
114  }
std::string::size_type length() const
Definition: ossimString.h:408
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
std::basic_ofstream< char > ofstream
Class for char output file streams.
Definition: ossimIosFwd.h:47
ossimFilename theLogFilename
Definition: ossimNotify.cpp:66

◆ getLogFilename()

template<class charT, class traits = std::char_traits<charT>>
ossimFilename ossimLogFileBufferStream< charT, traits >::getLogFilename ( ) const
inline

Definition at line 60 of file ossimNotify.cpp.

Referenced by ossimLogFileStream::getLogFilename().

61  {
62  return theLogFilename;
63  }
ossimFilename theLogFilename
Definition: ossimNotify.cpp:66

◆ operator=()

template<class charT, class traits = std::char_traits<charT>>
ossimLogFileBufferStream& ossimLogFileBufferStream< charT, traits >::operator= ( const ossimLogFileBufferStream< charT, traits > &  )
private

◆ overflow()

template<class charT, class traits = std::char_traits<charT>>
virtual int ossimLogFileBufferStream< charT, traits >::overflow ( int  c)
inlineprotectedvirtual

Definition at line 68 of file ossimNotify.cpp.

69  {
70  std::lock_guard<std::mutex> scopedLock(fileMutex);
71  if(!traits::eq_int_type(c, traits::eof()))
72  {
73  tempString = tempString + ossimString((char)c);
74  }
75 
76  return c;
77  }

◆ setLogFilename()

template<class charT, class traits = std::char_traits<charT>>
void ossimLogFileBufferStream< charT, traits >::setLogFilename ( const ossimFilename file)
inline

Definition at line 56 of file ossimNotify.cpp.

Referenced by ossimLogFileStream::setLogFilename().

57  {
58  theLogFilename = file;
59  }
ossimFilename theLogFilename
Definition: ossimNotify.cpp:66

◆ sync()

template<class charT, class traits = std::char_traits<charT>>
virtual int ossimLogFileBufferStream< charT, traits >::sync ( )
inlineprotectedvirtual

Definition at line 88 of file ossimNotify.cpp.

89  {
90  std::lock_guard<std::mutex> scopedLock(fileMutex);
91  flushBuffer();
92  return 0;
93  }

◆ xsputn()

template<class charT, class traits = std::char_traits<charT>>
virtual std::streamsize ossimLogFileBufferStream< charT, traits >::xsputn ( const charT *  pChar,
std::streamsize  n 
)
inlineprotectedvirtual

Definition at line 79 of file ossimNotify.cpp.

80  {
81  std::lock_guard<std::mutex> scopedLock(fileMutex);
82 
83  tempString = tempString + ossimString(pChar, pChar + n);
84 
85  return n;
86  }
os2<< "> n<< " > nendobj n

Member Data Documentation

◆ fileMutex

template<class charT, class traits = std::char_traits<charT>>
std::mutex ossimLogFileBufferStream< charT, traits >::fileMutex
protected

◆ tempString

template<class charT, class traits = std::char_traits<charT>>
ossimString ossimLogFileBufferStream< charT, traits >::tempString
private

◆ theLogFilename

template<class charT, class traits = std::char_traits<charT>>
ossimFilename ossimLogFileBufferStream< charT, traits >::theLogFilename
protected

The documentation for this class was generated from the following file: