TYPEMAP
#------
DBX * O_OBJECT
DBX_EMAIL * EM_OBJECT
DBX_FOLDER * FO_OBJECT
void * GEN_OBJECT
OUTPUT
#-----
O_OBJECT
sv_setref_pv( $arg, CLASS, (void*)$var );
EM_OBJECT
sv_setref_pv( $arg, "Mail::Transport::Dbx::Email", (void*)$var );
GEN_OBJECT
if (((DBX*)SvIV((SV*)SvRV(self)))->type == DBX_TYPE_EMAIL) {
DBX_EMAIL *ret = (DBX_EMAIL*) safemalloc(sizeof(DBX_EMAIL));
ret->dbx = self;
ret->email = (DBXEMAIL*) ret_type;
ret->header = NULL;
ret->body = NULL;
RETVAL = (void*)ret;
sv_setref_pv( $arg, "Mail::Transport::Dbx::Email", (void*)$var );
}
else if (((DBX*)SvIV((SV*)SvRV(self)))->type == DBX_TYPE_FOLDER) {
DBX_FOLDER *ret = (DBX_FOLDER*) safemalloc(sizeof(DBX_FOLDER));
ret->dbx = self;
ret->folder = (DBXFOLDER*) ret_type;
RETVAL = (void*)ret;
sv_setref_pv( $arg, "Mail::Transport::Dbx::Folder", (void*)$var );
}
INPUT
#----
O_OBJECT
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
$var = ($type)SvIV((SV*)SvRV( $arg ));
else{
warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
XSRETURN_UNDEF;
}
EM_OBJECT
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
$var = ($type)SvIV((SV*)SvRV( $arg ));
else{
warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
XSRETURN_UNDEF;
}
FO_OBJECT
if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
$var = ($type)SvIV((SV*)SvRV( $arg ));
else{
warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
XSRETURN_UNDEF;
}