first = new Service( *this );
}
+FilteredConsumer::FilteredConsumer( Consumer &consumer ) :
+ Consumer( consumer )
+{
+ // Create a reference to the first service
+ first = new Service( *this );
+}
+
FilteredConsumer::~FilteredConsumer( )
{
// Delete the reference to the first service
return error;
}
+int FilteredConsumer::last( Filter &filter )
+{
+ int error = 0;
+ if ( filter.is_valid( ) )
+ {
+ Service *producer = this->producer( );
+ error = filter.connect( *producer );
+ if ( error == 0 )
+ connect_producer( filter );
+ delete producer;
+ }
+ else
+ {
+ error = 1;
+ }
+ return error;
+}
+
int FilteredConsumer::detach( Filter &filter )
{
if ( filter.is_valid( ) )