Hola, <br><br><div>la forma de leer y escribir los settings desde ncl es mediante un objeto media de tipo application/x-ginga-settings. </div><div>Entonces si se quiere definir una variable se puede realizar de la siguiente manera:</div>

<div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre"></span>&lt;media id=&quot;misVariables&quot; type=&quot;application/x-ginga-settings&quot;&gt;</div>

<div><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;property name=&quot;nombreDeVariable&quot; value=&quot;unValor&quot;/&gt;</div><div>&lt;/media&gt;</div></div><div><br></div><div>Por otro lado hay variables de sistema o usuario, por ejemplo la edad del usuario que está utilizando el STB.  Un ejemplo de como leer esta variable podría ser en la definición de una regla:</div>

<div><br></div><div><div>&lt;ruleBase&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&lt;rule id=&quot;esMayor&quot; var=&quot;user.age&quot; comparator=&quot;gt&quot; value=&quot;18&quot; /&gt;</div>

<div>&lt;/ruleBase&gt;<span class="Apple-tab-span" style="white-space:pre">        </span></div></div><div><span class="Apple-tab-span" style="white-space:pre"><br></span></div><div><span class="Apple-tab-span" style="white-space:pre">y</span> esa regla se podría utilizar en un switch para decidir si mostrar o no un contenido.</div>

<div><br></div><div>Ahora bien, quien debe mantener estas variables a mi entender es el firmware del STB, dado que el mismo es el que tiene la información  sobre el usuario, control parental, OS, etc.</div><div><br></div>

<div>slds!</div><div><br></div><div><div class="gmail_quote">2010/12/23 Ezequiel García <span dir="ltr">&lt;<a href="mailto:elezegarcia@yahoo.com.ar">elezegarcia@yahoo.com.ar</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit">Hola,<br><br>Quisiera saber si alguien tiene idea de como se pueden leer y escribir los &quot;media&quot; tipo &quot;property&quot; en la implementación Ginga.ar 1.1.0. <br>

En el documento &quot;NORMA BRASILEÑA ABNT NBR 15606-2&quot; (que se puede bajar, yo lo encontré por Google) se especifica lo siguiente:<br><br><span style="font-style:italic">10.3.4 Módulo settings</span><br style="font-style:italic">

<span style="font-style:italic">Exporta la tabla settings con variables definidas por el autor del documento NCL y variables de ambiente</span><br style="font-style:italic"><span style="font-style:italic">reservadas, contenidas en el nudo application/x-ginga-settings.</span><br style="font-style:italic">

<span style="font-style:italic">No se permite atribuir valores a los campos representando variables en los nudos settings. Un error debe ser</span><br style="font-style:italic"><span style="font-style:italic">generado en el caso que ocurra un intento de atribución. Las propiedades de un nudo settings solo pueden ser</span><br style="font-style:italic">

<span style="font-style:italic">modificadas por medio de eslabones NCL.</span><br style="font-style:italic"><span style="font-style:italic">La tabla settings particiona sus grupos en varias subtablas, correspondiendo a cada grupo del nudo application/x-</span><br style="font-style:italic">

<span style="font-style:italic">ginga-settings. Por ejemplo, en un objeto NCLua, la variable del nudo settings “system.CPU” es referida como</span><br style="font-style:italic"><span style="font-style:italic">settings.system.CPU.</span><br style="font-style:italic">

<span style="font-style:italic">Ejemplos de uso:</span><br style="font-style:italic"><span style="font-style:italic">lang = settings.system.language</span><br style="font-style:italic"><span style="font-style:italic">age = settings.user.age</span><br style="font-style:italic">

<span style="font-style:italic">val = settings.default.selBorderColor</span><br style="font-style:italic"><span style="font-style:italic">settings.service.myVar = 10</span><br style="font-style:italic"><span style="font-style:italic">settings.user.age = 18 --&gt; ERRO!</span><br>

 <br>Sin embargo, en los programas de ejemplo que he intentado hasta ahora, la variable settings es siempre &quot;nil&quot;. Lo mismo vale para el módulo &quot;persistent&quot;. <br><br>Quisiera saber si alguien tiene idea como es la sintaxis que permite acceder a estas variables desde NCL y/o Lua. Parecería que quizás las mismas no están implementadas en Ginga.ar 1.1.0, pero un vistazo rápido a los fuentes demuestran lo contrario. <br>

<br>De hecho si hacemos un grep de &quot;SYSTEM_OPERATING_SYSTEM&quot; obtenemos:<br><br>$ grep -r &quot;SYSTEM_OPERATING_SYSTEM&quot; .<br><br>(Entre otras
 cosas)<br>./gingancl/src/adaptation/context/.svn/text-base/PresentationContext.cpp.svn-base:        (*contextTable)[SYSTEM_OPERATING_SYSTEM] = si-&gt;getOperatingSystem();<br><br>Es decir que la variable SYSTEM_OPERATING_SYSTEM (que se mapea al campo system.operatingSystem del módulo settings) obtiene su valor del método getOperatingSystem(). Veamos pues que tiene ese método:<br>

<br>En el archivo &quot;gingacc-contextmanager/src/system/SystemInfo.cpp&quot; encontramos:<br><br>    string SystemInfo::getOperatingSystem() {<br>        return sn.sysname;<br>    }<br><br>Y a su vez, esta variable se inicializa con la función uname() (ver man 3 uname). Como verán las propiedades están implementadas. Ahora bien, ¿cómo se acceden? <br>

<br>Saludos,<br>Ezequiel.<br><br><br><br></td></tr></tbody></table><br>




       <br>_______________________________________________<br>
Ginga-argentina mailing list<br>
<a href="mailto:Ginga-argentina@lists.ourproject.org">Ginga-argentina@lists.ourproject.org</a><br>
<a href="https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina" target="_blank">https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Alejandro Alvarez<br>
</div>