Gaudi Framework, version v20r4

Generated: 8 Jan 2009

GaudiPython::CallbackStreamBuf Class Reference

#include <CallbackStreamBuf.h>

List of all members.


Detailed Description

Definition at line 15 of file CallbackStreamBuf.h.


Public Member Functions

 CallbackStreamBuf (PyObject *self)
 CallbackStreamBuf constructor.
 ~CallbackStreamBuf ()
 CallbackStreamBuf destructor.
virtual int sync ()
 reimplementation of stringbuf::sync()

Private Attributes

PyObject * m_self
char * m_callbackBuff

Constructor & Destructor Documentation

GaudiPython::CallbackStreamBuf::CallbackStreamBuf ( PyObject *  self  ) 

CallbackStreamBuf constructor.

Definition at line 43 of file CallbackStreamBuf.cpp.

00043                 : stringbuf(), m_self(self)
00044 {
00045   Py_INCREF(this->m_self);
00046   this->m_callbackBuff = new char[512]; //used for passing the flushed chars in the python callback
00047 }

GaudiPython::CallbackStreamBuf::~CallbackStreamBuf (  ) 

CallbackStreamBuf destructor.

Definition at line 52 of file CallbackStreamBuf.cpp.

00053 {
00054   Py_DECREF( this->m_self );
00055   delete this->m_callbackBuff;
00056 }


Member Function Documentation

int GaudiPython::CallbackStreamBuf::sync (  )  [virtual]

reimplementation of stringbuf::sync()

Definition at line 61 of file CallbackStreamBuf.cpp.

00062 {
00063   int length;
00064   char *x;
00065   for ( length = 0, x = this->pbase(); x < this->epptr(); x++ , length++ ) ;
00066   //getting in a null terminated buffer the characters
00067   memcpy( this->m_callbackBuff, this->pbase(), min(length, 512) );
00068   this->m_callbackBuff[ min(length, 512) ] = '\0';
00069   //calling the python method
00070   GaudiPython::call_python_method(this->m_self, "_sync", this->m_callbackBuff);
00071   //reseting in/out buffer pointers
00072   setp( this->pbase() , this->pbase() );
00073   setg( this->eback(), this->eback(), this->eback() );
00074   return 0;
00075 }


Member Data Documentation

Definition at line 18 of file CallbackStreamBuf.h.

Definition at line 19 of file CallbackStreamBuf.h.


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

Generated at Thu Jan 8 17:53:53 2009 for Gaudi Framework, version v20r4 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004