Aw

 view release on metacpan or  search on metacpan

xs/Aw.xs  view on Meta::CPAN

		AWXS_CHECKSETERROR_RETURN

		RETVAL = longlong_from_string ( awBrokerLongToString( blValue, blString ) );

	OUTPUT:
	RETVAL



Aw::ConnectionDescriptor
getConnectionDescriptor ( self )
	Aw::Client self

	PREINIT:
		char CLASS[] = "Aw::ConnectionDescriptor";

	CODE:
		AWXS_CLEARERROR
		
		RETVAL = (xsBrokerConnectionDescriptor *)safemalloc ( sizeof(xsBrokerConnectionDescriptor) );
		if ( RETVAL == NULL ) {
			self->errMsg = setErrMsg ( &gErrMsg, 1, "unable to malloc new connection descriptor copy" );
#ifdef AWXS_WARNS
			if ( self->Warn )
				warn ( self->errMsg );
#endif /* AWXS_WARNS */
			XSRETURN_UNDEF;
		}
		/* initialize the error cleanly */
		RETVAL->err    = AW_NO_ERROR;
		RETVAL->errMsg = NULL;
		RETVAL->Warn   = gWarn;

		gErr = self->err = awGetClientConnectionDescriptor ( self->client, &RETVAL->desc );

		AWXS_CHECKSETERROR_RETURN

	OUTPUT:
	RETVAL



int
getDefaultBrokerPort ( self, ... )
	Aw::Client self

	ALIAS:
		Aw::Client::setDefaultClientTimeOut = 1
		Aw::Client::makeSubId               = 2
		Aw::Client::makeTag                 = 3

	CODE:
		AWXS_CLEARERROR
		
		RETVAL
		= (ix>=2)
		  ? (ix-2)
		    ? awMakeTag ( self->client )
		    : awMakeSubId ( self->client )
		  : (ix)
		    ? awSetDefaultClientTimeout ( (int)SvIV( ST(1) ) )
		    : awGetDefaultBrokerPort ()
		;

	OUTPUT:
	RETVAL



AV *
getSubscriptionsRef ( self )
	Aw::Client self

	PREINIT:
		int n;
		BrokerSubscription * subs;

	CODE:
		AWXS_CLEARERROR
		
		gErr = self->err = awGetSubscriptions ( self->client, &n, &subs );

		AWXS_CHECKSETERROR_RETURN

		{		/* now convert subs into an AV */
		SV *sv;
		int i;
		BrokerSubscription * sub;

			RETVAL = newAV();
			for ( i = 0; i<n; i++ ) {
				sv = sv_newmortal();
				sub = (BrokerSubscription *) safemalloc ( sizeof(BrokerSubscription) );
				sub->sub_id = subs[i].sub_id;
				sub->event_type_name = strdup ( subs[i].event_type_name );
				sub->filter = strdup ( subs[i].filter );
				sv_setref_pv( sv, "Aw::Subscription", sub );
				SvREFCNT_inc(sv);
				av_push( RETVAL, sv );
			}
		}

	OUTPUT:
		RETVAL
	
	CLEANUP:
		SvREFCNT_dec ( RETVAL );
		free ( subs );



Aw::Event
getEvent ( self, ... )
	Aw::Client self

	ALIAS:
		Aw::Client::getClientInfoset = 1

	PREINIT:
		char CLASS[] = "Aw::Event";



( run in 1.800 second using v1.01-cache-2.11-cpan-ceb78f64989 )