![]() |
|
|
Generated: 8 Jan 2009 |
#include <CallbackStreamBuf.h>
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 |
| 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 }
| 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 }
PyObject* GaudiPython::CallbackStreamBuf::m_self [private] |
Definition at line 18 of file CallbackStreamBuf.h.
char* GaudiPython::CallbackStreamBuf::m_callbackBuff [private] |
Definition at line 19 of file CallbackStreamBuf.h.