DiCE API nvidia_logo_transpbg.gif Up
mi::http::IData_handler Class Referenceabstract

A data handler may be added to a connection. More...

#include <http.h>

Inheritance diagram for mi::http::IData_handler:

Public Member Functions

virtual neuraylib::IBuffer * handle (IConnection *connection, neuraylib::IBuffer *buffer)=0
 Handles data. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x723054d8, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x723054d8, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

A data handler may be added to a connection.

It is called every time data is enqueued or printed to the connection. The buffer is passed through all installed data handlers which might replace the buffer by a different buffer. If a data handler returns NULL no data is printed or enqueued to the connection and the handler is uninstalled and released.

Member Function Documentation

 handle()

virtual neuraylib::IBuffer * mi::http::IData_handler::handle ( IConnection connection,
neuraylib::IBuffer *  buffer 
)
pure virtual

Handles data.

The method might change the buffer (by returning a new buffer instance).

Parameters
connectionThe connection to which the data handler belongs.
bufferThe original buffer.
Returns
The new, modified buffer (or buffer if there was no modification).