88064b | 2011-12-20 | Henrik Grubbström (Grubba) | |
DOCSTART() @class cmod_CONCAT_EVAL(PIKE_NAME, _Info)
*!
*! Internal mixin class, intended to be multiply inherited
*! together with HashInfo.
DOCEND()
PIKECLASS cmod_CONCAT_EVAL(PIKE_NAME, _Info)
{
INIT
{
struct HashInfo_struct *HashInfo
= (struct HashInfo_struct *) get_storage(Pike_fp->current_object,
HashInfo_program);
werror(cmod_STRFY_EVAL(PIKE_NAME) "_Info->INIT\n");
if (HashInfo && !HashInfo->meta)
HashInfo->meta = &cmod_CONCAT_EVAL(nettle_, NETTLE_NAME);
else {
werror(cmod_STRFY_EVAL(PIKE_NAME) "_Info->INIT failed\n");
}
}
}
DOCSTART() @endclass cmod_CONCAT_EVAL(PIKE_NAME, _Info)
DOCEND()
DOCSTART() @class cmod_CONCAT_EVAL(PIKE_NAME, _State)
*!
*! State for PIKE_NAME hashing.
DOCEND()
PIKECLASS cmod_CONCAT_EVAL(PIKE_NAME, _State)
{
INHERIT cmod_CONCAT_EVAL(PIKE_NAME, _Info);
INHERIT HashState;
CVAR struct cmod_CONCAT_EVAL(NETTLE_NAME, _ctx) NETTLE_NAME;
INIT
{
struct HashState_struct *instance
= (struct HashState_struct *) get_storage(Pike_fp->current_object,
HashState_program);
werror(cmod_STRFY_EVAL(PIKE_NAME) "_State->INIT\n");
assert(instance);
cmod_CONCAT_EVAL(NETTLE_NAME, _init)(&THIS->NETTLE_NAME);
instance->ctx = &THIS->NETTLE_NAME;
}
}
DOCSTART() @endclass cmod_CONCAT_EVAL(PIKE_NAME, _State)
DOCEND()
|