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