Aw
view release on metacpan or search on metacpan
xs/Aw/Admin.xs view on Meta::CPAN
sv = sv_newmortal();
#ifdef PERL58_COMPAT
XS_pack_charPtrPtr ( sv, infos[i].accessible_territories, infos[i].num_accessible_territories );
#else
XS_pack_charPtrPtr ( sv, infos[i].accessible_territories );
#endif /* PERL58_COMPAT */
hv_store ( hv, "accessible_territories", 22, sv, 0 );
av_push( RETVAL, sv_bless( newRV_noinc((SV*)hv), gv_stashpv("Aw::Info",1) ) );
}
}
OUTPUT:
RETVAL
CLEANUP:
free ( infos ); // free policy is not detailed in the C Platform Vol. 2 p 9-52
// nor in awadmin.h, assume it follows awGetBrokersInTerritory
// check this, doh! we don't have any gateways...
SvREFCNT_dec( RETVAL );
awaBool
setTerritoryGatewaySharedEventTypes ( self, territory_name, av )
Aw::Admin::Client self
char * territory_name
AV * av
PREINIT:
int i, n;
HV * hv;
SV ** sv;
BrokerSharedEventTypeInfo * infos;
CODE:
AWXS_CLEARERROR
n = av_len ( av ) + 1;
infos = (BrokerSharedEventTypeInfo *)safemalloc ( sizeof(BrokerSharedEventTypeInfo)*n );
for ( i = 0; i < n; i++ ) {
sv = av_fetch ( av, i, 0 );
hv = (HV*)SvRV(*sv);
sv = hv_fetch ( hv, "event_type_name", 15, 0 );
infos[i].event_type_name = (char *)SvPV(*sv, PL_na);
sv = hv_fetch ( hv, "subscribe_filter", 16, 0 );
infos[i].subscribe_filter = (char *)SvPV(*sv, PL_na);
sv = hv_fetch ( hv, "accept_publish", 14, 0 );
infos[i].accept_publish = (BrokerBoolean)SvIV(*sv);
sv = hv_fetch ( hv, "accept_subscribe", 16, 0 );
infos[i].accept_subscribe = (BrokerBoolean)SvIV(*sv);
sv = hv_fetch ( hv, "is_synchronized", 15, 0 );
infos[i].is_synchronized = (BrokerBoolean)SvIV(*sv);
}
AWXS_CHECKSETERROR
gErr = self->err = awSetTerritoryGatewaySharedEventTypes ( self->client, territory_name, n, infos );
RETVAL = ( self->err == AW_NO_ERROR ) ? awaFalse : awaTrue;
OUTPUT:
RETVAL
CLEANUP:
Safefree ( infos );
Aw::Info
_getClientInfoById ( self, client_id )
Aw::Admin::Client self
char * client_id
PREINIT:
int n;
BrokerClientInfo * info;
char blString[24];
SV * sv;
char CLASS[] = "Aw::Info";
CODE:
AWXS_CLEARERROR
gErr = self->err = awGetClientInfoById ( self->client, client_id, &info );
AWXS_CHECKSETERROR_RETURN
RETVAL = newHV();
hv_store ( RETVAL, "_type", 5, newSVpv ( "BrokerClientInfo", 16 ), 0 );
sv = NEWSV ( 0, 0 );
sv_setref_pv( sv, Nullch, (void*)info );
hv_store ( RETVAL, "_info", 5, sv, 0 );
hv_store ( RETVAL, "client_id", 9, newSVpv ( (char *)info->client_id, 0 ), 0 );
hv_store ( RETVAL, "client_group", 12, newSVpv ( (char *)info->client_group, 0 ), 0 );
hv_store ( RETVAL, "app_name", 8, newSVpv ( (char *)info->app_name, 0 ), 0 );
hv_store ( RETVAL, "shared_event_ordering", 21, newSVpv ( (char *)info->shared_event_ordering, 0 ), 0 );
if ( info->user_name )
hv_store ( RETVAL, "user_name", 9, newSVpv ( (char *)info->user_name, 0 ), 0 );
if ( info->authenticator_name )
hv_store ( RETVAL, "authenticator_name", 18, newSVpv ( (char *)info->authenticator_name, 0 ), 0 );
hv_store ( RETVAL, "can_share_state", 15, newSViv ( (awaBool)info->can_share_state ), 0 );
hv_store ( RETVAL, "state_share_limit", 17, newSViv ( (int)info->state_share_limit ), 0 );
xs/Aw/Admin.xs view on Meta::CPAN
hv_store ( hv, "is_system_defined", 17, newSViv ( (awaBool)infos[i]->is_system_defined ), 0 );
hv_store ( hv, "access_label_required", 21, newSViv ( (awaBool)infos[i]->access_label_required ), 0 );
av_push( RETVAL, sv_bless( newRV_noinc((SV*)hv), gv_stashpv("Aw::Info",1) ) );
}
}
OUTPUT:
RETVAL
CLEANUP:
free ( infos );
XS_release_charPtrPtr ( client_group_names );
SvREFCNT_dec( RETVAL );
AV *
getTerritoryGatewaySharedEventTypesRef ( self, territory_name )
Aw::Admin::Client self
char * territory_name
PREINIT:
int n;
BrokerSharedEventTypeInfo * infos;
CODE:
AWXS_CLEARERROR
gErr = self->err = awGetTerritoryGatewaySharedEventTypes( self->client, territory_name, &n, &infos);
AWXS_CHECKSETERROR_RETURN
{
HV * hv;
SV * sv;
int i;
BrokerSharedEventTypeInfo * info;
RETVAL = newAV();
for ( i = 0; i < n; i++ ) {
hv = newHV();
info = (BrokerSharedEventTypeInfo *)malloc ( sizeof(BrokerSharedEventTypeInfo) );
memcpy ( info, &infos[i], sizeof(BrokerSharedEventTypeInfo) );
hv_store ( hv, "_type", 5, newSVpv ( "BrokerSharedEventTypeInfo", 25 ), 0 );
sv = NEWSV ( 0, 0 );
sv_setref_pv( sv, Nullch, (void*)info );
hv_store ( hv, "_info", 5, sv, 0 );
hv_store ( hv, "event_type_name", 15, newSVpv ( (char *)infos[i].event_type_name, 0 ), 0 );
hv_store ( hv, "accept_publish", 14, newSViv ( (int)infos[i].accept_publish ), 0 );
hv_store ( hv, "accept_subscribe", 16, newSViv ( (int)infos[i].accept_subscribe ), 0 );
hv_store ( hv, "is_synchronized", 15, newSViv ( (int)infos[i].is_synchronized ), 0 );
hv_store ( hv, "subscribe_filter", 16, newSVpv ( (char *)infos[i].subscribe_filter, 0 ), 0 );
av_push( RETVAL, sv_bless( newRV_noinc((SV*)hv), gv_stashpv("Aw::Info",1) ) );
}
}
OUTPUT:
RETVAL
CLEANUP:
free ( infos );
SvREFCNT_dec( RETVAL );
HV *
acquireChangeLock ( self )
Aw::Admin::Client self
PREINIT:
SV *sv;
BrokerChangeLockInfo * info;
CODE:
AWXS_CLEARERROR
gErr = self->err = awAcquireBrokerChangeLock ( self->client, &info );
AWXS_CHECKSETERROR_RETURN
RETVAL = newHV();
hv_store ( RETVAL, "acquired", 8, newSViv ( (awaBool)info->acquired ), 0 );
hv_store ( RETVAL, "client_id", 9, newSVpv ( (char*)info->client_id, 0 ), 0 );
hv_store ( RETVAL, "session_id", 10, newSViv ( (int)info->session_id ), 0 );
OUTPUT:
RETVAL
CLEANUP:
free ( info );
SvREFCNT_dec( RETVAL );
AV *
getActivityTraces ( self, seqn, msecs )
Aw::Admin::Client self
int seqn
int msecs
PREINIT:
int n;
BrokerTraceEvent * traces;
char blString[24];
CODE:
AWXS_CLEARERROR
( run in 1.063 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )