@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright ( c ) 2008 - 201 1 , Tomasz Sowa
* Copyright ( c ) 2008 - 201 2 , Tomasz Sowa
* All rights reserved .
*
*/
@ -41,9 +41,6 @@ Plugin::Plugin()
templates = 0 ;
synchro = 0 ;
session_manager = 0 ;
ret_false = 0 ;
ret_true = 0 ;
}
@ -296,13 +293,9 @@ void Plugin::Call(Session * ses, int message, Slots::iterator & slot, PluginInfo
void Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ , long l1_ , long l2_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ , long l1_ , long l2_ )
{
// how many plugins return 'false' and 'true'
// we are using local variables because Call() method can be called
// from a plugin too (one Call() can execute another Call())
int ret_false_loc = 0 ;
int ret_true_loc = 0 ;
PluginRes res ;
int old_current_plugin = current_plugin ;
PluginInfo info ;
@ -319,111 +312,111 @@ PluginInfo info;
Call ( ses , message , i , info ) ;
if ( info . res )
+ + re t_true_loc ;
+ + re s. res_true ;
else
+ + re t_false_loc ;
+ + re s. res_false ;
}
current_plugin = old_current_plugin ;
ret_false = ret_false_loc ;
ret_true = ret_true_loc ;
return res ;
}
void Plugin : : Call ( int message )
PluginRes Plugin : : Call ( int message )
{
Call( cur - > session , message , 0 , 0 , 0 , 0 ) ;
return Call( cur - > session , message , 0 , 0 , 0 , 0 ) ;
}
void Plugin : : Call ( int message , void * p1_ )
PluginRes Plugin : : Call ( int message , void * p1_ )
{
Call( cur - > session , message , p1_ , 0 , 0 , 0 ) ;
return Call( cur - > session , message , p1_ , 0 , 0 , 0 ) ;
}
void Plugin : : Call ( int message , void * p1_ , void * p2_ )
PluginRes Plugin : : Call ( int message , void * p1_ , void * p2_ )
{
Call( cur - > session , message , p1_ , p2_ , 0 , 0 ) ;
return Call( cur - > session , message , p1_ , p2_ , 0 , 0 ) ;
}
void Plugin : : Call ( int message , long l1_ )
PluginRes Plugin : : Call ( int message , long l1_ )
{
Call( cur - > session , message , 0 , 0 , l1_ , 0 ) ;
return Call( cur - > session , message , 0 , 0 , l1_ , 0 ) ;
}
void Plugin : : Call ( int message , long l1_ , long l2_ )
PluginRes Plugin : : Call ( int message , long l1_ , long l2_ )
{
Call( cur - > session , message , 0 , 0 , l1_ , l2_ ) ;
return Call( cur - > session , message , 0 , 0 , l1_ , l2_ ) ;
}
void Plugin : : Call ( int message , void * p1_ , long l1_ )
PluginRes Plugin : : Call ( int message , void * p1_ , long l1_ )
{
Call( cur - > session , message , p1_ , 0 , l1_ , 0 ) ;
return Call( cur - > session , message , p1_ , 0 , l1_ , 0 ) ;
}
void Plugin : : Call ( int message , void * p1_ , long l1_ , long l2_ )
PluginRes Plugin : : Call ( int message , void * p1_ , long l1_ , long l2_ )
{
Call( cur - > session , message , p1_ , 0 , l1_ , l2_ ) ;
return Call( cur - > session , message , p1_ , 0 , l1_ , l2_ ) ;
}
void Plugin : : Call ( int message , void * p1_ , void * p2_ , long l1_ )
PluginRes Plugin : : Call ( int message , void * p1_ , void * p2_ , long l1_ )
{
Call( cur - > session , message , p1_ , p2_ , l1_ , 0 ) ;
return Call( cur - > session , message , p1_ , p2_ , l1_ , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message )
PluginRes Plugin : : Call ( Session * ses , int message )
{
Call( ses , message , 0 , 0 , 0 , 0 ) ;
return Call( ses , message , 0 , 0 , 0 , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message , void * p1_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ )
{
Call( ses , message , p1_ , 0 , 0 , 0 ) ;
return Call( ses , message , p1_ , 0 , 0 , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ )
{
Call( ses , message , p1_ , p2_ , 0 , 0 ) ;
return Call( ses , message , p1_ , p2_ , 0 , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message , long l1_ )
PluginRes Plugin : : Call ( Session * ses , int message , long l1_ )
{
Call( ses , message , 0 , 0 , l1_ , 0 ) ;
return Call( ses , message , 0 , 0 , l1_ , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message , long l1_ , long l2_ )
PluginRes Plugin : : Call ( Session * ses , int message , long l1_ , long l2_ )
{
Call( ses , message , 0 , 0 , l1_ , l2_ ) ;
return Call( ses , message , 0 , 0 , l1_ , l2_ ) ;
}
void Plugin : : Call ( Session * ses , int message , void * p1_ , long l1_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ , long l1_ )
{
Call( ses , message , p1_ , 0 , l1_ , 0 ) ;
return Call( ses , message , p1_ , 0 , l1_ , 0 ) ;
}
void Plugin : : Call ( Session * ses , int message , void * p1_ , long l1_ , long l2_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ , long l1_ , long l2_ )
{
Call( ses , message , p1_ , 0 , l1_ , l2_ ) ;
return Call( ses , message , p1_ , 0 , l1_ , l2_ ) ;
}
void Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ , long l1_ )
PluginRes Plugin : : Call ( Session * ses , int message , void * p1_ , void * p2_ , long l1_ )
{
Call( ses , message , p1_ , p2_ , l1_ , 0 ) ;
return Call( ses , message , p1_ , p2_ , l1_ , 0 ) ;
}
@ -436,19 +429,12 @@ size_t Plugin::Size()
}
int Plugin : : True ( )
{
return ret_true ;
}
int Plugin : : False ( )
{
return ret_false ;
}
/*
! ! IMPROVE ME
Assign ( ) can work only if other threads are not started
we can add some barrier / flag so when other threads starts
then we cannot use Assign ( ) method
*/
void Plugin : : Assign ( int message , Fun1 fun1 )
{
Slot s ;