/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #include #include "plugin.h" #include "pluginmsg.h" void Plugin::UnloadPlugins() { size_t i; slots.clear(); for(i=0 ; i & plugins) { size_t i; for(i=0 ; ifirst==message ; ++i ) { arg.app = a; arg.app2 = a2; arg.app3 = a3; current_plugin = i->second.index; arg.plugin_id = current_plugin; if( request.session && current_plugin != -1 ) arg.plugin_data_base = request.session->plugin_data.Get(current_plugin); else arg.plugin_data_base = 0; if( i->second.fun(&arg) ) arg.ret_true++; else arg.ret_false++; } current_plugin = old_current_plugin; return &arg; } size_t Plugin::Size() { return plugins.size(); } void Plugin::Assign(int message, Fun fun) { Slot s; s.fun = fun; s.index = current_plugin; slots.insert( std::make_pair(message, s) ); log << log3 << "Plugin: added function for message: " << message << ", plugin index: " << s.index << logend; }