The Gaudi Framework  v33r1 (b1225454)
GaudiPython::CallbackStreamBuf Class Reference

#include <GaudiPython/CallbackStreamBuf.h>

Inheritance diagram for GaudiPython::CallbackStreamBuf:
Collaboration diagram for GaudiPython::CallbackStreamBuf:

Classes

class  PyObject_t
 

Public Member Functions

 CallbackStreamBuf (PyObject *self)
 CallbackStreamBuf constructor. More...
 
int sync () override
 reimplementation of stringbuf::sync() More...
 
- Public Member Functions inherited from std::stringbuf
T pptr (T... args)
 
T epptr (T... args)
 
T eback (T... args)
 
T setp (T... args)
 
T sputbackc (T... args)
 
T sgetc (T... args)
 
T stringbuf (T... args)
 
T sungetc (T... args)
 
T pubseekoff (T... args)
 
T seekoff (T... args)
 
T str (T... args)
 
T sync (T... args)
 
T xsputn (T... args)
 
T pbase (T... args)
 
T pubimbue (T... args)
 
T showmanyc (T... args)
 
T egptr (T... args)
 
T seekpos (T... args)
 
T underflow (T... args)
 
T setbuf (T... args)
 
T gbump (T... args)
 
T in_avail (T... args)
 
T swap (T... args)
 
T pbackfail (T... args)
 
T sputc (T... args)
 
T xsgetn (T... args)
 
T uflow (T... args)
 
T gptr (T... args)
 
T sputn (T... args)
 
T sgetn (T... args)
 
T sbumpc (T... args)
 
T overflow (T... args)
 
T operator= (T... args)
 
T pbump (T... args)
 
T pubsetbuf (T... args)
 
T pubsync (T... args)
 
T imbue (T... args)
 
T setg (T... args)
 
T snextc (T... args)
 
T getloc (T... args)
 
T pubseekpos (T... args)
 

Private Attributes

PyObject_t m_self
 
std::array< char, 512 > m_callbackBuff
 

Detailed Description

Definition at line 26 of file CallbackStreamBuf.h.

Constructor & Destructor Documentation

◆ CallbackStreamBuf()

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

CallbackStreamBuf constructor.

Definition at line 39 of file CallbackStreamBuf.cpp.

39 : m_self( self ) {}

Member Function Documentation

◆ sync()

int GaudiPython::CallbackStreamBuf::sync ( )
override

reimplementation of stringbuf::sync()

Definition at line 44 of file CallbackStreamBuf.cpp.

44  {
45  size_t length;
46  char* x;
47  for ( length = 0, x = pbase(); x < epptr(); ++x, ++length )
48  ;
49  // getting in a null terminated buffer the characters
51  m_callbackBuff[std::min( length, m_callbackBuff.size() )] = '\0';
52  // calling the python method
54  // reseting in/out buffer pointers
55  setp( pbase(), pbase() );
56  setg( eback(), eback(), eback() );
57  return 0;
58 }
std::array< char, 512 > m_callbackBuff
T min(T... args)
T data(T... args)
T memcpy(T... args)
T size(T... args)
T pbase(T... args)
T setg(T... args)
T eback(T... args)
T setp(T... args)
GAUDI_API StatusCode call_python_method(PyObject *self, const char *method)
call the python method
Definition: Algorithm.cpp:48

Member Data Documentation

◆ m_callbackBuff

std::array<char, 512> GaudiPython::CallbackStreamBuf::m_callbackBuff
private

Definition at line 41 of file CallbackStreamBuf.h.

◆ m_self

PyObject_t GaudiPython::CallbackStreamBuf::m_self
private

Definition at line 40 of file CallbackStreamBuf.h.


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