GWEN_PLUGIN *AB_Plugin_Provider_new(GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName) { GWEN_PLUGIN *pl; AB_PLUGIN_PROVIDER *xpl; pl=GWEN_Plugin_new(pm, name, fileName); GWEN_NEW_OBJECT(AB_PLUGIN_PROVIDER, xpl); GWEN_INHERIT_SETDATA(GWEN_PLUGIN, AB_PLUGIN_PROVIDER, pl, xpl, AB_Plugin_Provider_FreeData); return pl; }
GWEN_PLUGIN *GWEN_Crypt_Token_Plugin_new(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPT_TOKEN_DEVICE devType, const char *typeName, const char *fileName) { GWEN_PLUGIN *pl; GWEN_CRYPT_TOKEN_PLUGIN *xpl; pl=GWEN_Plugin_new(mgr, typeName, fileName); GWEN_NEW_OBJECT(GWEN_CRYPT_TOKEN_PLUGIN, xpl); GWEN_INHERIT_SETDATA(GWEN_PLUGIN, GWEN_CRYPT_TOKEN_PLUGIN, pl, xpl, GWEN_Crypt_Token_Plugin_FreeData); xpl->devType=devType; return pl; }