00001 #ifndef GAUDIPYTHON_CALLBACKSTREAMBUF_H 00002 #define GAUDIPYTHON_CALLBACKSTREAMBUF_H 00003 // ============================================================================ 00004 #include <sstream> //included for stringbuf 00005 // ============================================================================ 00006 #include "Python.h" //included for the python API 00007 // ============================================================================ 00008 #include "GaudiPython/GaudiPython.h" 00009 // ============================================================================ 00010 00011 namespace GaudiPython 00012 { 00013 int call_python_method(PyObject* self, const char* method, char* buf); 00014 00015 class CallbackStreamBuf : public std::stringbuf 00016 { 00017 private: 00018 PyObject* m_self; 00019 char* m_callbackBuff; 00020 00021 public: 00022 CallbackStreamBuf(PyObject* self); 00023 ~CallbackStreamBuf(); 00024 virtual int sync() ; 00025 }; //CallbackStreamBuf 00026 00027 }; //namespace GaudiPython 00028 00029 #endif