diff options
Diffstat (limited to 'tde-i18n-es/docs/tdevelop/kdearch')
-rw-r--r-- | tde-i18n-es/docs/tdevelop/kdearch/index.docbook | 196 |
1 files changed, 98 insertions, 98 deletions
diff --git a/tde-i18n-es/docs/tdevelop/kdearch/index.docbook b/tde-i18n-es/docs/tdevelop/kdearch/index.docbook index c4b1116a9f7..e91f042bc0e 100644 --- a/tde-i18n-es/docs/tdevelop/kdearch/index.docbook +++ b/tde-i18n-es/docs/tdevelop/kdearch/index.docbook @@ -25,7 +25,7 @@ > <affiliation ><address ><email ->bernd@tdevelop.org</email +>bernd@kdevelop.org</email ></address ></affiliation> </author> @@ -97,13 +97,13 @@ <varlistentry> <term -><ulink url="kdeapi:kio/index.html" ->kio</ulink +><ulink url="kdeapi:tdeio/index.html" +>tdeio</ulink ></term> <listitem ><para >La biblioteca <literal ->kio</literal +>tdeio</literal > contiene facilidades para la E/S transparente y asíncrona de red, así como acceso al manejo de tipos MIME. También proporciona el diálogo de archivos de KDE y sus clases auxiliares. </para ></listitem> </varlistentry> @@ -123,14 +123,14 @@ <varlistentry> <term -><ulink url="kdeapi:khtml/index.html" ->khtml</ulink +><ulink url="kdeapi:tdehtml/index.html" +>tdehtml</ulink ></term> <listitem ><para >La biblioteca <literal ->khtml</literal -> contiene el módulo KHTML, un widget de navegación HTML, el API y un procesador de DOM, incluyendo interfaces para Java y JavaScript. </para +>tdehtml</literal +> contiene el módulo TDEHTML, un widget de navegación HTML, el API y un procesador de DOM, incluyendo interfaces para Java y JavaScript. </para ></listitem> </varlistentry> @@ -401,8 +401,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KZoneAllocator" ->KZoneAllocator</ulink +><ulink url="kdeapi:tdecore/TDEZoneAllocator" +>TDEZoneAllocator</ulink ></title> <para >Localización eficiente de memoria para grandes grupos de pequeños objetos. </para> @@ -430,8 +430,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KAccel" ->KAccel</ulink +><ulink url="kdeapi:tdecore/TDEAccel" +>TDEAccel</ulink ></title> <para >Collección de atajos de teclado. </para> @@ -441,8 +441,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KStdAccel" ->KStdAccel</ulink +><ulink url="kdeapi:tdecore/TDEStdAccel" +>TDEStdAccel</ulink ></title> <para >Acceso sencillo a los atajos de teclado más comunes. </para> @@ -470,8 +470,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KIconLoader" ->KIconLoader</ulink +><ulink url="kdeapi:tdecore/TDEIconLoader" +>TDEIconLoader</ulink ></title> <para >Carga iconos de una forma consistente con los temas de escritorio. </para> @@ -481,11 +481,11 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KIconTheme" ->KIconTheme</ulink +><ulink url="kdeapi:tdecore/TDEIconTheme" +>TDEIconTheme</ulink ></title> <para ->Clases de ayuda para KIconLoader. </para> +>Clases de ayuda para TDEIconLoader. </para> </formalpara ></listitem> @@ -576,8 +576,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdecore/KCompletion" ->KCompletion</ulink +><ulink url="kdeapi:tdecore/TDECompletion" +>TDECompletion</ulink ></title> <para >Autocompletado de cadenas genérico. </para> @@ -587,7 +587,7 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KURLCompletion" +><ulink url="kdeapi:tdeio/KURLCompletion" >KURLCompletion</ulink ></title> <para @@ -598,7 +598,7 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KShellCompletion" +><ulink url="kdeapi:tdeio/KShellCompletion" >KShellCompletion</ulink ></title> <para @@ -616,8 +616,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KListView" ->KListView</ulink +><ulink url="kdeapi:tdeui/TDEListView" +>TDEListView</ulink ></title> <para >Una variante de <classname @@ -629,8 +629,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KListView" ->KListBox</ulink +><ulink url="kdeapi:tdeui/TDEListView" +>TDEListBox</ulink ></title> <para >Una variante de <classname @@ -642,8 +642,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KListView" ->KIconView</ulink +><ulink url="kdeapi:tdeui/TDEListView" +>TDEIconView</ulink ></title> <para >Una variante de <classname @@ -655,7 +655,7 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KListView" +><ulink url="kdeapi:tdeui/TDEListView" >KLineEdit</ulink ></title> <para @@ -681,8 +681,8 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KFontCombo" ->KFontCombo</ulink +><ulink url="kdeapi:tdeui/TDEFontCombo" +>TDEFontCombo</ulink ></title> <para >Una lista desplegable para la selección de fuentes. </para> @@ -725,7 +725,7 @@ <listitem ><formalpara ><title -><ulink url="kdeapi:kfile/KURLRequester" +><ulink url="kdeapi:tdefile/KURLRequester" >KURLRequester</ulink ></title> <para @@ -788,7 +788,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kfile/KFileDialog" +><ulink url="kdeapi:tdefile/KFileDialog" >KFileDialog</ulink ></title> <para @@ -810,8 +810,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KFontDialog" ->KFontDialog</ulink +><ulink url="kdeapi:tdeui/TDEFontDialog" +>TDEFontDialog</ulink ></title> <para >Un diálogo para la selección de fuentes. </para> @@ -821,8 +821,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kfile/KIconDialog" ->KIconDialog</ulink +><ulink url="kdeapi:tdefile/TDEIconDialog" +>TDEIconDialog</ulink ></title> <para >Un diálogo para la selección de iconos. </para> @@ -865,8 +865,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KAboutDialog" ->KAboutDialog</ulink +><ulink url="kdeapi:tdeui/TDEAboutDialog" +>TDEAboutDialog</ulink ></title> <para >Un diálogo de información de la aplicación. </para> @@ -887,7 +887,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kfile/KURLRequesterDlg" +><ulink url="kdeapi:tdefile/KURLRequesterDlg" >KURLRequesterDlg</ulink ></title> <para @@ -927,8 +927,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KAction" ->KAction</ulink +><ulink url="kdeapi:tdeui/TDEAction" +>TDEAction</ulink ></title> <para >Abstracción de una acción que puede ser conectada a barras de menús y barras de herramientas. </para> @@ -938,8 +938,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:tdeui/KActionCollection" ->KActionCollection</ulink +><ulink url="kdeapi:tdeui/TDEActionCollection" +>TDEActionCollection</ulink ></title> <para >Un conjunto de acciones. </para> @@ -960,7 +960,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kparts/KPartManager" +><ulink url="kdeapi:tdeparts/KPartManager" >KPartManager</ulink ></title> <para @@ -1011,7 +1011,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KServiceType" +><ulink url="kdeapi:tdeio/KServiceType" >KServiceType</ulink ></title> <para @@ -1022,7 +1022,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KService" +><ulink url="kdeapi:tdeio/KService" >KService</ulink ></title> <para @@ -1033,7 +1033,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KMimeType" +><ulink url="kdeapi:tdeio/KMimeType" >KMimeType</ulink ></title> <para @@ -1044,7 +1044,7 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KServiceTypeProfile" +><ulink url="kdeapi:tdeio/KServiceTypeProfile" >KServiceTypeProfile</ulink ></title> <para @@ -1055,8 +1055,8 @@ url="kdeapi:tdeui/KAnimWidget" <listitem ><formalpara ><title -><ulink url="kdeapi:kio/KServiceTypeProfile" ->KTrader</ulink +><ulink url="kdeapi:tdeio/KServiceTypeProfile" +>TDETrader</ulink ></title> <para >Consultas para servicios. </para> @@ -1698,8 +1698,8 @@ url="kdeapi:tdeui/KAnimWidget" >) aparezcan en las ubicaciones sugeridas por la guía de estilo. XMLGUI es especialmente importante en los programas modulares, donde los elementos que aparecen en las barras de menú pueden varias en función de las extensiones instaladas. </para> <para ->La clase de KDE para las ventanas de primer nivel, <ulink url="kdeapi:tdeui/KMainWindow.html" ->KMainWindow</ulink +>La clase de KDE para las ventanas de primer nivel, <ulink url="kdeapi:tdeui/TDEMainWindow.html" +>TDEMainWindow</ulink > es heredera de <ulink url="kdeapi:tdeui/KXMLGUIClient.html" >KXMLGUIClient</ulink > y, por lo tanto, soporta XMLGUI directamente. Todas las acciones creadas dentro deben tener como superior jerárquico un <literal @@ -1763,19 +1763,19 @@ rc_DATA = kviewui.rc >KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); KStdAction::zoomOut ( this, SLOT(slotZoomOut()), actionCollection() ); KStdAction::zoom ( this, SLOT(slotZoom()), actionCollection() ); - new KAction ( i18n("&Half size"), ALT+Key_0, + new TDEAction ( i18n("&Half size"), ALT+Key_0, this, SLOT(slotHalfSize()), actionCollection(), "zoom50" ); - new KAction ( i18n("&Normal size"), ALT+Key_1, + new TDEAction ( i18n("&Normal size"), ALT+Key_1, this, SLOT(slotDoubleSize()), actionCollection(), "zoom100" ); - new KAction ( i18n("&Double size"), ALT+Key_2, + new TDEAction ( i18n("&Double size"), ALT+Key_2, this, SLOT(slotDoubleSize()), actionCollection(), "zoom200" ); - new KAction ( i18n("&Fill Screen"), ALT+Key_3, + new TDEAction ( i18n("&Fill Screen"), ALT+Key_3, this, SLOT(slotFillScreen()), actionCollection(), "zoomMaxpect" ); - new KAction ( i18n("Fullscreen &Mode"), CTRL+SHIFT+Key_F, + new TDEAction ( i18n("Fullscreen &Mode"), CTRL+SHIFT+Key_F, this, SLOT(slotFullScreen()), actionCollection(), "fullscreen" ); </programlisting> @@ -1975,7 +1975,7 @@ rc_DATA = kviewui.rc unplugActionList("openwith"); openWithActions.clear(); for ( /* repetir sobre los servicios importantes */ ) { - KAction *action = new KAction( ...); + TDEAction *action = new TDEAction( ...); openWithActions.append(action); } plugActionList("openwith", openWithActions); @@ -2098,12 +2098,12 @@ rc_DATA = kviewui.rc <para >Si las barras de menú y de herramientas han sido creadas usando el <ulink url="actionpattern.html" >patrón de acciones</ulink ->, la cadena usada como ayuda emergente procede el primer argumento del constructor de <ulink url="kdeapi:tdeui/KAction.html" ->KAction</ulink +>, la cadena usada como ayuda emergente procede el primer argumento del constructor de <ulink url="kdeapi:tdeui/TDEAction.html" +>TDEAction</ulink >: </para> <programlisting ->action = new KAction(i18n("&Delete"), "editdelete", +>action = new TDEAction(i18n("&Delete"), "editdelete", SHIFT+Key_Delete, actionCollection(), "del") </programlisting> @@ -2334,9 +2334,9 @@ X-KDevelop-Scope=Project >KDevFactory</classname > (que deriva de <classname >KLibFactory</classname ->). Otros ejemplos más comunes son <ulink url="kdeapi:kparts/KParts::Factory" +>). Otros ejemplos más comunes son <ulink url="kdeapi:tdeparts/KParts::Factory" >KParts::Factory</ulink -> que debe producir objetos <ulink url="kdeapi:kparts/KParts::ReadOnlyPart" +> que debe producir objetos <ulink url="kdeapi:tdeparts/KParts::ReadOnlyPart" >KParts::ReadOnlyPart</ulink >, o, en muchos casos, <ulink url="kdeapi:tdecore/KLibFactory" >KLibFactory</ulink @@ -2350,7 +2350,7 @@ X-KDevelop-Scope=Project >Uso de servicios de bibliotecas compartidas</title> <para ->Para poder usar un servicio de biblioteca compartida en una aplicación, necesita obtener un objeto <ulink url="kdeapi:kio/KService.html" +>Para poder usar un servicio de biblioteca compartida en una aplicación, necesita obtener un objeto <ulink url="kdeapi:tdeio/KService.html" >KService</ulink > que lo represente. Esto se discute en la <ulink url="mime.html" >sección sobre tipos MIME</ulink @@ -2399,8 +2399,8 @@ if (!factory) { <para >Un servicio DCOP se implementa normalmente como un programa que se arranca cuando es necesario y que luego entra en un bucle para escuchar conexiones DCOP. El programa puede ser interactivo, pero también puede funcionar completa o parcialmente como un «demonio» en segundo plano sin que el usuario lo note. Un ejemplo de este tipo de «demonio» es <literal ->kio_uiserver</literal ->, que implementa la interacción del usuario como un diálogo de progreso en la biblioteca KIO. La ventaja de este tipo de «demonio» centralizado en este contexto radica en que, por ejemplo, los progresos de descarga de varios archivos distintos se pueden mostrar en una única ventana, incluso si todas las descargas se iniciaron desde aplicaciones diferentes. </para> +>tdeio_uiserver</literal +>, que implementa la interacción del usuario como un diálogo de progreso en la biblioteca TDEIO. La ventaja de este tipo de «demonio» centralizado en este contexto radica en que, por ejemplo, los progresos de descarga de varios archivos distintos se pueden mostrar en una única ventana, incluso si todas las descargas se iniciaron desde aplicaciones diferentes. </para> <para >Un servicio DCOP se define de un modo distinto a como se hace con un servicio de biblioteca compartida. Por supuesto, no especifica una biblioteca, sino un ejecutable. Además, los servicios DCOP no contienen una línea <literal @@ -2436,14 +2436,14 @@ if (!factory) { <para >Esta es la definición de <literal ->kio_uiserver</literal +>tdeio_uiserver</literal >: </para> <programlisting >[Desktop Entry] Type=Service -Name=kio_uiserver -Exec=kio_uiserver +Name=tdeio_uiserver +Exec=tdeio_uiserver X-DCOP-ServiceType=Unique X-TDE-StartupNotify=false </programlisting> @@ -2461,9 +2461,9 @@ X-TDE-StartupNotify=false <programlisting >DCOPClient *client = kapp->dcopClient(); client->attach(); -if (!client->isApplicationRegistered("kio_uiserver")) { +if (!client->isApplicationRegistered("tdeio_uiserver")) { QString error; - if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error)) + if (TDEApplication::startServiceByName("tdeio_uiserver", QStringList(), &error)) cout << "El inicio de kioserver ha fallado con el mensaje " << error << endl; } ... @@ -2471,9 +2471,9 @@ QByteArray data, replyData; QCString replyType; QDataStream arg(data, IO_WriteOnly); arg << true; -if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)", +if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", data, replyType, replyData)) - cout << "Ha fallado la llamada a kio_uiserver" << endl; + cout << "Ha fallado la llamada a tdeio_uiserver" << endl; ... </programlisting> @@ -2488,7 +2488,7 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)", > del archivo «desktop». Una alternativa consiste en usar <function >TDEApplication::startServiceByDesktopName()</function >, que toma el nombre del archivo «desktop» como argumento (en este caso, <literal ->«kio_uiserver.desktop»</literal +>«tdeio_uiserver.desktop»</literal >). </para> <para @@ -2606,7 +2606,7 @@ Comment[es]=Archivo de datos de ejemplo >. </para> <para ->En las bibliotecas de KDE, este tipo de definición se mapea a una instancia de la clase <ulink url="kdeapi:kio/KMimeType.html" +>En las bibliotecas de KDE, este tipo de definición se mapea a una instancia de la clase <ulink url="kdeapi:tdeio/KMimeType.html" >KMimeType</ulink >. Use esto como en el siguiente ejemplo: </para> @@ -2655,7 +2655,7 @@ else >(Este método posee algunos argumentos más, pero no están documentados, así que puede olvidarse de ellos sin más). </para> <para ->Es posible que quiera encontrar un tipo MIME a partir del contenido de un archivo en lugar de a partir de su nombre. Esto es mucho más eficaz, pero también más lento, ya que necesita leer una parte del archivo. Esto se hace con la clase <ulink url="kdeapi:kio/KMimeMagic.html" +>Es posible que quiera encontrar un tipo MIME a partir del contenido de un archivo en lugar de a partir de su nombre. Esto es mucho más eficaz, pero también más lento, ya que necesita leer una parte del archivo. Esto se hace con la clase <ulink url="kdeapi:tdeio/KMimeMagic.html" >KMimeMagic</ulink >, que posee un manejo de errores distinto: </para> @@ -2695,14 +2695,14 @@ else </programlisting> <para ->Esto comienza una tarea KIO para descargar una parte del archivo y comprobar su tipo MIME. Tenga en cuenta que esta función puede resultar bastante lenta y bloquear el programa. Normalmente solo querrá usar esto si <function +>Esto comienza una tarea TDEIO para descargar una parte del archivo y comprobar su tipo MIME. Tenga en cuenta que esta función puede resultar bastante lenta y bloquear el programa. Normalmente solo querrá usar esto si <function >KMimeType::findByURL()</function > ha devuelto <literal >«application/octect-stream»</literal >. </para> <para ->Por otra parte, si no desea bloquear su aplicación, también puede iniciar la tarea KIO explícitamente y conectarse a algunas de sus señales: </para> +>Por otra parte, si no desea bloquear su aplicación, también puede iniciar la tarea TDEIO explícitamente y conectarse a algunas de sus señales: </para> <programlisting >void FooClass::findType() @@ -2769,7 +2769,7 @@ for (it = offers.begin(); it != offers.end(); ++it) { >"Application"</literal > por <literal >"KParts::ReadOnlyPart"</literal ->. En este caso, obtendrá una lista de componentes integrables para visualizar HTML, como KHTML. </para> +>. En este caso, obtendrá una lista de componentes integrables para visualizar HTML, como TDEHTML. </para> <para >En la mayor parte de los casos no estará interesado en la lista de todos los servicios ofrecidos por una combinación de tipo MIME y tipo de servicio. Existe una función más conveniente que le proporciona solo el servicio ofrecido con la preferencia más alta: </para> @@ -2783,12 +2783,12 @@ else </programlisting> <para ->Para solicitudes aún más complejas existe un <ulink url="kdeapi:kio/KTrader.html" +>Para solicitudes aún más complejas existe un <ulink url="kdeapi:tdeio/TDETrader.html" >«trader»</ulink > desarrollado de modo similar a CORBA. </para> <para ->Para ejecutar una aplicación de servicio con algunas URLs, use <ulink url="kdeapi:kio/KRun.html" +>Para ejecutar una aplicación de servicio con algunas URLs, use <ulink url="kdeapi:tdeio/KRun.html" >KRun</ulink >: </para> @@ -2849,7 +2849,7 @@ new KRun(url); > es importante. Mientras usted espera que su navegador web descargue una página, la interfaz de usuario no debería estar bloqueada. Además, la visualización de la página no debería comenzar cuando la página esté completamente disponible, sino que debe actualizarse a medida que los datos vayan llegando. </para> <para ->En las bibliotecas de KDE, la transparencia de red está implementada en la API KIO. El concepto central de esta arquitectura es una <emphasis +>En las bibliotecas de KDE, la transparencia de red está implementada en la API TDEIO. El concepto central de esta arquitectura es una <emphasis >tarea</emphasis > de entrada/salida. Una tarea puede copiar o borrar archivos o cosas similares. Una vez que una tarea ha comenzado, funcionará en segundo plano y no bloqueará la aplicación. Cualquier comunicación de vuelta entre la tarea y la aplicación (como la entrega de datos o de información de progreso) se realiza de forma integrada en el bucle de eventos de Qt. </para> @@ -2870,10 +2870,10 @@ new KRun(url); <simplesect id="nettransparency-usingkio"> <title ->Uso de KIO</title> +>Uso de TDEIO</title> <para ->En muchos casos, las tareas se crean llamando a funciones del nombre de espacios KIO. Estas funciones tienen una o dos URL como argumento, además de otros parámetros posiblemente necesarios. Cuando la tarea termina, emite la señal <literal +>En muchos casos, las tareas se crean llamando a funciones del nombre de espacios TDEIO. Estas funciones tienen una o dos URL como argumento, además de otros parámetros posiblemente necesarios. Cuando la tarea termina, emite la señal <literal >result(TDEIO::Job*)</literal >. Tras emitir esta señal, la tarea se borra a sí misma. De este modo, un caso de uso típico podría ser: </para> @@ -3167,7 +3167,7 @@ void FooClass::mkdirResult(TDEIO::Job *job) >Utilización síncrona</title> <para ->A menudo, la API asíncrona de KIO resulta demasiado compleja de usar, por lo que la implementación de asincronismo total no es una prioridad. Por ejemplo, en un programa que solo puede manejar un archivo de documento a la vez, realmente hay pocas cosas que se puedan hacer mientras el programa descarga el archivo. Para estos casos simples, existe una API mucho más simple bajo la forma de funciones estáticas en TDEIO::NetAccess. Por ejemplo, para copiar un archivo, utilice </para> +>A menudo, la API asíncrona de TDEIO resulta demasiado compleja de usar, por lo que la implementación de asincronismo total no es una prioridad. Por ejemplo, en un programa que solo puede manejar un archivo de documento a la vez, realmente hay pocas cosas que se puedan hacer mientras el programa descarga el archivo. Para estos casos simples, existe una API mucho más simple bajo la forma de funciones estáticas en TDEIO::NetAccess. Por ejemplo, para copiar un archivo, utilice </para> <programlisting >KURL origen, destino; @@ -3213,7 +3213,7 @@ if (TDEIO::NetAccess::download(url, tempFile) { <programlisting >void FooClass::reloadPage() { - KURL url("http://www.tdevelop.org/index.html"); + KURL url("http://www.kdevelop.org/index.html"); TDEIO::TransferJob *job = TDEIO::get(url, true, false); job->addMetaData("cache", "reload"); ... @@ -3256,13 +3256,13 @@ void FooClass::transferResult(TDEIO::Job *job) >Programación</title> <para ->Cuando use la API KIO no tendrá que preocuparse normalmente de los detalles de iniciar esclavos de entrada/salida y comunicarse con ellos. El uso normal consiste en comenzar una tarea con algunos parámetros y manejar las señales que emita esta tarea. </para> +>Cuando use la API TDEIO no tendrá que preocuparse normalmente de los detalles de iniciar esclavos de entrada/salida y comunicarse con ellos. El uso normal consiste en comenzar una tarea con algunos parámetros y manejar las señales que emita esta tarea. </para> <para ->Pero detrás del telón, el escenario es bastante más complejo. Cuando crea una tarea, ésta va a parar a una cola. Cuando la aplicación retorna al bucle de eventos, KIO asigna procesos esclavos para las tareas que hay en esta cola. Para las primeras tareas iniciadas, resulta obvio: se inicia un esclavo de entrada/salida para el protocolo apropiado. No obstante, una vez que la tarea (por ejemplo, una descarga de un servidor web) haya terminado, no se elimina inmediatamente. En lugar de ello, se coloca en un almacén de tareas inactivas y se elimina tras cierto tiempo de inactividad (3 minutos en la actualidad). Si durante este tiempo se produce una nueva petición para el mismo protocolo y servidor, se vuelve a reutilizar el esclavo. La ventaja obvia consiste en que, para una serie de tareas con el mismo servidor, se ahorra el costo de tener que crear nuevos procesos y posiblemente de repetir acciones de autenticación. </para> +>Pero detrás del telón, el escenario es bastante más complejo. Cuando crea una tarea, ésta va a parar a una cola. Cuando la aplicación retorna al bucle de eventos, TDEIO asigna procesos esclavos para las tareas que hay en esta cola. Para las primeras tareas iniciadas, resulta obvio: se inicia un esclavo de entrada/salida para el protocolo apropiado. No obstante, una vez que la tarea (por ejemplo, una descarga de un servidor web) haya terminado, no se elimina inmediatamente. En lugar de ello, se coloca en un almacén de tareas inactivas y se elimina tras cierto tiempo de inactividad (3 minutos en la actualidad). Si durante este tiempo se produce una nueva petición para el mismo protocolo y servidor, se vuelve a reutilizar el esclavo. La ventaja obvia consiste en que, para una serie de tareas con el mismo servidor, se ahorra el costo de tener que crear nuevos procesos y posiblemente de repetir acciones de autenticación. </para> <para ->Por supuesto, esta reutilización solo es posible cuando el esclavo existente ya ha terminado su anterior tarea. Si llega una nueva petición mientras un proceso esclavo existente todavía está en funcionamiento, se debe iniciar y usar un nuevo proceso. En el uso de la API de los ejemplos anteriores no existe ninguna limitación para la creación de nuevos procesos esclavos: si inicia una serie de descargas consecutivas para 20 archivos distintos, KIO iniciará 20 procesos esclavos. Este esquema de asignación de esclavos a las tareas se denomina <emphasis +>Por supuesto, esta reutilización solo es posible cuando el esclavo existente ya ha terminado su anterior tarea. Si llega una nueva petición mientras un proceso esclavo existente todavía está en funcionamiento, se debe iniciar y usar un nuevo proceso. En el uso de la API de los ejemplos anteriores no existe ninguna limitación para la creación de nuevos procesos esclavos: si inicia una serie de descargas consecutivas para 20 archivos distintos, TDEIO iniciará 20 procesos esclavos. Este esquema de asignación de esclavos a las tareas se denomina <emphasis >directo</emphasis >. No siempre es el esquema más adecuado, ya que puede necesitar mucha memoria y sobrecargar tanto a la máquina cliente como a la servidora. </para> @@ -3321,7 +3321,7 @@ EXTRA_DIST = $(mime_DATA) <programlisting >[Protocol] -exec=kio_ftp +exec=tdeio_ftp protocol=ftp input=none output=filesystem @@ -3348,9 +3348,9 @@ Icon=ftp <para >Las restantes líneas del archivo <literal >.protocol</literal -> definen qué propiedades tiene el esclavo. En general, las características que debe implementar un esclavo son más simples que las que proporciona la API KIO para la aplicación. La razón para esto reside en que las tareas complejas se programan en un conjunto de subtareas. Por ejemplo, para listar un directorio recursivamente se iniciará una tarea para el directorio de nivel superior, y luego una adicional para cada subdirectorio que contenga. Un programador interno de KIO se asegura de que no estén activas demasiadas tareas al mismo tiempo. De forma similar, para copiar un archivo con un protocolo que no proporciona copias directamente (como el protocolo <literal +> definen qué propiedades tiene el esclavo. En general, las características que debe implementar un esclavo son más simples que las que proporciona la API TDEIO para la aplicación. La razón para esto reside en que las tareas complejas se programan en un conjunto de subtareas. Por ejemplo, para listar un directorio recursivamente se iniciará una tarea para el directorio de nivel superior, y luego una adicional para cada subdirectorio que contenga. Un programador interno de TDEIO se asegura de que no estén activas demasiadas tareas al mismo tiempo. De forma similar, para copiar un archivo con un protocolo que no proporciona copias directamente (como el protocolo <literal >ftp:</literal ->), KIO puede leer el archivo de origen y luego escribir los datos en el archivo de destino. Para que esto funcione, el archivo <literal +>), TDEIO puede leer el archivo de origen y luego escribir los datos en el archivo de destino. Para que esto funcione, el archivo <literal >.protocol</literal > debe notificar las acciones que proporciona su esclavo. </para> @@ -3364,12 +3364,12 @@ Icon=ftp int kdemain(int argc, char **argv) { - KLocale::setMainCatalogue("tdelibs"); - TDEInstance instance("kio_ftp"); + TDELocale::setMainCatalogue("tdelibs"); + TDEInstance instance("tdeio_ftp"); (void) TDEGlobal::locale(); if (argc != 4) { - fprintf(stderr, "Uso: kio_ftp protocol " + fprintf(stderr, "Uso: tdeio_ftp protocol " "domain-socket1 domain-socket2\n"); exit(-1); } @@ -3457,7 +3457,7 @@ int kdemain(int argc, char **argv) <para >Adicionalmente, existen funciones reimplementables que no están listadas en el archivo <literal >.protocol</literal ->. Para estas operaciones, KIO determina automáticamente si están soportadas o no (es decir, la implementación por defecto devuelve un error). </para> +>. Para estas operaciones, TDEIO determina automáticamente si están soportadas o no (es decir, la implementación por defecto devuelve un error). </para> <variablelist> |