ACabstractsession.h   [plain text]


//
// AC plugin transition layer.
// This file was automatically generated. Do not edit on penalty of futility!
//
#ifndef _H_ACABSTRACTSESSION
#define _H_ACABSTRACTSESSION

#include <security_cdsa_plugin/pluginsession.h>
#include <security_cdsa_utilities/cssmdata.h>


namespace Security {


//
// A pure abstract class to define the AC module interface
//
class ACAbstractPluginSession {
public:
	virtual ~ACAbstractPluginSession();
  virtual void AuthCompute(const CSSM_TUPLEGROUP &BaseAuthorizations,
         const CSSM_TUPLEGROUP *Credentials,
         uint32 NumberOfRequestors,
         const CSSM_LIST &Requestors,
         const CSSM_LIST *RequestedAuthorizationPeriod,
         const CSSM_LIST &RequestedAuthorization,
         CSSM_TUPLEGROUP &AuthorizationResult) = 0;
  virtual void PassThrough(CSSM_TP_HANDLE TPHandle,
         CSSM_CL_HANDLE CLHandle,
         CSSM_CC_HANDLE CCHandle,
         const CSSM_DL_DB_LIST &DBList,
         uint32 PassThroughId,
         const void *InputParams,
         void **OutputParams) = 0;
};

} // end namespace Security

#endif //_H_ACABSTRACTSESSION