/**********************************************************************************
 *
 * $Header: /CVS/neesgrid-chef/chef/modules/umich/grid/src/java/org/chefproject/service/generic/GenericGridService.java,v 1.2 2004/07/13 01:34:43 crs Exp $
 *
 ***********************************************************************************
 *
 * COPYRIGHT © 2002, 2003
 * THE REGENTS OF THE UNIVERSITY OF MICHIGAN
 * ALL RIGHTS RESERVED
 *
 **********************************************************************************/

// package
package org.sakaiproject.service.grid;

// imports

import org.globus.myproxy.*;
import org.sakaiproject.service.legacy.user.UserEdit;
import org.ietf.jgss.GSSCredential;

public interface GridService
{
	public static final String SESSION_PROXY_KEY = "session.myproxy";

	/** 
	* Convert a Credential to a string for printing */
	public String toString(GSSCredential proxy);

	/** 
	* Convert a Credential to a string for printing
	*/
	public String toStringDetailed(GSSCredential proxy);

	/** 
	* Get the GSSCredential from the CHEF user context - may return null
	*/
	public GSSCredential  getCurrentUserGSSCredential();

	/**
	* Get a Grid Proxy Credential for the user and return
	*/
	public GSSCredential loginGlobusUser(UserEdit id, String pw);

	/**
	* Get a Grid Proxy Credential for the user and return
	*/
	public GSSCredential getGSSCredential(String pw);

	/**
	* Get a Grid Proxy Credential for the user and return
	*/
	public GSSCredential getGSSCredential(String id, String pw, String host);


}	// GridService

/**********************************************************************************
 *
 * $Header: /CVS/neesgrid-chef/chef/modules/umich/grid/src/java/org/chefproject/service/generic/GenericGridService.java,v 1.2 2004/07/13 01:34:43 crs Exp $
 *
 **********************************************************************************/
