00001 /* 00002 * Copyright (c) Members of the EGEE Collaboration. 2004. 00003 * See http://eu-egee.org/partners/ for details on the copyright holders. 00004 * For license conditions see the license file or 00005 * http://eu-egee.org/license.html 00006 */ 00007 00008 /* 00009 * Copyright (c) 2001 EU DataGrid. 00010 * For license conditions see http://www.eu-datagrid.org/license.html 00011 * 00012 * Copyright (c) 2001, 2002 by 00013 * Martijn Steenbakkers <martijn@nikhef.nl>, 00014 * David Groep <davidg@nikhef.nl>, 00015 * NIKHEF Amsterdam, the Netherlands 00016 */ 00017 00031 #ifndef _LCMAPS_PLUGINMANAGER_H 00032 #define _LCMAPS_PLUGINMANAGER_H 00033 00034 /****************************************************************************** 00035 Include header files 00036 ******************************************************************************/ 00037 #include "lcmaps_types.h" 00038 #include "_lcmaps_credential.h" 00039 00040 /****************************************************************************** 00041 * Module definition 00042 *****************************************************************************/ 00043 00044 /****************************************************************************** 00045 Function: startPluginManager 00046 Description: 00047 Initialize PluginManager module: 00048 read from LCMAPS config file, the plugins to be loaded 00049 Initialize evaluation manager (get policy) 00050 00051 Parameters: 00052 Returns: 00053 0: succes 00054 1: failure 00055 ******************************************************************************/ 00056 extern int startPluginManager(); 00057 00058 /****************************************************************************** 00059 Function: stopPluginManager 00060 Description: 00061 Terminate PluginManager module. 00062 00063 Parameters: 00064 Returns: 00065 0: termination succeeded 00066 1: termination failed 00067 ******************************************************************************/ 00068 extern int stopPluginManager(); 00069 00070 /****************************************************************************** 00071 Function: runPluginManager 00072 Description: 00073 Run PluginManager: 00074 Contact Evaluation Manager with list of possible policies --> runs plugins 00075 00076 Parameters: 00077 request : RSL request 00078 lcmaps_cred : user credential 00079 npols : number of policies to be considered for evaluation 00080 policynames : the names of the policies to be considered for evaluation 00081 00082 Returns: 00083 0: user mapping succeeded 00084 1: user mapping failed 00085 ******************************************************************************/ 00086 extern int runPluginManager( 00087 lcmaps_request_t request, 00088 lcmaps_cred_id_t lcmaps_cred, 00089 int npols, 00090 char ** policynames 00091 ); 00092 00093 /****************************************************************************** 00094 Function: runPlugin 00095 Description: 00096 Run a plugin for the Evaluation Manager 00097 the result (succes or not will be passed to the Evaluation Manager) 00098 00099 Parameters: 00100 pluginname: the name of the plugin module 00101 Returns: 00102 0: plugin run succeeded 00103 1: plugin run failed 00104 ******************************************************************************/ 00105 extern int runPlugin( 00106 const char * pluginname 00107 ); 00108 00109 /****************************************************************************** 00110 Function: resetCredentialData 00111 Description: 00112 Reset the Credential data. 00113 Wrapper around cleanCredentialData() to be used 00114 by the Evaluation Manager, before a new policy is 00115 evaluated 00116 00117 Parameters: 00118 none 00119 Returns: 00120 the return value of cleanCredentialData() 00121 ******************************************************************************/ 00122 extern int resetCredentialData(); 00123 00124 #endif /* _LCMAPS_PLUGINMANAGER_H */ 00125 00126 /****************************************************************************** 00127 CVS Information: 00128 $Source: /cvs/jra1mw/org.glite.security.lcmaps/src/pluginmanager/_lcmaps_pluginmanager.h,v $ 00129 $Date: 2004/12/02 17:14:22 $ 00130 $Revision: 1.8 $ 00131 $Author: msteenba $ 00132 ******************************************************************************/