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><media id="misVariables" type="application/x-ginga-settings"></div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span><property name="nombreDeVariable" value="unValor"/></div><div></media></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><ruleBase></div><div><span class="Apple-tab-span" style="white-space:pre">        </span><rule id="esMayor" var="user.age" comparator="gt" value="18" /></div>
<div></ruleBase><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"><<a href="mailto:elezegarcia@yahoo.com.ar">elezegarcia@yahoo.com.ar</a>></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 "media" tipo "property" en la implementación Ginga.ar 1.1.0. <br>
En el documento "NORMA BRASILEÑA ABNT NBR 15606-2" (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 --> ERRO!</span><br>
<br>Sin embargo, en los programas de ejemplo que he intentado hasta ahora, la variable settings es siempre "nil". Lo mismo vale para el módulo "persistent". <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 "SYSTEM_OPERATING_SYSTEM" obtenemos:<br><br>$ grep -r "SYSTEM_OPERATING_SYSTEM" .<br><br>(Entre otras
cosas)<br>./gingancl/src/adaptation/context/.svn/text-base/PresentationContext.cpp.svn-base: (*contextTable)[SYSTEM_OPERATING_SYSTEM] = si->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 "gingacc-contextmanager/src/system/SystemInfo.cpp" 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>