mozilla

Comparar revisiones

Un vistazo de XPCOM

Change Revisions

Revisión 276202:

Revisión 276202 de Maharba el

Revisión 276203:

Revisión 276203 de Maharba el

Título:
Un vistazo de XPCOM
Un vistazo de XPCOM
Enlace amigable (slug):
Creación_de_Componentes_XPCOM/Un_vistazo_de_XPCOM
Creación_de_Componentes_XPCOM/Un_vistazo_de_XPCOM
Etiquetas:
XPCOM, Todas_las_Categorías
XPCOM, Todas_las_Categorías
Contenido:

Revisión 276202
Revisión 276203
t465      Una manera fácil y sencilla de definir una interfaz es - ent465      Una manera fácil y potente de definir una interfaz es - en 
> efecto, un requerimiento para definir interfaces en un ambiente >efecto, un requerimiento para definir interfaces en un ambiente m
>multiplataforma, independiente del lenguaje-es usar un <i>lenguaj>ultiplataforma, independiente del lenguaje- es usar un <i>lenguaj
>e de definición de interfaces</i> (IDL). XPCOM usa su propia vari>e de definición de interfaces</i> (IDL). XPCOM usa su propia vari
>ante del Lenguaje de Definición de Interfaces (IDL) de CORBA OMG >ante del Lenguaje de Definición de Interfaces (IDL) de CORBA OMG 
>llamado XPIDL, que te permite especificar métodos, atributos y co>llamado XPIDL, que te permite especificar métodos, atributos y co
>ntantes de una interfaz dada y también definir herencia de interf>ntantes de una interfaz dada y también definir herencia de interf
>az.>az.
466    </p>
467    <p>466    </p>
468      <br>
469      There are some drawbacks to defining your interface using X
>PIDL. There is no support for multiple inheritance, for one thing 
>. If you define a new interface, it cannot derive from more than  
>one interface. Another limitation of interfaces in XPIDL is that  
>method names must be unique. You can not have two methods with th 
>e same name that take different parameters, and the workaround -  
>having multiple function names - isn't pretty: 
470    </p>467    <p>
468      Hay algunas desventajas de definir tu interfaz usando XPIDL
 >. No hay soporte para herencia múltiple de una sola cosa; si defi
 >nes una interfaz nueva, no puede derivar de más de una interfaz; 
 >otra limitante de las intertfaces en XPIDL es que los nombres de 
 >los métodos deben ser únicos, no puedes tener dos métodos con el 
 >mismo nombre aunque tomen distintos parámetros, es decir no se pe
 >rmite la sobrecarga de funciones, y el trabajo que implica tener 
 >múltiples nombres de funciones no es agradable:
469    </p>
470    <pre>
471void AlgoConInt(in int x);
472void AlgoConString(in string x);
473void AlgoConURI(in nsIURI x);
474</pre>
471    <pre>475    <p>
472void FooWithInt(in int x);476      De cualquier modo, estos pequeños inconvenientes palidecen 
 >en comparación con la funcionalidad ganada usando XPIDL. XPIDL te
 > permite generar <i>bibliotecas de tipos</i>, o typelibs, que son
 > archivos con la extensión <i>.xpt</i>. La biblioteca de tipo es 
 >una representación binaria de una interfaz o interfaces, permite 
 >el control programático y acceso de la interfaz, lo que es crucia
 >l para las interfaces que no son usadas en el mundo de C++. Cuand
 >o los componentes son accesados desde otros lenguajes,como puede 
 >hacerse en XPCOM, usan la biblioteca binaria de tipo para accesar
 > a la interfaz, ver qué métodos soporta y llamar esos métodos. Es
 >te aspecto de XPCOM se llama <i>XPConnect</i>. XPConnect es la ca
 >pa de XPCOm que permite el acceso a los componentes de XPCOM desd
 >e lenguajes como JavaScript.
473void FooWithString(in string x);477    </p>
474void FooWithURI(in nsIURI x);
475</pre>

Volver al historial