#ifndef AWXS_M #define AWXS_M 1 #define AWXS_ADAPTER(x) ((xsAdapter *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_ADAPTEREVENTTYPE(x) ((xsAdapterEventType *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_ADAPTERLOG(x) ((xsAdapterLog *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_ADAPTERLICENSE(x) ((xsAdapterLicense *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_ADAPTERREPLIES(x) ((xsAdapterReplies *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_ADAPTERUTIL(x) ((xsAdapterUtil *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKEREVENT(x) ((xsBrokerEvent *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERCLIENT(x) ((xsBrokerClient *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERCONNECTIONDESC(x) ((xsBrokerConnectionDescriptor *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERDATE(x) ((BrokerDate *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERERROR(x) ((xsBrokerError *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERFILTER(x) ((xsBrokerFilter *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERFORMAT(x) ((xsBrokerFormat *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERTYPEDEF(x) ((xsBrokerTypeDef *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERTYPEDEFCACHE(x) ((xsBrokerTypeDefCache *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERSSLCERTIFICATE(x) ((BrokerSSLCertificate *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_BROKERSUBSCRIPTION(x) ((BrokerSubscription *)SvIV((SV*)SvRV( ST(x) ))) #define AWXS_CLEARERROR { gErr = self->err = AW_NO_ERROR; if (gErrMsg != NULL) Safefree(gErrMsg); gErrMsg = self->errMsg = NULL; gErrCode = 0x0; sv_setpv ( perl_get_sv("@",0), "" ); } #define AWXS_HANDLE_CLEARERROR(x) {\ if ( ix && ix != x ) {\ xsAdapter * self = AWXS_ADAPTER(0);\ AWXS_CLEARERROR\ } else {\ xsAdapterUtil * self = AWXS_ADAPTERUTIL(0);\ AWXS_CLEARERROR\ }\ sv_setpv ( perl_get_sv("@",0), "" );\ } #define AWXS_CHECKSETERROR { if ( gErr != AW_NO_ERROR ) sv_setpv ( perl_get_sv("@",0), awErrorToCompleteString ( gErr ) ); } #define AWXS_CHECKSETERROR_RETURN { if ( gErr != AW_NO_ERROR ) { sv_setpv ( perl_get_sv("@",0), awErrorToCompleteString ( gErr ) ); XSRETURN_UNDEF; } } #endif /* AWXS_M */