[Ginga-argentina] Consulta NLC/LUA/HTML (Interactuando con Web Service)

Santiago Lombardi santiago.lombardi at gmail.com
Fri Apr 27 14:58:16 CEST 2012


Nico, la verdad que aun no estoy investigando el tema del canal de retorno.
En mi opinion nos falta mucho tiempo (años) para poder pensar en una
aplicacion que lo use.
Estamos enfocando nuestros esfuerzos en comprender lo mejor posible las
posibilidades sin canal de retorno.

saludos.

Santiago

On Fri, Apr 27, 2012 at 9:49 AM, Nicolas Ignacio Roldan <
niko_cbes at hotmail.com> wrote:

>
>  *Buenas a todos!*
> ( esta frio no? )[image: Sonrisa]
>
> Bueno, es esta oportunidad he comenzado a probar como funciona HTML con
> Ginga
> Mi objetivo es lograr interectuar a traves de Ginga con un web service.
>
> La aplicacion funcionaria asi:
> Por medio de los botones '1'/'2'/'3' del control remoto votaria algunas de
> las 3 opciones y reflejaria la cantidad de votos de cada opcion a traves de
> una pagina html.
> Si presiono alguna de las 3 opciones (1 ò 2 ò 3), paso ese voto por medio
> del 'event.post'  al NCL ( esto hace que se incremente en 1 el valor que
> esta en una tabla del webService).
>
> Algo asi:
>
> if     evt.key == '1' then
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=A'})
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=A'})
> elseif     evt.key == '2' then
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=B'})
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=B'})
> elseif     evt.key == '2' then
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=C'})
>      event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=C'})
> end
>
> *Hasta ahi funciona perfecto*.Si presiono* solo una vez* cada opcion se
> incrementa en 1 el voto del html. *Mi problema esta en que si quiero
> volver a votar la misma opcion ya no me lo toma. *
>
> Lo que hice.
> Despues de votar una opcion; volvia a llamar al "event.post" pasandole por
> parametros la direccion original del webService para que actualizara los
> valores obtenidos y poder seguir votando... pero tampoco funciono.... ó lo
> mas probable es que no lo sepa hacer.
> Hacia:
> event.post('out',{class = "ncl", type = "attribution", name = 'srcNuevo',
> action='start', value='http://X.X.X.X/Ginga/Votar'})
> event.post('out',{class = "ncl", type = "attribution", name = 'srcNuevo',
> action='stop', value='http://X.X.X.X/Ginga/Votar'})
>
>
>
> Este es el codigo:
>
> -------------------------------------------*main.ncl*
> --------------------------------------------------------------
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <ncl id="main" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
>
>     <head>
>         <regionBase>
>              <region id="rgWebService" width="100%" height="30%"
> top="0%"  zIndex="1"/>
>              <region id="rgLua" width="0%" height="0%"  zIndex="1" />
>              <region id="idBotonVote" width="20%" height="20%"
> bottom="10%" left="10%" zIndex="1"/>
>         </regionBase>
>
>         <descriptorBase>
>             <descriptor id="descWebService" region="rgWebService" />
>             <descriptor id="descLua" region="rgLua" focusIndex="
> appFocusLua"/>
>             <descriptor id="descBotonVote" region="idBotonVote"/>
>         </descriptorBase>
>
>         <connectorBase>
>             <importBase documentURI="metodos.ncl" alias="metodo"/>
>         </connectorBase>
>     </head>
>
>
>     <body>
>
>          <port id="pVote" component="imgBotonVote"/>
>
>
>         <media id="mediaWebService"  type="text/html" src="
> http://X.X.X.X/Ginga/Votar"  descriptor="descWebService">
>             <property name="src"/>
>         </media>
>
>         <media id="mediaLua" src="luaHtml.lua"  descriptor="descLua" >
>             <property name="bounds"/>
>             <property name="srcNuevo"/>
>         </media>
>
>         <media id="imgBotonVote" src="Imagen/Botones/voto.png"
> descriptor="descBotonVote"/>
>
>         <media id="focoLua" type="application/x-ginga-settings">
>             <property name="service.currentKeyMaster" value="appFocusLua
> "/>
>         </media>
>
>
>
>         <link xconnector="*metodo#**onBeginEndMenu*">
>             <bind role="onSelection" component="imgBotonVote">
>                 <bindParam name="oSetTecla" value="ENTER"/>
>             </bind>
>             <bind role="abort" component="imgBotonVote"/>
>
>             <bind role="set" component="mediaLua" interface="bounds">
>                 <bindParam name="oValor" value="0%,30%,100%,50%"/>
>             </bind>
>             <bind role="start" component="mediaLua"/>
>             <bind role="start" component="focoLua" />
>
>             <bind role="start" component="mediaWebService"/>
>         </link>
>
>
>         <link xconnector="*metodo#onEndAttributionSet*">
>             <bind component="mediaLua" interface="srcNuevo"
> role="onEndAttribution"/>
>             <bind component="mediaLua" interface="srcNuevo"
> role="getValue"/>
>                 <linkParam name="valor" value="$getValue"/>
>             <bind role="set" component="mediaWebService" interface="src"/>
>         </link>
>
>
>     </body>
> </ncl>
>
> -------------------------------------------------------------------------------------------------------------------------------------
>
>
> ---------------------* metodos.ncl*
> ------------------------------------------------------------------------------------------------
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!-- Generated by NCL Eclipse -->
> <ncl id="metodos" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
>     <head>
>         <connectorBase>
>
>                 <causalConnector id="*onBeginEndMenu*">
>                     <connectorParam name="oSetTecla"/>
>                     <connectorParam name="oValor"/>
>                     <simpleCondition role="onSelection" key="$oSetTecla"/>
>                     <compoundAction operator="seq">
>                         <simpleAction role="start" qualifier="seq"
> max="unbounded"/>
>                         <simpleAction role="abort" qualifier="seq"
> max="unbounded"/>
>                         <simpleAction role="set" qualifier="seq"
> max="unbounded" value="$oValor"/>
>                     </compoundAction>
>                 </causalConnector>
>
>
>            <causalConnector id="*onEndAttributionSet*">
>                 <connectorParam name="valor" />
>                 <simpleCondition role="onEndAttribution"/>
>                 <simpleAction role="set" value="$valor" />
>             </causalConnector>
>
>
>         </connectorBase>
>
>     </head>
>
>     <body>
>
>     </body>
> </ncl>
>
>
> --------------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
> --------------------------------*-luaHtml.lua-*
> ----------------------------------------------------------------------------------------
>
>
> function manejadorEventos(evt)
>
>
>     if evt.class=='key' and evt.type=='press' then
>
>
>       if     evt.key == '1' then
>
>            event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=A'})
>            event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=A'})
>
>       elseif     evt.key == '2' then
>
>             event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=B'})
>             event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=B'})
>
>       elseif    evt.key == '3' then
>
>          event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar/?opcion=C'})
>          event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar/?opcion=C'})
>
>        end
> *       *refrescarHTML()
>  end
>
> end
>
>
>
> function refrescarHTML()
>
>     event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='start', value='http://X.X.X.X/Ginga/Votar'})
>     event.post('out',{class = "ncl", type = "attribution", name =
> 'srcNuevo', action='stop', value='http://X.X.X.X/Ginga/Votar'})
>
> end
>
>
> event.register(manejadorEventos)
>
>
> --------------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
>
> Esa era una opcion que intente y no paso nada.
>
>
>
> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> La otra opcion  que intente es por medio de NCL, modificando
> <causalConnector id="*onEndAttributionSet*"> ( en el archivo * metodos.ncl
> *) y agregandole un   <simpleAction role="start" />, para llamar de nuevo
> al "*mediaWebService*"cuando invoco al <link xconnector="*metodo#
> onEndAttributionSet*">( en el archivo* main.ncl*)... pero exploto con esa
> opcion... me salia algo como :
> " Memory leak by 136 bytes
>
> List of blocks: 0x93d01e0:25 @ cookies.c:179, 0x93d01a8:13 @
> cookies.c:129, 0x93cec88:2 @ http.c:79, 0x93d0170:13 @ cookies.c:96,
> 0x93bb6d8:25 @ cookies.c:95, 0x93d0138:18 @ cookies.c:94, 0x93d00e8:40 @
> cookies.c:91
>
> Forcing core dump
>
> "
>
>
> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>
>
> Bueno, nose que hacer ya. [image: Confundido]
> Si a alguien le funciono o intento algo parecido, me daria una gran mano
> Saludos a todos!
> *nico*
>
>
> __________________________________________Lista de correo
> Ginga-argentina at lists.ourproject.org cambiar suscripción:
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentinaSitio web:
> http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
>
> __________________________________________Lista de correo
> Ginga-argentina at lists.ourproject.org
> cambiar suscripción:
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
> Sitio web: http://comunidad.ginga.org.ar
> Wiki: http://wiki.ginga.org.ar
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/ginga-argentina/attachments/20120427/7bc982f3/attachment-0001.htm 


More information about the Ginga-argentina mailing list