From 2836f2a72f80fac060315da1aa20509bcc0be469 Mon Sep 17 00:00:00 2001 From: Imanol-Mikel Barba Sabariego Date: Tue, 10 Dec 2013 03:19:14 +0000 Subject: [PATCH] git-svn-id: svn://imanolbarba.net/PAD@29 c2ee353e-ed0d-4329-bf56-03aec153487f --- JChatClient/doc/html/_socket_8cpp.html | 21 ++++++++------------- JChatClient/doc/html/_socket_8h.html | 24 ++++++++++++++---------- JChatClient/doc/html/_socket_8h_source.html | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- JChatClient/doc/html/_socket_exception_8h.html | 12 ++++++------ JChatClient/doc/html/_socket_exception_8h_source.html | 18 +++++++++--------- JChatClient/doc/html/annotated.html | 17 ++++++++--------- JChatClient/doc/html/class_socket-members.html | 10 +++++----- JChatClient/doc/html/class_socket.html | 47 +++++++++++++++++++++-------------------------- JChatClient/doc/html/class_socket_exception-members.html | 10 +++++----- JChatClient/doc/html/class_socket_exception.html | 16 ++++++++-------- JChatClient/doc/html/classes.html | 19 ++++++++++--------- JChatClient/doc/html/client_8cpp.html | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- JChatClient/doc/html/client_8dox.html | 10 +++++----- JChatClient/doc/html/client_8h.html | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ JChatClient/doc/html/client_8h_source.html | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ JChatClient/doc/html/client_code.html | 28 ++++++++++++++-------------- JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html | 12 ++++++------ JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html | 10 +++++----- JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html | 10 +++++----- JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html | 10 +++++----- JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html | 10 +++++----- JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html | 10 +++++----- JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html | 15 +++++++-------- JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html | 10 +++++----- JChatClient/doc/html/doxygen.css | 14 ++++++-------- JChatClient/doc/html/files.html | 20 ++++++++++---------- JChatClient/doc/html/functions.html | 145 ++++++------------------------------------------------------------------------------------------------------------------------------------------- JChatClient/doc/html/functions_func.html | 34 +++++----------------------------- JChatClient/doc/html/functions_vars.html | 37 +++++-------------------------------- JChatClient/doc/html/globals.html | 36 ++++++++++-------------------------- JChatClient/doc/html/globals_func.html | 30 ++++++++++-------------------- JChatClient/doc/html/globals_vars.html | 11 +++++------ JChatClient/doc/html/howto.html | 43 +++++++++++++++---------------------------- JChatClient/doc/html/howto_8dox.html | 10 +++++----- JChatClient/doc/html/index.html | 14 +++++++------- JChatClient/doc/html/jquery.js | 39 ++++++++------------------------------- JChatClient/doc/html/mainpage_8dox.html | 10 +++++----- JChatClient/doc/html/makefile_8dox.html | 10 +++++----- JChatClient/doc/html/pages.html | 14 +++++++------- JChatClient/doc/html/search/all_61.html | 2 +- JChatClient/doc/html/search/all_62.html | 2 +- JChatClient/doc/html/search/all_63.html | 2 +- JChatClient/doc/html/search/all_63.js | 2 +- JChatClient/doc/html/search/all_64.html | 2 +- JChatClient/doc/html/search/all_66.html | 2 +- JChatClient/doc/html/search/all_66.js | 3 +-- JChatClient/doc/html/search/all_67.html | 2 +- JChatClient/doc/html/search/all_67.js | 5 +---- JChatClient/doc/html/search/all_68.html | 2 +- JChatClient/doc/html/search/all_6b.html | 2 +- JChatClient/doc/html/search/all_6b.js | 2 +- JChatClient/doc/html/search/all_6c.html | 2 +- JChatClient/doc/html/search/all_6d.html | 2 +- JChatClient/doc/html/search/all_6f.html | 2 +- JChatClient/doc/html/search/all_70.html | 2 +- JChatClient/doc/html/search/all_70.js | 3 +-- JChatClient/doc/html/search/all_72.html | 2 +- JChatClient/doc/html/search/all_72.js | 3 +-- JChatClient/doc/html/search/all_73.html | 2 +- JChatClient/doc/html/search/all_73.js | 13 ++----------- JChatClient/doc/html/search/all_74.html | 2 +- JChatClient/doc/html/search/all_74.js | 1 - JChatClient/doc/html/search/all_7e.html | 2 +- JChatClient/doc/html/search/classes_73.html | 2 +- JChatClient/doc/html/search/classes_73.js | 1 - JChatClient/doc/html/search/classes_74.html | 2 +- JChatClient/doc/html/search/files_63.html | 2 +- JChatClient/doc/html/search/files_63.js | 3 ++- JChatClient/doc/html/search/files_68.html | 2 +- JChatClient/doc/html/search/files_6d.html | 2 +- JChatClient/doc/html/search/files_73.html | 2 +- JChatClient/doc/html/search/files_73.js | 1 - JChatClient/doc/html/search/functions_61.html | 2 +- JChatClient/doc/html/search/functions_62.html | 2 +- JChatClient/doc/html/search/functions_63.html | 2 +- JChatClient/doc/html/search/functions_64.html | 2 +- JChatClient/doc/html/search/functions_67.html | 2 +- JChatClient/doc/html/search/functions_67.js | 5 +---- JChatClient/doc/html/search/functions_6b.html | 2 +- JChatClient/doc/html/search/functions_6b.js | 2 +- JChatClient/doc/html/search/functions_6c.html | 2 +- JChatClient/doc/html/search/functions_6d.html | 2 +- JChatClient/doc/html/search/functions_6f.html | 2 +- JChatClient/doc/html/search/functions_72.html | 2 +- JChatClient/doc/html/search/functions_72.js | 3 +-- JChatClient/doc/html/search/functions_73.html | 2 +- JChatClient/doc/html/search/functions_73.js | 7 ++----- JChatClient/doc/html/search/functions_7e.html | 2 +- JChatClient/doc/html/search/pages_63.html | 2 +- JChatClient/doc/html/search/pages_68.html | 2 +- JChatClient/doc/html/search/pages_70.html | 2 +- JChatClient/doc/html/search/search.css | 2 +- JChatClient/doc/html/search/search.js | 12 +++++------- JChatClient/doc/html/search/variables_63.html | 2 +- JChatClient/doc/html/search/variables_66.html | 2 +- JChatClient/doc/html/search/variables_6d.html | 2 +- JChatClient/doc/html/search/variables_73.html | 2 +- JChatClient/doc/html/search/variables_73.js | 7 +------ JChatClient/doc/html/structthread__args-members.html | 17 +++++++---------- JChatClient/doc/html/structthread__args.html | 70 ++++++++-------------------------------------------------------------- JChatClient/doc/latex/Makefile | 2 -- JChatClient/doc/latex/_socket_8cpp.tex | 5 ----- JChatClient/doc/latex/_socket_8h.tex | 8 ++++++-- JChatClient/doc/latex/annotated.tex | 1 - JChatClient/doc/latex/class_socket.tex | 20 +++++--------------- JChatClient/doc/latex/client_8cpp.tex | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------- JChatClient/doc/latex/client_8h.tex | 15 +++++++++++++++ JChatClient/doc/latex/client_code.tex | 6 +++--- JChatClient/doc/latex/dir_c16c2f6bdf6587439d9ad3d8f0d21517.tex | 4 ++-- JChatClient/doc/latex/doxygen.sty | 396 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/files.tex | 2 +- JChatClient/doc/latex/howto.tex | 30 ++++++++++-------------------- JChatClient/doc/latex/refman.aux | 319 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.idx | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.ilg | 8 ++++---- JChatClient/doc/latex/refman.ind | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.log | 3644 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.out | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.pdf | Bin 155681 -> 0 bytes JChatClient/doc/latex/refman.tex | 163 ++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------- JChatClient/doc/latex/refman.toc | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------- JChatClient/doc/latex/structthread__args.tex | 37 +++++-------------------------------- JChatClient/src/client.cpp | 45 +++++++++++++++++++++------------------------ JChatClient/src/howto.dox | 24 +++++++----------------- 124 files changed, 2239 insertions(+), 4760 deletions(-) create mode 100644 JChatClient/doc/html/client_8h.html create mode 100644 JChatClient/doc/html/client_8h_source.html create mode 100644 JChatClient/doc/latex/client_8h.tex diff --git a/JChatClient/doc/html/_socket_8cpp.html b/JChatClient/doc/html/_socket_8cpp.html index 336ad48..67347fc 100644 --- a/JChatClient/doc/html/_socket_8cpp.html +++ b/JChatClient/doc/html/_socket_8cpp.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/Socket.cpp @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -90,25 +90,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
-

Fichero de implementación de la clase Socket. +

Fichero de implementación de la clase Socket. Más...

#include "Socket.h"
-#include "SocketException.h"
-#include <sstream>
-#include <strings.h>
-#include <cstdlib>
-#include <netinet/tcp.h>

Descripción detallada

-

Fichero de implementación de la clase Socket.

+

Fichero de implementación de la clase Socket.

Autor
Imanol Barba Sabariego
Fecha
13/06/2013
-

En este fichero se implementan los métodos de la clase Socket definidos en Socket.h

+

En este fichero se implementan los métodos de la clase Socket definidos en Socket.h

diff --git a/JChatClient/doc/html/_socket_8h.html b/JChatClient/doc/html/_socket_8h.html index f695a87..a64f8b8 100644 --- a/JChatClient/doc/html/_socket_8h.html +++ b/JChatClient/doc/html/_socket_8h.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h @@ -31,7 +31,7 @@
- + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,16 +92,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
-

Header de la clase Socket. +

Header de la clase Socket. Más...

#include <iostream>
+#include <sstream>
+#include "SocketException.h"
#include <sys/socket.h>
+#include <sys/types.h>
#include <netinet/in.h>
+#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <netdb.h>
-#include <string>
-#include <sys/types.h>
#include <unistd.h>
+#include <cstdlib>
+#include <cstring>

Ir al código fuente de este archivo.

@@ -112,16 +116,16 @@ Clases
 

Descripción detallada

-

Header de la clase Socket.

+

Header de la clase Socket.

Autor
Imanol Barba Sabariego
Fecha
12/06/2013
-

En este fichero se define la clase Socket, que es la clase que se abstraer toda la comunicación con sockets al programador

+

En este fichero se define la clase Socket, que es la clase que se abstraer toda la comunicación con sockets al programador

diff --git a/JChatClient/doc/html/_socket_8h_source.html b/JChatClient/doc/html/_socket_8h_source.html index e9edc04..93a8f1d 100644 --- a/JChatClient/doc/html/_socket_8h_source.html +++ b/JChatClient/doc/html/_socket_8h_source.html @@ -3,7 +3,7 @@ - + Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h @@ -31,7 +31,7 @@
- + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -94,58 +94,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
9 #define SOCKET_H_
10 
11 #include <iostream>
-
12 #include <sys/socket.h>
-
13 #include <netinet/in.h>
-
14 #include <arpa/inet.h>
-
15 #include <netdb.h>
-
16 #include <string>
-
17 #include <sys/types.h>
-
18 #include <unistd.h>
-
19 
-
20 using namespace std;
-
21 
+
12 #include <sstream>
+
13 #include "SocketException.h"
+
14 #include <sys/socket.h>
+
15 #include <sys/types.h>
+
16 #include <netinet/in.h>
+
17 #include <netinet/tcp.h>
+
18 #include <arpa/inet.h>
+
19 #include <netdb.h>
+
20 #include <unistd.h>
+
21 #include <cstdlib>
+
22 #include <cstring>
23 
-
27 class Socket
-
28 {
-
29  private:
-
31 
-
32  int sock;
-
34 
-
35  struct sockaddr_in sockAddr;
-
37 
-
41  int Receive(char *buff, int length);
-
43 
-
47  int Send(const char *buff, int length);
-
48 
-
49  public:
-
51 
-
52  Socket();
-
54 
-
55  void Create();
-
57 
-
59  void Bind(string address, int port);
+
24 using namespace std;
+
25 
+
27 
+
31 class Socket
+
32 {
+
33  private:
+
35 
+
36  int sock;
+
38 
+
39  struct sockaddr_in sockAddr;
+
41 
+
45  int Receive(char *buff, int length);
+
47 
+
51  int Send(const char *buff, int length);
+
52 
+
53  public:
+
55 
+
56  Socket();
+
58 
+
59  void Create();
61 
-
62  void Listen(int backlog);
-
64 
-
66  void Accept(Socket &clientSock);
+
63  void Bind(string address, int port);
+
65 
+
66  void Listen(int backlog);
68 
-
70  void Connect(string hostname, int port);
+
70  void Accept(Socket &clientSock);
72 
-
73  void Close();
-
75 
-
76  int getSock();
-
78 
-
80  const Socket& operator << ( const string& );
+
74  void Connect(string hostname, int port);
+
76 
+
77  void Close();
+
79 
+
80  int getSock();
82 
-
84  const Socket& operator >> ( string& );
-
85 };
-
86 #endif /* SOCKET_H_ */
+
84  const Socket& operator << ( const string& );
+
86 
+
88  const Socket& operator >> ( string& );
+
89 };
+
90 #endif /* SOCKET_H_ */
diff --git a/JChatClient/doc/html/_socket_exception_8h.html b/JChatClient/doc/html/_socket_exception_8h.html index fe8a0b9..061f17c 100644 --- a/JChatClient/doc/html/_socket_exception_8h.html +++ b/JChatClient/doc/html/_socket_exception_8h.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -108,13 +108,13 @@ Clases

Header de excepción de Sockets.

Autor
Imanol Barba Sabariego
Fecha
10/06/2013
-

En este fichero se define la clase SocketException para el control de excepciones producidas por la librería.

+

En este fichero se define la clase SocketException para el control de excepciones producidas por la librería.

diff --git a/JChatClient/doc/html/_socket_exception_8h_source.html b/JChatClient/doc/html/_socket_exception_8h_source.html index be99250..1648367 100644 --- a/JChatClient/doc/html/_socket_exception_8h_source.html +++ b/JChatClient/doc/html/_socket_exception_8h_source.html @@ -3,7 +3,7 @@ - + Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -98,24 +98,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
14 using namespace std;
15 
17 
- +
21 {
22  public:
24 
-
25  SocketException ( string m ) : message ( m ) {};
+
25  SocketException ( string m ) : message ( m ) {};
28 
-
29  string description() { return message; }
+
29  string description() { return message; }
30  private:
-
32  string message;
+
32  string message;
33 };
34 #endif /* SOCKETEXCEPTION_H_ */
diff --git a/JChatClient/doc/html/annotated.html b/JChatClient/doc/html/annotated.html index 86ed768..6daabcf 100644 --- a/JChatClient/doc/html/annotated.html +++ b/JChatClient/doc/html/annotated.html @@ -3,7 +3,7 @@ - + Socket: Lista de clases @@ -31,7 +31,7 @@ - + @@ -72,7 +72,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -88,18 +88,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
Lista de las clases, estructuras, uniones e interfaces con una breve descripción:
- - - - + + +
oCServerClase de aplicación servidor
oCSocketClase del socket
oCSocketExceptionClase de Excepción de Sockets
\Cthread_argsArgumentos de los threads
oCSocketClase del socket
oCSocketExceptionClase de Excepción de Sockets
\Cthread_argsArgumentos de los threads
diff --git a/JChatClient/doc/html/class_socket-members.html b/JChatClient/doc/html/class_socket-members.html index 1c037b0..7fbecc6 100644 --- a/JChatClient/doc/html/class_socket-members.html +++ b/JChatClient/doc/html/class_socket-members.html @@ -3,7 +3,7 @@ - + Socket: Lista de los miembros @@ -31,7 +31,7 @@
- + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -106,9 +106,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
diff --git a/JChatClient/doc/html/class_socket.html b/JChatClient/doc/html/class_socket.html index 6913738..702bb9b 100644 --- a/JChatClient/doc/html/class_socket.html +++ b/JChatClient/doc/html/class_socket.html @@ -3,7 +3,7 @@ - + Socket: Referencia de la Clase Socket @@ -31,7 +31,7 @@ - + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');

Métodos públicos

 Socket () - Constructor de la clase Socket. Más...
+ Constructor de la clase Socket. Más...
  void Create ()  Método para crear sockets. Más...
@@ -159,13 +159,13 @@ Atributos privados Socket::Socket ( - ) + )
-

Constructor de la clase Socket.

+

Constructor de la clase Socket.

Inicializa el file descriptor del socket y prepara la memoria donde se almacenarán las llaves públicas.

@@ -179,18 +179,17 @@ Atributos privados void Socket::Accept ( Socket &  - clientSock) + clientSock)

Método para aceptar conexiones.

-
Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
-

Socket en la referencia proporcionada por argumento.

+

Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase Socket en la referencia proporcionada por argumento.

Parámetros
- +
clientSockInstáncia de Socket que comunica con el cliente entrante
clientSockInstáncia de Socket que comunica con el cliente entrante
@@ -222,8 +221,7 @@ Atributos privados

Método para hacer bind a una dirección y puerto.

-
Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que 
-

posteriormente actúe de servidor escuchando conexiones.

+

Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones.

Parámetros
@@ -241,7 +239,7 @@ Atributos privados - +
addressDirección IP asignada
void Socket::Close ())
@@ -277,8 +275,7 @@ Atributos privados

Método para efectuar conexiones.

-
Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la 
-

dirección y puerto especificados y atienda conexiones.

+

Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones.

Parámetros
@@ -296,7 +293,7 @@ Atributos privados - +
hostnameHostname al que conectarse
void Socket::Create ())
@@ -314,7 +311,7 @@ Atributos privados int Socket::getSock ( - ) + ) @@ -333,7 +330,7 @@ Atributos privados void Socket::Listen ( int  - backlog) + backlog) @@ -358,15 +355,14 @@ Atributos privados const Socket & Socket::operator<< ( const string &  - text) + text)

Método para enviar mensajes.

-
Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según 
-

las opciones de compilación usando el protocolo implementado.

+

Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según las opciones de compilación usando el protocolo implementado.

Parámetros
@@ -384,15 +380,14 @@ Atributos privados - +
textMensaje a enviar
const Socket & Socket::operator>> ( std::string & text)text)

Método para recibir mensajes.

-
Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
-

el protocolo implementado.

+

Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el protocolo implementado.

Parámetros
@@ -546,9 +541,9 @@ Atributos privados diff --git a/JChatClient/doc/html/class_socket_exception-members.html b/JChatClient/doc/html/class_socket_exception-members.html index 7550294..6e3e3e4 100644 --- a/JChatClient/doc/html/class_socket_exception-members.html +++ b/JChatClient/doc/html/class_socket_exception-members.html @@ -3,7 +3,7 @@ - +Socket: Lista de los miembros @@ -31,7 +31,7 @@
textMensaje a recibir
- + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -96,9 +96,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
diff --git a/JChatClient/doc/html/class_socket_exception.html b/JChatClient/doc/html/class_socket_exception.html index f270e21..d946c7e 100644 --- a/JChatClient/doc/html/class_socket_exception.html +++ b/JChatClient/doc/html/class_socket_exception.html @@ -3,7 +3,7 @@ - + Socket: Referencia de la Clase SocketException @@ -31,7 +31,7 @@ - + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -128,7 +128,7 @@ Atributos privados SocketException::SocketException ( string  - m) + m) @@ -160,7 +160,7 @@ Atributos privados SocketException::~SocketException ( - ) + ) @@ -184,7 +184,7 @@ Atributos privados string SocketException::description ( - ) + ) @@ -229,9 +229,9 @@ Atributos privados
diff --git a/JChatClient/doc/html/classes.html b/JChatClient/doc/html/classes.html index 625778b..2c7c751 100644 --- a/JChatClient/doc/html/classes.html +++ b/JChatClient/doc/html/classes.html @@ -3,7 +3,7 @@ - + Socket: Índice de clases @@ -31,7 +31,7 @@ - + @@ -72,7 +72,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -89,19 +89,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
S | T
+ - - - + + +
  S  
-
Socket   
  T  
+
SocketException   
  T  
SocketException   
Server   thread_args   
Socket   
thread_args   
S | T
diff --git a/JChatClient/doc/html/client_8cpp.html b/JChatClient/doc/html/client_8cpp.html index 3a6cf14..bc4b395 100644 --- a/JChatClient/doc/html/client_8cpp.html +++ b/JChatClient/doc/html/client_8cpp.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.cpp @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -95,23 +95,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');

Fichero de implementación de un cliente. Más...

-
#include "Socket.h"
-#include <iostream>
-#include "SocketException.h"
-#include <sstream>
-#include <signal.h>
-#include <cstdlib>
-#include <sys/time.h>
+
#include "client.h"
- - - + + + + - - + + + + + + @@ -119,15 +118,17 @@ Funciones + +

Funciones

void exitClient (int signal)
 Método para terminar el cliente. Más...
 
void killThread (thread_args *t_arg)
 Método de liberación de los argumentos. Más...
 
bool connect (Socket &s)
 Método de conexión. Más...
 
void speedTest (Socket &s)
 
void * sendThread (void *args)
 Thread de envío de mensajes. Más...
 
void * recvThread (void *args)
 Thread de recepción de mensajes. Más...
 
int main ()
 Método principal del cliente. Más...
 

Variables

bool connected
 Variable de estado del programa. Más...
 
bool finished
 Variable de estado del programa. Más...
 

Descripción detallada

Fichero de implementación de un cliente.

Autor
Imanol Barba Sabariego
Fecha
13/06/2013
-

En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket.

+

En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT

Documentación de las funciones

@@ -137,37 +138,33 @@ Variables bool connect ( Socket &  - s) + s)
+

Método de conexión.

+

Este método conecta el cliente a una sala de chat.

+
- +
- + - - + +
void exitClient void killThread (int signal)thread_argst_arg)
-

Método para terminar el cliente.

-
Este método se usa para terminar el cliente immediatamente en el caso que el servidor cierre la conexión de forma inesperada, capturando
-

el signal SIGPIPE.

-
Parámetros
- - -
signalParámetro que captura el signal recibido
-
-
+

Método de liberación de los argumentos.

+

Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado.

@@ -178,31 +175,53 @@ Variables int main ( - ) + )

Método principal del cliente.

-

Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.

+

Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.

- +
- + - - + + + + +
void speedTest void* recvThread (Sockets)void * args)
+
+ +

Thread de recepción de mensajes.

+

Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias .

+ +
+
+ +
+
+ + + + + +
void* sendThread (void * args)
+

Thread de envío de mensajes.

+

Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado.

+

Documentación de las variables

@@ -216,6 +235,8 @@ Variables
+

Variable de estado del programa.

+
@@ -228,14 +249,16 @@ Variables
+

Variable de estado del programa.

+
diff --git a/JChatClient/doc/html/client_8dox.html b/JChatClient/doc/html/client_8dox.html index e881d30..f63d1a9 100644 --- a/JChatClient/doc/html/client_8dox.html +++ b/JChatClient/doc/html/client_8dox.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.dox @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -91,9 +91,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
diff --git a/JChatClient/doc/html/client_8h.html b/JChatClient/doc/html/client_8h.html new file mode 100644 index 0000000..bc3f6b0 --- /dev/null +++ b/JChatClient/doc/html/client_8h.html @@ -0,0 +1,118 @@ + + + + + + +Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h + + + + + + + + + +
+
+ + + + + + +
+
Socket +
+
Librería para comunicar via TCP/IP
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Referencia del Archivo client.h
+
+
+
#include "Socket.h"
+#include <iostream>
+#include "SocketException.h"
+#include <sstream>
+#include <signal.h>
+#include <cstdlib>
+#include <sys/time.h>
+
+

Ir al código fuente de este archivo.

+ + + + + +

+Clases

struct  thread_args
 Argumentos de los threads. Más...
 
+
+ + + + diff --git a/JChatClient/doc/html/client_8h_source.html b/JChatClient/doc/html/client_8h_source.html new file mode 100644 index 0000000..4083f2b --- /dev/null +++ b/JChatClient/doc/html/client_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h + + + + + + + + + +
+
+ + + + + + +
+
Socket +
+
Librería para comunicar via TCP/IP
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client.h
+
+
+Ir a la documentación de este archivo.
1 #ifndef CLIENT_H_
+
2 #define CLIENT_H_
+
3 
+
4 #include "Socket.h"
+
5 #include <iostream>
+
6 #include "SocketException.h"
+
7 #include <sstream>
+
8 #include <signal.h>
+
9 #include <cstdlib>
+
10 #include <sys/time.h>
+
11 
+
13 
+ +
18 {
+
20 
+
21  pthread_mutex_t *mutex;
+
23 
+
27  pthread_cond_t *condition;
+
29 
+ +
32 };
+
33 
+
34 
+
35 
+
36 #endif /* CLIENT_H_ */
+
+ + + + diff --git a/JChatClient/doc/html/client_code.html b/JChatClient/doc/html/client_code.html index daf6196..08c91e1 100644 --- a/JChatClient/doc/html/client_code.html +++ b/JChatClient/doc/html/client_code.html @@ -3,7 +3,7 @@ - + Socket: Client @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -80,9 +80,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');

Ejemplo de aplicación cliente

-
#include "Socket.h"
+
#include "Socket.h"
#include <iostream>
- +
#include <sstream>
#include <signal.h>
#include <cstdlib>
@@ -90,27 +90,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
using namespace std;
-
void exitClient(int signal)
+
void exitClient(int signal)
{
cout << "Server connection terminated unexpectedly" << endl << "Exiting" << endl;
exit(-1);
}
-
int main()
+
int main()
{
-
signal(SIGPIPE, exitClient);
-
signal(SIGINT, exitClient);
-
Socket s;
+
signal(SIGPIPE, exitClient);
+
signal(SIGINT, exitClient);
+
Socket s;
string send, recv, host;
int port;
-
s.Create();
+
s.Create();
cout << "Created socket" << endl;
cout << "Hostname: ";
cin >> host;
cout << "Port: ";
cin >> port;
cin.ignore();
-
s.Connect(host,port);
+
s.Connect(host,port);
cout << "Connected" << endl;
while(true)
{
@@ -123,9 +123,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
diff --git a/JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html b/JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html index a657469..46bf1ef 100644 --- a/JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html +++ b/JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src @@ -31,7 +31,7 @@
- + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -95,15 +95,15 @@ Archivos  Fichero de implementación de un cliente.
  archivo  Socket.cpp - Fichero de implementación de la clase Socket.
+ Fichero de implementación de la clase Socket.
 
diff --git a/JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html b/JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html index 06a45c5..d3ef8f4 100644 --- a/JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html +++ b/JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html b/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html index 41681b9..5b57b93 100644 --- a/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html +++ b/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html b/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html index a51a20a..86c6b4b 100644 --- a/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html +++ b/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol/devel/eclipse @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html b/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html index 9cce5b5..a662bdc 100644 --- a/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html +++ b/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol/devel @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html b/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html index 0f57647..b5e3eb2 100644 --- a/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html +++ b/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html b/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html index bd31c0a..46e1d51 100644 --- a/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html +++ b/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html @@ -3,7 +3,7 @@ - + Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src/include @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -86,11 +86,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); - - + - + @@ -99,9 +98,9 @@ Archivos diff --git a/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html b/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html index 716e6d5..efd0c90 100644 --- a/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html +++ b/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html @@ -3,7 +3,7 @@ - +Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD @@ -31,7 +31,7 @@

Archivos

archivo  server.h [código]
 Header de la clase Server.
archivo  client.h [código]
 
archivo  Socket.h [código]
 Header de la clase Socket.
 Header de la clase Socket.
 
archivo  SocketException.h [código]
 Header de excepción de Sockets.
- + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -92,9 +92,9 @@ Directorios
diff --git a/JChatClient/doc/html/doxygen.css b/JChatClient/doc/html/doxygen.css index 3ac2851..dabaff2 100644 --- a/JChatClient/doc/html/doxygen.css +++ b/JChatClient/doc/html/doxygen.css @@ -1,7 +1,7 @@ -/* The standard CSS for doxygen 1.8.4 */ +/* The standard CSS for doxygen 1.8.3.1 */ body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; + font: 400 14px/19px Roboto,sans-serif; } /* @group Heading Levels */ @@ -11,7 +11,6 @@ h1.groupheader { } .title { - font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; @@ -169,8 +168,8 @@ pre.fragment { } div.fragment { - padding: 0px; - margin: 0px; + padding: 4px; + margin: 4px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } @@ -688,7 +687,6 @@ div.directory { .directory td.entry { white-space: nowrap; padding-right: 6px; - padding-top: 3px; } .directory td.entry a { @@ -789,7 +787,7 @@ table.fieldtable { } .fieldtable td.fieldname { - padding-top: 3px; + padding-top: 5px; } .fieldtable td.fielddoc { @@ -798,7 +796,7 @@ table.fieldtable { } .fieldtable td.fielddoc p:first-child { - margin-top: 0px; + margin-top: 2px; } .fieldtable td.fielddoc p:last-child { diff --git a/JChatClient/doc/html/files.html b/JChatClient/doc/html/files.html index 705aea6..5c21a56 100644 --- a/JChatClient/doc/html/files.html +++ b/JChatClient/doc/html/files.html @@ -3,7 +3,7 @@ - + Socket: Lista de archivos @@ -31,7 +31,7 @@ - + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
@@ -95,19 +95,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');      \-JChatClient       \-src        o-include -       |o*server.hHeader de la clase Server -       |o*Socket.hHeader de la clase Socket -       |\*SocketException.hHeader de excepción de Sockets -       o*client.cppFichero de implementación de un cliente -       \*Socket.cppFichero de implementación de la clase Socket +       |o*client.h +       |o*Socket.hHeader de la clase Socket +       |\*SocketException.hHeader de excepción de Sockets +       o*client.cppFichero de implementación de un cliente +       \*Socket.cppFichero de implementación de la clase Socket
diff --git a/JChatClient/doc/html/functions.html b/JChatClient/doc/html/functions.html index f8962e4..059f6a9 100644 --- a/JChatClient/doc/html/functions.html +++ b/JChatClient/doc/html/functions.html @@ -3,7 +3,7 @@ - + Socket: Miembros de las clases @@ -31,7 +31,7 @@ - + @@ -73,33 +73,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Variables
  • -
    - Todo Clases Archivos Funciones Variables 'defines' Páginas
    + Todo Clases Archivos Funciones Variables Páginas
    @@ -109,23 +89,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    -
    Lista de todos los campos de clases con enlaces a las classes a que pertenecen:
    - -

    - a -

    diff --git a/JChatClient/doc/html/functions_func.html b/JChatClient/doc/html/functions_func.html index 5ce78ff..2c63757 100644 --- a/JChatClient/doc/html/functions_func.html +++ b/JChatClient/doc/html/functions_func.html @@ -3,7 +3,7 @@ - + Socket: Miembros de las clases - Funciones @@ -31,7 +31,7 @@ - + @@ -79,7 +79,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -108,21 +108,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • description() : SocketException
  • -
  • freeRAM() -: Server -
  • -
  • getNWorkers() -: Server -
  • getSock() : Socket
  • -
  • getStartedThreads() -: Server -
  • -
  • getStoppedThreads() -: Server -
  • Listen() : Socket
  • @@ -135,27 +123,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Receive() : Socket
  • -
  • requestExit() -: Server -
  • Send() : Socket
  • -
  • Server() -: Server -
  • -
  • setNWorkers() -: Server -
  • Socket() : Socket
  • SocketException() : SocketException
  • -
  • startServer() -: Server -
  • ~SocketException() : SocketException
  • @@ -163,9 +139,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/functions_vars.html b/JChatClient/doc/html/functions_vars.html index ea64aa9..445fa37 100644 --- a/JChatClient/doc/html/functions_vars.html +++ b/JChatClient/doc/html/functions_vars.html @@ -3,7 +3,7 @@ - + Socket: Miembros de las clases - Variables @@ -31,7 +31,7 @@ - + @@ -79,7 +79,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -93,55 +93,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • condition : thread_args
  • -
  • id -: thread_args -
  • message : SocketException
  • mutex : thread_args
  • -
  • nWorkers -: Server -
  • s : thread_args
  • -
  • serv -: thread_args -
  • -
  • shutdownServer -: Server -
  • sock : Socket
  • sockAddr : Socket
  • -
  • ss -: Server -
  • -
  • startedThreads -: Server -
  • -
  • stoppedThreads -: Server -
  • -
  • thread -: thread_args -
  • -
  • workerID -: Server -
  • diff --git a/JChatClient/doc/html/globals.html b/JChatClient/doc/html/globals.html index 847f6a3..9cc58ae 100644 --- a/JChatClient/doc/html/globals.html +++ b/JChatClient/doc/html/globals.html @@ -3,7 +3,7 @@ - + Socket: Miembros de los ficheros @@ -31,7 +31,7 @@ - + @@ -70,7 +70,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Todo
  • Funciones
  • Variables
  • -
  • 'defines'
  • @@ -79,7 +78,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -90,49 +89,34 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    Lista de todos los mienbros de los ficheros con enlaces a los ficheros a los que corresponden:
    diff --git a/JChatClient/doc/html/globals_func.html b/JChatClient/doc/html/globals_func.html index 61279b9..1a37b4e 100644 --- a/JChatClient/doc/html/globals_func.html +++ b/JChatClient/doc/html/globals_func.html @@ -3,7 +3,7 @@ - + Socket: Miembros de los ficheros @@ -31,7 +31,7 @@
    - + @@ -70,7 +70,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Todo
  • Funciones
  • Variables
  • -
  • 'defines'
  • @@ -79,7 +78,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -93,34 +92,25 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • connect() : client.cpp
  • -
  • exitClient() -: client.cpp -
  • killThread() -: server.h +: client.cpp
  • main() : client.cpp
  • -
  • processText() -: server.h -
  • -
  • readConf() -: server.h -
  • -
  • speedTest() -: client.cpp +
  • recvThread() +: client.cpp
  • -
  • WorkerThread() -: server.h +
  • sendThread() +: client.cpp
  • diff --git a/JChatClient/doc/html/globals_vars.html b/JChatClient/doc/html/globals_vars.html index 94dbfac..f887544 100644 --- a/JChatClient/doc/html/globals_vars.html +++ b/JChatClient/doc/html/globals_vars.html @@ -3,7 +3,7 @@ - + Socket: Miembros de los ficheros @@ -31,7 +31,7 @@ - + @@ -70,7 +70,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Todo
  • Funciones
  • Variables
  • -
  • 'defines'
  • @@ -79,7 +78,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -100,9 +99,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/howto.html b/JChatClient/doc/html/howto.html index ea5bda0..74d32f1 100644 --- a/JChatClient/doc/html/howto.html +++ b/JChatClient/doc/html/howto.html @@ -3,7 +3,7 @@ - + Socket: HOWTO @@ -31,7 +31,7 @@ - + @@ -64,7 +64,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -84,8 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
  • Envío/Recepción de mensajes
  • -
  • Compilación
  • Descripción de funcionamiento y uso de la librería.

    -
        A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso.
    -    <br><br>
    -

    +

    A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso.
    +
    +

    +

    Descripción del protocolo

    En las comunicaciones con Sockets hay un problema, es fácil saber la longitud del mensaje que vas a enviar, pero cuesta saber la longitud del mensaje que deseas recibir, ya que la transmisión se puede detener por llegar al fin del mensaje o bien por que hay problemas en la red.

    Los sockets de UNIX nos dan una solución, que es usar llamadas no bloqueantes para recibir el mensaje, es decir: Si leo de un socket, y no he llenado el buffer donde guardo los datos que recibo de allí, la aplicación no se bloquea esperando recibir la suficiente cantidad de datos. A su vez, se usan llamadas a la función select() para comprovar si hay datos disponibles a para leer o la conexión está terminada.

    @@ -112,8 +112,8 @@ Modo en texto llano Envío/Recepción de mensajes

    El mensaje se transmite de la siguiente forma:

      -
    1. Bob le quiere mandar a Alice un mensaje, primero primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter NULL ('\0') y lo manda.
    2. -
    3. Bob transmite el mensaje íntegro.
    4. +
    5. Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter NULL ('\0').
    6. +
    7. Bob añade el mensaje íntegro y lo manda todo junto.
    8. Alice lee uno a uno los carácteres del socket hasta encontrar un carácter NULL ('\0'), entonces lee lo que ha recibido, que es la longitud del mensaje real.
    9. Alice pasa a extraer los N bytes que ha leído que recibiría y obtiene el mensaje final.

      @@ -124,26 +124,13 @@ Envío/Recepción de mensajes Compilación

      A continuación se detallan las opciones e instrucciones necesarias para compilar esta librería.

      -

      -Opciones de compilación

      -

      Los siguientes #defines establecen la configuración en tiempo de compilación

      -
        -
      • RSALENGTH : La longitud de la llave RSA que se usará.
      • -
      • AESLENGTH : La longitud de la llave AES que se usará.
      • -
      • CONFFILE : La ruta absoluta o relativa al fichero de configuración del servidor (véase: conf).
      • -
      • PUBLICKEY : La ruta absoluta o relativa a la llave pública RSA. Existe en server.h y client.cpp
      • -
      • PRIVATEKEY : La ruta absoluta o relativa a la llave pública RSA. Existe en server.h y client.cpp
        -
      • -

      -Flags de compilación y librerías

      +Flags de compilación

      Flags de compilación necesarios:

        -
      • -I/carpeta/con/cabeceras_de/crypto++ -I/carpeta/con/cabeceras/de_la/librería/Socket
      • -
      • -L/carpeta/con/la_librería/crypto++
      • -
      • -lcryptopp -lpthread
      • +
      • -lpthread
      -

      Véase: makefile
      +




      @@ -159,9 +146,9 @@ Programar un cliente
    diff --git a/JChatClient/doc/html/howto_8dox.html b/JChatClient/doc/html/howto_8dox.html index 0757aea..274ac55 100644 --- a/JChatClient/doc/html/howto_8dox.html +++ b/JChatClient/doc/html/howto_8dox.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/howto.dox @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -91,9 +91,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/index.html b/JChatClient/doc/html/index.html index 74078d3..7c9c8d3 100644 --- a/JChatClient/doc/html/index.html +++ b/JChatClient/doc/html/index.html @@ -3,7 +3,7 @@ - + Socket: Página principal @@ -31,7 +31,7 @@ - + @@ -65,7 +65,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -79,8 +79,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    Página principal
    -

    La librería Socket es una implementación de comunicación con Sockets TCP/IP en GNU/Linux.

    -

    El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo std::string y enviarlo a una instancia debidamente incializada de la clase Socket. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.

    +

    La librería Socket es una implementación de comunicación con Sockets TCP/IP en GNU/Linux.

    +

    El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo std::string y enviarlo a una instancia debidamente incializada de la clase Socket. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.

    Para más información, consultar el HOWTO

    @@ -89,9 +89,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/jquery.js b/JChatClient/doc/html/jquery.js index c197801..63939e7 100644 --- a/JChatClient/doc/html/jquery.js +++ b/JChatClient/doc/html/jquery.js @@ -1,31 +1,8 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
    a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
    ";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
    t
    ";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
    ";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; -if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 -},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

    ";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
    ";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},ac=a(av); -ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
    ","
    "]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; -if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
    ").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b -})}})(window); +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")), +f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c) +{if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); diff --git a/JChatClient/doc/html/mainpage_8dox.html b/JChatClient/doc/html/mainpage_8dox.html index efffcb1..e0ec01d 100644 --- a/JChatClient/doc/html/mainpage_8dox.html +++ b/JChatClient/doc/html/mainpage_8dox.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/mainpage.dox @@ -31,7 +31,7 @@
    - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -88,9 +88,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/makefile_8dox.html b/JChatClient/doc/html/makefile_8dox.html index 7db703c..eb4cced 100644 --- a/JChatClient/doc/html/makefile_8dox.html +++ b/JChatClient/doc/html/makefile_8dox.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/makefile.dox @@ -31,7 +31,7 @@ - + @@ -70,7 +70,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -88,9 +88,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    diff --git a/JChatClient/doc/html/pages.html b/JChatClient/doc/html/pages.html index 2c416d8..8b0814c 100644 --- a/JChatClient/doc/html/pages.html +++ b/JChatClient/doc/html/pages.html @@ -3,7 +3,7 @@ - + Socket: Páginas relacionadas @@ -31,7 +31,7 @@ - + @@ -65,7 +65,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -81,16 +81,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
    Lista de toda la documentación relacionada:
    - - + +
    oClientEjemplo de aplicación cliente
    \HOWTODescripción de funcionamiento y uso de la librería
    oClientEjemplo de aplicación cliente
    \HOWTODescripción de funcionamiento y uso de la librería
    diff --git a/JChatClient/doc/html/search/all_61.html b/JChatClient/doc/html/search/all_61.html index f0d7d69..a89287e 100644 --- a/JChatClient/doc/html/search/all_61.html +++ b/JChatClient/doc/html/search/all_61.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_62.html b/JChatClient/doc/html/search/all_62.html index 2dbad36..ba79ca5 100644 --- a/JChatClient/doc/html/search/all_62.html +++ b/JChatClient/doc/html/search/all_62.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_63.html b/JChatClient/doc/html/search/all_63.html index 6bdafeb..f86180f 100644 --- a/JChatClient/doc/html/search/all_63.html +++ b/JChatClient/doc/html/search/all_63.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_63.js b/JChatClient/doc/html/search/all_63.js index c5a0ba7..f40ac1a 100644 --- a/JChatClient/doc/html/search/all_63.js +++ b/JChatClient/doc/html/search/all_63.js @@ -2,10 +2,10 @@ var searchData= [ ['client_2ecpp',['client.cpp',['../client_8cpp.html',1,'']]], ['client_2edox',['client.dox',['../client_8dox.html',1,'']]], + ['client_2eh',['client.h',['../client_8h.html',1,'']]], ['client',['Client',['../client_code.html',1,'']]], ['close',['Close',['../class_socket.html#a4c8ced9a8ce58834191b3b4f2033b173',1,'Socket']]], ['condition',['condition',['../structthread__args.html#a96ee28beaed4175257db3d8794245f25',1,'thread_args']]], - ['conffile',['CONFFILE',['../server_8h.html#ad22e7f0ef164a8dafb32f779f737a1bd',1,'server.h']]], ['connect',['Connect',['../class_socket.html#aa1d074c1aa400e8bca7c7da79b036abe',1,'Socket::Connect()'],['../client_8cpp.html#ab4a3d59d9d8c97b79cb3a6cb6a0e403c',1,'connect(): client.cpp']]], ['connected',['connected',['../client_8cpp.html#ab36823025f12a809217f7771125658c2',1,'client.cpp']]], ['create',['Create',['../class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1',1,'Socket']]] diff --git a/JChatClient/doc/html/search/all_64.html b/JChatClient/doc/html/search/all_64.html index 10af933..2fecc27 100644 --- a/JChatClient/doc/html/search/all_64.html +++ b/JChatClient/doc/html/search/all_64.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_66.html b/JChatClient/doc/html/search/all_66.html index 28fc78f..83b3930 100644 --- a/JChatClient/doc/html/search/all_66.html +++ b/JChatClient/doc/html/search/all_66.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_66.js b/JChatClient/doc/html/search/all_66.js index 9dd28ad..a96bdfb 100644 --- a/JChatClient/doc/html/search/all_66.js +++ b/JChatClient/doc/html/search/all_66.js @@ -1,5 +1,4 @@ var searchData= [ - ['finished',['finished',['../client_8cpp.html#a9324389a5cdc532c6417a87ccafe18ce',1,'client.cpp']]], - ['freeram',['freeRAM',['../class_server.html#a018bee9f1e342d9f349765187d89becd',1,'Server']]] + ['finished',['finished',['../client_8cpp.html#a9324389a5cdc532c6417a87ccafe18ce',1,'client.cpp']]] ]; diff --git a/JChatClient/doc/html/search/all_67.html b/JChatClient/doc/html/search/all_67.html index b26b1c6..9f2e88b 100644 --- a/JChatClient/doc/html/search/all_67.html +++ b/JChatClient/doc/html/search/all_67.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_67.js b/JChatClient/doc/html/search/all_67.js index d2e484a..e18ebc8 100644 --- a/JChatClient/doc/html/search/all_67.js +++ b/JChatClient/doc/html/search/all_67.js @@ -1,7 +1,4 @@ var searchData= [ - ['getnworkers',['getNWorkers',['../class_server.html#acf13ac1f7fc49f28c1b1fa76eab209ab',1,'Server']]], - ['getsock',['getSock',['../class_socket.html#abc14da0faa1d00fe361eeede1b3cda4a',1,'Socket']]], - ['getstartedthreads',['getStartedThreads',['../class_server.html#aea36a7c64710f7d6e852a72a124b61bb',1,'Server']]], - ['getstoppedthreads',['getStoppedThreads',['../class_server.html#a266d431df0fc72ae28a9a865e4d0aa5d',1,'Server']]] + ['getsock',['getSock',['../class_socket.html#abc14da0faa1d00fe361eeede1b3cda4a',1,'Socket']]] ]; diff --git a/JChatClient/doc/html/search/all_68.html b/JChatClient/doc/html/search/all_68.html index 2f2fdb2..4e070aa 100644 --- a/JChatClient/doc/html/search/all_68.html +++ b/JChatClient/doc/html/search/all_68.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_6b.html b/JChatClient/doc/html/search/all_6b.html index 4fcecd5..f5a875a 100644 --- a/JChatClient/doc/html/search/all_6b.html +++ b/JChatClient/doc/html/search/all_6b.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_6b.js b/JChatClient/doc/html/search/all_6b.js index 53dcd3b..a85ed90 100644 --- a/JChatClient/doc/html/search/all_6b.js +++ b/JChatClient/doc/html/search/all_6b.js @@ -1,4 +1,4 @@ var searchData= [ - ['killthread',['killThread',['../server_8h.html#ab99831172d1d4bca2c79bb37c7c062df',1,'server.h']]] + ['killthread',['killThread',['../client_8cpp.html#ab99831172d1d4bca2c79bb37c7c062df',1,'client.cpp']]] ]; diff --git a/JChatClient/doc/html/search/all_6c.html b/JChatClient/doc/html/search/all_6c.html index e6a44cc..c4afb9a 100644 --- a/JChatClient/doc/html/search/all_6c.html +++ b/JChatClient/doc/html/search/all_6c.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_6d.html b/JChatClient/doc/html/search/all_6d.html index 727fefc..8087110 100644 --- a/JChatClient/doc/html/search/all_6d.html +++ b/JChatClient/doc/html/search/all_6d.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_6f.html b/JChatClient/doc/html/search/all_6f.html index c157ff4..d790b62 100644 --- a/JChatClient/doc/html/search/all_6f.html +++ b/JChatClient/doc/html/search/all_6f.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_70.html b/JChatClient/doc/html/search/all_70.html index 01863c3..76420c3 100644 --- a/JChatClient/doc/html/search/all_70.html +++ b/JChatClient/doc/html/search/all_70.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_70.js b/JChatClient/doc/html/search/all_70.js index 7df9bd1..53eada5 100644 --- a/JChatClient/doc/html/search/all_70.js +++ b/JChatClient/doc/html/search/all_70.js @@ -1,5 +1,4 @@ var searchData= [ - ['p_c3_a1gina_20principal',['Página principal',['../index.html',1,'']]], - ['processtext',['processText',['../server_8h.html#aa6328bc358b87d3e11c3f460d6427c5b',1,'server.h']]] + ['p_c3_a1gina_20principal',['Página principal',['../index.html',1,'']]] ]; diff --git a/JChatClient/doc/html/search/all_72.html b/JChatClient/doc/html/search/all_72.html index 5140de9..3157ef9 100644 --- a/JChatClient/doc/html/search/all_72.html +++ b/JChatClient/doc/html/search/all_72.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_72.js b/JChatClient/doc/html/search/all_72.js index 84d1331..231feaf 100644 --- a/JChatClient/doc/html/search/all_72.js +++ b/JChatClient/doc/html/search/all_72.js @@ -1,6 +1,5 @@ var searchData= [ - ['readconf',['readConf',['../server_8h.html#a4f850f08d755a0d0ebe936b5b84975e3',1,'server.h']]], ['receive',['Receive',['../class_socket.html#aa1a8b143bb2adf57934156d9e33b8611',1,'Socket']]], - ['requestexit',['requestExit',['../class_server.html#a74769349252c1ad61717b156e42d61d3',1,'Server']]] + ['recvthread',['recvThread',['../client_8cpp.html#abbdd974364b0dba7bb0524ab8f115a03',1,'client.cpp']]] ]; diff --git a/JChatClient/doc/html/search/all_73.html b/JChatClient/doc/html/search/all_73.html index 5e44988..922305a 100644 --- a/JChatClient/doc/html/search/all_73.html +++ b/JChatClient/doc/html/search/all_73.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_73.js b/JChatClient/doc/html/search/all_73.js index 9244518..81d4f0a 100644 --- a/JChatClient/doc/html/search/all_73.js +++ b/JChatClient/doc/html/search/all_73.js @@ -2,21 +2,12 @@ var searchData= [ ['s',['s',['../structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489',1,'thread_args']]], ['send',['Send',['../class_socket.html#a4c4ecb88d5587177899198861d29d3dd',1,'Socket']]], - ['serv',['serv',['../structthread__args.html#ab29508135b033282f374d0fb47028fbd',1,'thread_args']]], - ['server',['Server',['../class_server.html',1,'Server'],['../class_server.html#ad5ec9462b520e59f7ea831e157ee5e59',1,'Server::Server()']]], - ['server_2eh',['server.h',['../server_8h.html',1,'']]], - ['setnworkers',['setNWorkers',['../class_server.html#a0090663c66f1f371f8b1aa87c5f49623',1,'Server']]], - ['shutdownserver',['shutdownServer',['../class_server.html#aa9231b38adc787954a13f04372de8ed2',1,'Server']]], + ['sendthread',['sendThread',['../client_8cpp.html#a6511fc920cd92a0fe628df3f1a1f7e5a',1,'client.cpp']]], ['sock',['sock',['../class_socket.html#a231ddf6e338a86640e26808b83efeaa1',1,'Socket']]], ['sockaddr',['sockAddr',['../class_socket.html#ae4d80b83c327ed835b5f4575a499a400',1,'Socket']]], ['socket',['Socket',['../class_socket.html',1,'Socket'],['../class_socket.html#a7c3256c4fc6e2c603df73201049fae5a',1,'Socket::Socket()']]], ['socket_2ecpp',['Socket.cpp',['../_socket_8cpp.html',1,'']]], ['socket_2eh',['Socket.h',['../_socket_8h.html',1,'']]], ['socketexception',['SocketException',['../class_socket_exception.html',1,'SocketException'],['../class_socket_exception.html#a06573084bad8aca1443281c0970fe033',1,'SocketException::SocketException()']]], - ['socketexception_2eh',['SocketException.h',['../_socket_exception_8h.html',1,'']]], - ['speedtest',['speedTest',['../client_8cpp.html#adce119cd6356a05c4703195cc608e17c',1,'client.cpp']]], - ['ss',['ss',['../class_server.html#af9e1a6848bdd627741b85e75777e3b45',1,'Server']]], - ['startedthreads',['startedThreads',['../class_server.html#a40fdc13e227f651943e0aa3757824396',1,'Server']]], - ['startserver',['startServer',['../class_server.html#aef89851f83a9bbe4459c46b6c7906e1f',1,'Server']]], - ['stoppedthreads',['stoppedThreads',['../class_server.html#a36a18616b526f3053a1036641a62cb0a',1,'Server']]] + ['socketexception_2eh',['SocketException.h',['../_socket_exception_8h.html',1,'']]] ]; diff --git a/JChatClient/doc/html/search/all_74.html b/JChatClient/doc/html/search/all_74.html index 1010f9a..924c35a 100644 --- a/JChatClient/doc/html/search/all_74.html +++ b/JChatClient/doc/html/search/all_74.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/all_74.js b/JChatClient/doc/html/search/all_74.js index bd24771..795e062 100644 --- a/JChatClient/doc/html/search/all_74.js +++ b/JChatClient/doc/html/search/all_74.js @@ -1,5 +1,4 @@ var searchData= [ - ['thread',['thread',['../structthread__args.html#acdcd2db4307e5e75d5110067e196a70e',1,'thread_args']]], ['thread_5fargs',['thread_args',['../structthread__args.html',1,'']]] ]; diff --git a/JChatClient/doc/html/search/all_7e.html b/JChatClient/doc/html/search/all_7e.html index 86c9855..b499059 100644 --- a/JChatClient/doc/html/search/all_7e.html +++ b/JChatClient/doc/html/search/all_7e.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/classes_73.html b/JChatClient/doc/html/search/classes_73.html index f837a2b..bea334e 100644 --- a/JChatClient/doc/html/search/classes_73.html +++ b/JChatClient/doc/html/search/classes_73.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/classes_73.js b/JChatClient/doc/html/search/classes_73.js index 1ffbf96..9e9cbbc 100644 --- a/JChatClient/doc/html/search/classes_73.js +++ b/JChatClient/doc/html/search/classes_73.js @@ -1,6 +1,5 @@ var searchData= [ - ['server',['Server',['../class_server.html',1,'']]], ['socket',['Socket',['../class_socket.html',1,'']]], ['socketexception',['SocketException',['../class_socket_exception.html',1,'']]] ]; diff --git a/JChatClient/doc/html/search/classes_74.html b/JChatClient/doc/html/search/classes_74.html index f831645..96e7f73 100644 --- a/JChatClient/doc/html/search/classes_74.html +++ b/JChatClient/doc/html/search/classes_74.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/files_63.html b/JChatClient/doc/html/search/files_63.html index 58ee113..40e5ead 100644 --- a/JChatClient/doc/html/search/files_63.html +++ b/JChatClient/doc/html/search/files_63.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/files_63.js b/JChatClient/doc/html/search/files_63.js index 90ef86b..74cc064 100644 --- a/JChatClient/doc/html/search/files_63.js +++ b/JChatClient/doc/html/search/files_63.js @@ -1,5 +1,6 @@ var searchData= [ ['client_2ecpp',['client.cpp',['../client_8cpp.html',1,'']]], - ['client_2edox',['client.dox',['../client_8dox.html',1,'']]] + ['client_2edox',['client.dox',['../client_8dox.html',1,'']]], + ['client_2eh',['client.h',['../client_8h.html',1,'']]] ]; diff --git a/JChatClient/doc/html/search/files_68.html b/JChatClient/doc/html/search/files_68.html index 851b09b..3fc9719 100644 --- a/JChatClient/doc/html/search/files_68.html +++ b/JChatClient/doc/html/search/files_68.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/files_6d.html b/JChatClient/doc/html/search/files_6d.html index ecb629e..d0a6c12 100644 --- a/JChatClient/doc/html/search/files_6d.html +++ b/JChatClient/doc/html/search/files_6d.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/files_73.html b/JChatClient/doc/html/search/files_73.html index 5231fbe..de69534 100644 --- a/JChatClient/doc/html/search/files_73.html +++ b/JChatClient/doc/html/search/files_73.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/files_73.js b/JChatClient/doc/html/search/files_73.js index 6658d4f..0e622f0 100644 --- a/JChatClient/doc/html/search/files_73.js +++ b/JChatClient/doc/html/search/files_73.js @@ -1,6 +1,5 @@ var searchData= [ - ['server_2eh',['server.h',['../server_8h.html',1,'']]], ['socket_2ecpp',['Socket.cpp',['../_socket_8cpp.html',1,'']]], ['socket_2eh',['Socket.h',['../_socket_8h.html',1,'']]], ['socketexception_2eh',['SocketException.h',['../_socket_exception_8h.html',1,'']]] diff --git a/JChatClient/doc/html/search/functions_61.html b/JChatClient/doc/html/search/functions_61.html index ddda24f..2b43fac 100644 --- a/JChatClient/doc/html/search/functions_61.html +++ b/JChatClient/doc/html/search/functions_61.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_62.html b/JChatClient/doc/html/search/functions_62.html index 56f7b60..8429cb8 100644 --- a/JChatClient/doc/html/search/functions_62.html +++ b/JChatClient/doc/html/search/functions_62.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_63.html b/JChatClient/doc/html/search/functions_63.html index a03c5ed..6c18d84 100644 --- a/JChatClient/doc/html/search/functions_63.html +++ b/JChatClient/doc/html/search/functions_63.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_64.html b/JChatClient/doc/html/search/functions_64.html index 66695e8..ba595bc 100644 --- a/JChatClient/doc/html/search/functions_64.html +++ b/JChatClient/doc/html/search/functions_64.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_67.html b/JChatClient/doc/html/search/functions_67.html index 7a4f735..d3a6198 100644 --- a/JChatClient/doc/html/search/functions_67.html +++ b/JChatClient/doc/html/search/functions_67.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_67.js b/JChatClient/doc/html/search/functions_67.js index d2e484a..e18ebc8 100644 --- a/JChatClient/doc/html/search/functions_67.js +++ b/JChatClient/doc/html/search/functions_67.js @@ -1,7 +1,4 @@ var searchData= [ - ['getnworkers',['getNWorkers',['../class_server.html#acf13ac1f7fc49f28c1b1fa76eab209ab',1,'Server']]], - ['getsock',['getSock',['../class_socket.html#abc14da0faa1d00fe361eeede1b3cda4a',1,'Socket']]], - ['getstartedthreads',['getStartedThreads',['../class_server.html#aea36a7c64710f7d6e852a72a124b61bb',1,'Server']]], - ['getstoppedthreads',['getStoppedThreads',['../class_server.html#a266d431df0fc72ae28a9a865e4d0aa5d',1,'Server']]] + ['getsock',['getSock',['../class_socket.html#abc14da0faa1d00fe361eeede1b3cda4a',1,'Socket']]] ]; diff --git a/JChatClient/doc/html/search/functions_6b.html b/JChatClient/doc/html/search/functions_6b.html index 87d1381..04900a1 100644 --- a/JChatClient/doc/html/search/functions_6b.html +++ b/JChatClient/doc/html/search/functions_6b.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_6b.js b/JChatClient/doc/html/search/functions_6b.js index 53dcd3b..a85ed90 100644 --- a/JChatClient/doc/html/search/functions_6b.js +++ b/JChatClient/doc/html/search/functions_6b.js @@ -1,4 +1,4 @@ var searchData= [ - ['killthread',['killThread',['../server_8h.html#ab99831172d1d4bca2c79bb37c7c062df',1,'server.h']]] + ['killthread',['killThread',['../client_8cpp.html#ab99831172d1d4bca2c79bb37c7c062df',1,'client.cpp']]] ]; diff --git a/JChatClient/doc/html/search/functions_6c.html b/JChatClient/doc/html/search/functions_6c.html index c61fe64..02109a0 100644 --- a/JChatClient/doc/html/search/functions_6c.html +++ b/JChatClient/doc/html/search/functions_6c.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_6d.html b/JChatClient/doc/html/search/functions_6d.html index 2e25df2..fb5348b 100644 --- a/JChatClient/doc/html/search/functions_6d.html +++ b/JChatClient/doc/html/search/functions_6d.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_6f.html b/JChatClient/doc/html/search/functions_6f.html index 6af25dc..5a463ad 100644 --- a/JChatClient/doc/html/search/functions_6f.html +++ b/JChatClient/doc/html/search/functions_6f.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_72.html b/JChatClient/doc/html/search/functions_72.html index a2008f2..bb678ae 100644 --- a/JChatClient/doc/html/search/functions_72.html +++ b/JChatClient/doc/html/search/functions_72.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_72.js b/JChatClient/doc/html/search/functions_72.js index 84d1331..231feaf 100644 --- a/JChatClient/doc/html/search/functions_72.js +++ b/JChatClient/doc/html/search/functions_72.js @@ -1,6 +1,5 @@ var searchData= [ - ['readconf',['readConf',['../server_8h.html#a4f850f08d755a0d0ebe936b5b84975e3',1,'server.h']]], ['receive',['Receive',['../class_socket.html#aa1a8b143bb2adf57934156d9e33b8611',1,'Socket']]], - ['requestexit',['requestExit',['../class_server.html#a74769349252c1ad61717b156e42d61d3',1,'Server']]] + ['recvthread',['recvThread',['../client_8cpp.html#abbdd974364b0dba7bb0524ab8f115a03',1,'client.cpp']]] ]; diff --git a/JChatClient/doc/html/search/functions_73.html b/JChatClient/doc/html/search/functions_73.html index fa9be7e..b8ef62c 100644 --- a/JChatClient/doc/html/search/functions_73.html +++ b/JChatClient/doc/html/search/functions_73.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/functions_73.js b/JChatClient/doc/html/search/functions_73.js index 9d1173b..3ee3fcb 100644 --- a/JChatClient/doc/html/search/functions_73.js +++ b/JChatClient/doc/html/search/functions_73.js @@ -1,10 +1,7 @@ var searchData= [ ['send',['Send',['../class_socket.html#a4c4ecb88d5587177899198861d29d3dd',1,'Socket']]], - ['server',['Server',['../class_server.html#ad5ec9462b520e59f7ea831e157ee5e59',1,'Server']]], - ['setnworkers',['setNWorkers',['../class_server.html#a0090663c66f1f371f8b1aa87c5f49623',1,'Server']]], + ['sendthread',['sendThread',['../client_8cpp.html#a6511fc920cd92a0fe628df3f1a1f7e5a',1,'client.cpp']]], ['socket',['Socket',['../class_socket.html#a7c3256c4fc6e2c603df73201049fae5a',1,'Socket']]], - ['socketexception',['SocketException',['../class_socket_exception.html#a06573084bad8aca1443281c0970fe033',1,'SocketException']]], - ['speedtest',['speedTest',['../client_8cpp.html#adce119cd6356a05c4703195cc608e17c',1,'client.cpp']]], - ['startserver',['startServer',['../class_server.html#aef89851f83a9bbe4459c46b6c7906e1f',1,'Server']]] + ['socketexception',['SocketException',['../class_socket_exception.html#a06573084bad8aca1443281c0970fe033',1,'SocketException']]] ]; diff --git a/JChatClient/doc/html/search/functions_7e.html b/JChatClient/doc/html/search/functions_7e.html index e3a9a7d..8735f30 100644 --- a/JChatClient/doc/html/search/functions_7e.html +++ b/JChatClient/doc/html/search/functions_7e.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/pages_63.html b/JChatClient/doc/html/search/pages_63.html index a657909..c5612f7 100644 --- a/JChatClient/doc/html/search/pages_63.html +++ b/JChatClient/doc/html/search/pages_63.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/pages_68.html b/JChatClient/doc/html/search/pages_68.html index 5f7c246..49958c2 100644 --- a/JChatClient/doc/html/search/pages_68.html +++ b/JChatClient/doc/html/search/pages_68.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/pages_70.html b/JChatClient/doc/html/search/pages_70.html index 27620eb..1d1142a 100644 --- a/JChatClient/doc/html/search/pages_70.html +++ b/JChatClient/doc/html/search/pages_70.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/search.css b/JChatClient/doc/html/search/search.css index 4d7612f..5b208ed 100644 --- a/JChatClient/doc/html/search/search.css +++ b/JChatClient/doc/html/search/search.css @@ -48,7 +48,7 @@ height:19px; background:url('search_m.png') repeat-x; border:none; - width:111px; + width:116px; margin-left:20px; padding-left:4px; color: #909090; diff --git a/JChatClient/doc/html/search/search.js b/JChatClient/doc/html/search/search.js index cd3a598..647ebba 100644 --- a/JChatClient/doc/html/search/search.js +++ b/JChatClient/doc/html/search/search.js @@ -7,13 +7,12 @@ var indexSectionsWithContent = { - 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111011111101110010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111101110011101101110000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111100011101101100010000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001001000110000110010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - 6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111100100011101001100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + 5: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }; var indexSectionNames = @@ -23,8 +22,7 @@ var indexSectionNames = 2: "files", 3: "functions", 4: "variables", - 5: "defines", - 6: "pages" + 5: "pages" }; function convertToId(search) diff --git a/JChatClient/doc/html/search/variables_63.html b/JChatClient/doc/html/search/variables_63.html index f72f9f6..5f9e802 100644 --- a/JChatClient/doc/html/search/variables_63.html +++ b/JChatClient/doc/html/search/variables_63.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/variables_66.html b/JChatClient/doc/html/search/variables_66.html index 5a4db86..2de9d4d 100644 --- a/JChatClient/doc/html/search/variables_66.html +++ b/JChatClient/doc/html/search/variables_66.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/variables_6d.html b/JChatClient/doc/html/search/variables_6d.html index 3de1b53..4f3a2e8 100644 --- a/JChatClient/doc/html/search/variables_6d.html +++ b/JChatClient/doc/html/search/variables_6d.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/variables_73.html b/JChatClient/doc/html/search/variables_73.html index a6e61de..bd33d86 100644 --- a/JChatClient/doc/html/search/variables_73.html +++ b/JChatClient/doc/html/search/variables_73.html @@ -1,7 +1,7 @@ - + diff --git a/JChatClient/doc/html/search/variables_73.js b/JChatClient/doc/html/search/variables_73.js index 8a01376..9b2853e 100644 --- a/JChatClient/doc/html/search/variables_73.js +++ b/JChatClient/doc/html/search/variables_73.js @@ -1,11 +1,6 @@ var searchData= [ ['s',['s',['../structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489',1,'thread_args']]], - ['serv',['serv',['../structthread__args.html#ab29508135b033282f374d0fb47028fbd',1,'thread_args']]], - ['shutdownserver',['shutdownServer',['../class_server.html#aa9231b38adc787954a13f04372de8ed2',1,'Server']]], ['sock',['sock',['../class_socket.html#a231ddf6e338a86640e26808b83efeaa1',1,'Socket']]], - ['sockaddr',['sockAddr',['../class_socket.html#ae4d80b83c327ed835b5f4575a499a400',1,'Socket']]], - ['ss',['ss',['../class_server.html#af9e1a6848bdd627741b85e75777e3b45',1,'Server']]], - ['startedthreads',['startedThreads',['../class_server.html#a40fdc13e227f651943e0aa3757824396',1,'Server']]], - ['stoppedthreads',['stoppedThreads',['../class_server.html#a36a18616b526f3053a1036641a62cb0a',1,'Server']]] + ['sockaddr',['sockAddr',['../class_socket.html#ae4d80b83c327ed835b5f4575a499a400',1,'Socket']]] ]; diff --git a/JChatClient/doc/html/structthread__args-members.html b/JChatClient/doc/html/structthread__args-members.html index e5b957d..cd74ae0 100644 --- a/JChatClient/doc/html/structthread__args-members.html +++ b/JChatClient/doc/html/structthread__args-members.html @@ -3,7 +3,7 @@ - + Socket: Lista de los miembros @@ -31,7 +31,7 @@
    - + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -90,17 +90,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');

    Lista completa de los miembros de thread_args, incluyendo todos los heredados:

    - - - - - + +
    conditionthread_args
    idthread_args
    mutexthread_args
    sthread_args
    servthread_args
    threadthread_args
    mutexthread_args
    sthread_args
    diff --git a/JChatClient/doc/html/structthread__args.html b/JChatClient/doc/html/structthread__args.html index 72afa8f..30f3b36 100644 --- a/JChatClient/doc/html/structthread__args.html +++ b/JChatClient/doc/html/structthread__args.html @@ -3,7 +3,7 @@ - + Socket: Referencia de la Estructura thread_args @@ -31,7 +31,7 @@ - + @@ -71,7 +71,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> - Todo Clases Archivos Funciones Variables 'defines' Páginas + Todo Clases Archivos Funciones Variables Páginas
    @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');

    Argumentos de los threads. Más...

    -

    #include <server.h>

    +

    #include <client.h>

    @@ -103,18 +103,9 @@ Atributos públicos - - - - - - - - -

    Atributos públicos

    pthread_cond_t * condition
     Variable de notificación a otros threads. Más...
     
    pthread_t * thread
     Puntero al thread. Más...
     
    Sockets
     Puntero al socket. Más...
     
    Serverserv
     Puntero al servidor. Más...
     
    int id
     ID del thread. Más...
     

    Descripción detallada

    Argumentos de los threads.

    @@ -134,22 +125,7 @@ Atributos públicos

    Variable de notificación a otros threads.

    Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.

    -

    Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.*

    - -
    -
    - -
    -
    - - - - -
    int thread_args::id
    -
    - -

    ID del thread.

    -

    Identifica al thread con un ID único

    +

    Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.

    @@ -183,45 +159,15 @@ Atributos públicos - -
    -
    - - - - -
    Server* thread_args::serv
    -
    - -

    Puntero al servidor.

    -

    Esta variable representa el puntero al servidor de la aplicación. Con este puntero, los threads se mueven a la pila de threads terminados una vez terminan la ejecución para que el thread principal (el propio servidor), vaya liberando la memoria asignada.

    - -
    -
    - -
    -
    - - - - -
    pthread_t* thread_args::thread
    -
    - -

    Puntero al thread.

    -

    Esta variable representa el puntero del propio thread. Al finalizar, este enviará su puntero a la lista de threads terminados, donde la memoria asignada al thread se destruirá.

    - -
    -

    La documentación para esta estructura fue generada a partir del siguiente fichero: diff --git a/JChatClient/doc/latex/Makefile b/JChatClient/doc/latex/Makefile index 3cc085f..083d8b1 100644 --- a/JChatClient/doc/latex/Makefile +++ b/JChatClient/doc/latex/Makefile @@ -13,8 +13,6 @@ refman.pdf: clean refman.tex pdflatex refman ;\ latex_count=`expr $$latex_count - 1` ;\ done - makeindex refman.idx - pdflatex refman clean: diff --git a/JChatClient/doc/latex/_socket_8cpp.tex b/JChatClient/doc/latex/_socket_8cpp.tex index 64c8a4c..0a4f29b 100644 --- a/JChatClient/doc/latex/_socket_8cpp.tex +++ b/JChatClient/doc/latex/_socket_8cpp.tex @@ -7,11 +7,6 @@ Fichero de implementación de la clase \hyperlink{class_socket}{Socket}. {\ttfamily \#include \char`\"{}Socket.\-h\char`\"{}}\\* -{\ttfamily \#include \char`\"{}Socket\-Exception.\-h\char`\"{}}\\* -{\ttfamily \#include $<$sstream$>$}\\* -{\ttfamily \#include $<$strings.\-h$>$}\\* -{\ttfamily \#include $<$cstdlib$>$}\\* -{\ttfamily \#include $<$netinet/tcp.\-h$>$}\\* \subsection{Descripción detallada} diff --git a/JChatClient/doc/latex/_socket_8h.tex b/JChatClient/doc/latex/_socket_8h.tex index 9a73226..e0d43bc 100644 --- a/JChatClient/doc/latex/_socket_8h.tex +++ b/JChatClient/doc/latex/_socket_8h.tex @@ -7,13 +7,17 @@ Header de la clase \hyperlink{class_socket}{Socket}. {\ttfamily \#include $<$iostream$>$}\\* +{\ttfamily \#include $<$sstream$>$}\\* +{\ttfamily \#include \char`\"{}Socket\-Exception.\-h\char`\"{}}\\* {\ttfamily \#include $<$sys/socket.\-h$>$}\\* +{\ttfamily \#include $<$sys/types.\-h$>$}\\* {\ttfamily \#include $<$netinet/in.\-h$>$}\\* +{\ttfamily \#include $<$netinet/tcp.\-h$>$}\\* {\ttfamily \#include $<$arpa/inet.\-h$>$}\\* {\ttfamily \#include $<$netdb.\-h$>$}\\* -{\ttfamily \#include $<$string$>$}\\* -{\ttfamily \#include $<$sys/types.\-h$>$}\\* {\ttfamily \#include $<$unistd.\-h$>$}\\* +{\ttfamily \#include $<$cstdlib$>$}\\* +{\ttfamily \#include $<$cstring$>$}\\* \subsection*{Clases} \begin{DoxyCompactItemize} \item diff --git a/JChatClient/doc/latex/annotated.tex b/JChatClient/doc/latex/annotated.tex index 7269aed..40d2293 100644 --- a/JChatClient/doc/latex/annotated.tex +++ b/JChatClient/doc/latex/annotated.tex @@ -1,6 +1,5 @@ \section{Lista de clases} Lista de las clases, estructuras, uniones e interfaces con una breve descripción\-:\begin{DoxyCompactList} -\item\contentsline{section}{\hyperlink{class_server}{Server} \\*Clase de aplicación servidor }{\pageref{class_server}}{} \item\contentsline{section}{\hyperlink{class_socket}{Socket} \\*Clase del socket }{\pageref{class_socket}}{} \item\contentsline{section}{\hyperlink{class_socket_exception}{Socket\-Exception} \\*Clase de Excepción de Sockets }{\pageref{class_socket_exception}}{} \item\contentsline{section}{\hyperlink{structthread__args}{thread\-\_\-args} \\*Argumentos de los threads }{\pageref{structthread__args}}{} diff --git a/JChatClient/doc/latex/class_socket.tex b/JChatClient/doc/latex/class_socket.tex index cebbd9b..b35fff9 100644 --- a/JChatClient/doc/latex/class_socket.tex +++ b/JChatClient/doc/latex/class_socket.tex @@ -80,9 +80,7 @@ Inicializa el file descriptor del socket y prepara la memoria donde se almacenar Método para aceptar conexiones. -\begin{DoxyVerb}Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase -\end{DoxyVerb} - \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento. +Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento. \begin{DoxyParams}{Parámetros} {\em client\-Sock} & Instáncia de \hyperlink{class_socket}{Socket} que comunica con el cliente entrante \\ \hline @@ -99,9 +97,7 @@ Método para aceptar conexiones. Método para hacer bind a una dirección y puerto. -\begin{DoxyVerb}Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que -\end{DoxyVerb} - posteriormente actúe de servidor escuchando conexiones. +Este método asigna el socket a una dirección I\-P (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones. \begin{DoxyParams}{Parámetros} {\em address} & Dirección I\-P asignada \\ \hline @@ -131,9 +127,7 @@ Este método cierra el socket para que no se pueda escribir ni leer más en él, Método para efectuar conexiones. -\begin{DoxyVerb}Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la -\end{DoxyVerb} - dirección y puerto especificados y atienda conexiones. +Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones. \begin{DoxyParams}{Parámetros} {\em hostname} & Hostname al que conectarse \\ \hline @@ -189,9 +183,7 @@ Este método configura el socket para que se ponga en modo escucha y así pueda Método para enviar mensajes. -\begin{DoxyVerb}Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según -\end{DoxyVerb} - las \hyperlink{howto_defines}{opciones de compilación} usando el \hyperlink{howto_proto}{protocolo} implementado. +Este método envía el mensaje que se le proporciona a través del \hyperlink{class_socket}{Socket} con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado. \begin{DoxyParams}{Parámetros} {\em text} & Mensaje a enviar \\ \hline @@ -207,9 +199,7 @@ Método para enviar mensajes. Método para recibir mensajes. -\begin{DoxyVerb}Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando -\end{DoxyVerb} - el \hyperlink{howto_proto}{protocolo} implementado. +Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado. \begin{DoxyParams}{Parámetros} {\em text} & Mensaje a recibir \\ \hline diff --git a/JChatClient/doc/latex/client_8cpp.tex b/JChatClient/doc/latex/client_8cpp.tex index 49631bf..18babbd 100644 --- a/JChatClient/doc/latex/client_8cpp.tex +++ b/JChatClient/doc/latex/client_8cpp.tex @@ -6,31 +6,27 @@ Fichero de implementación de un cliente. -{\ttfamily \#include \char`\"{}Socket.\-h\char`\"{}}\\* -{\ttfamily \#include $<$iostream$>$}\\* -{\ttfamily \#include \char`\"{}Socket\-Exception.\-h\char`\"{}}\\* -{\ttfamily \#include $<$sstream$>$}\\* -{\ttfamily \#include $<$signal.\-h$>$}\\* -{\ttfamily \#include $<$cstdlib$>$}\\* -{\ttfamily \#include $<$sys/time.\-h$>$}\\* +{\ttfamily \#include \char`\"{}client.\-h\char`\"{}}\\* \subsection*{Funciones} \begin{DoxyCompactItemize} \item -void \hyperlink{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{exit\-Client} (int signal) -\begin{DoxyCompactList}\small\item\em Método para terminar el cliente. \end{DoxyCompactList}\item +void \hyperlink{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{kill\-Thread} (\hyperlink{structthread__args}{thread\-\_\-args} $\ast$t\-\_\-arg) +\begin{DoxyCompactList}\small\item\em Método de liberación de los argumentos. \end{DoxyCompactList}\item bool \hyperlink{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{connect} (\hyperlink{class_socket}{Socket} \&s) -\item -void \hyperlink{client_8cpp_adce119cd6356a05c4703195cc608e17c}{speed\-Test} (\hyperlink{class_socket}{Socket} \&s) -\item +\begin{DoxyCompactList}\small\item\em Método de conexión. \end{DoxyCompactList}\item +void $\ast$ \hyperlink{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{send\-Thread} (void $\ast$args) +\begin{DoxyCompactList}\small\item\em Thread de envío de mensajes. \end{DoxyCompactList}\item +void $\ast$ \hyperlink{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{recv\-Thread} (void $\ast$args) +\begin{DoxyCompactList}\small\item\em Thread de recepción de mensajes. \end{DoxyCompactList}\item int \hyperlink{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main} () \begin{DoxyCompactList}\small\item\em Método principal del cliente. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Variables} \begin{DoxyCompactItemize} \item bool \hyperlink{client_8cpp_ab36823025f12a809217f7771125658c2}{connected} -\item +\begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\item bool \hyperlink{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{finished} -\end{DoxyCompactItemize} +\begin{DoxyCompactList}\small\item\em Variable de estado del programa. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Descripción detallada} @@ -40,7 +36,7 @@ Imanol Barba Sabariego \begin{DoxyDate}{Fecha} 13/06/2013 \end{DoxyDate} -En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase \hyperlink{class_socket}{Socket}. +En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase \hyperlink{class_socket}{Socket}. R\-E\-V\-I\-S\-A\-D\-O E\-L 10/12/2013 P\-A\-R\-A L\-A A\-P\-L\-I\-A\-C\-IÓ\-N J\-C\-H\-A\-T \subsection{Documentación de las funciones} \hypertarget{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{\index{client.\-cpp@{client.\-cpp}!connect@{connect}} @@ -50,25 +46,22 @@ En este fichero se implementa un cliente para poder usar con el servidor creado, \item[{{\bf Socket} \&}]{s} \end{DoxyParamCaption} )}}\label{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c} -\hypertarget{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{\index{client.\-cpp@{client.\-cpp}!exit\-Client@{exit\-Client}} -\index{exit\-Client@{exit\-Client}!client.cpp@{client.\-cpp}} -\subsubsection[{exit\-Client}]{\setlength{\rightskip}{0pt plus 5cm}void exit\-Client ( + + +Método de conexión. + +Este método conecta el cliente a una sala de chat. \hypertarget{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{\index{client.\-cpp@{client.\-cpp}!kill\-Thread@{kill\-Thread}} +\index{kill\-Thread@{kill\-Thread}!client.cpp@{client.\-cpp}} +\subsubsection[{kill\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void kill\-Thread ( \begin{DoxyParamCaption} -\item[{int}]{signal} +\item[{{\bf thread\-\_\-args} $\ast$}]{t\-\_\-arg} \end{DoxyParamCaption} -)}}\label{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba} +)}}\label{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df} -Método para terminar el cliente. +Método de liberación de los argumentos. -\begin{DoxyVerb}Este método se usa para terminar el cliente immediatamente en el caso que el servidor cierre la conexión de forma inesperada, capturando -\end{DoxyVerb} - el signal S\-I\-G\-P\-I\-P\-E. -\begin{DoxyParams}{Parámetros} -{\em signal} & Parámetro que captura el signal recibido \\ -\hline -\end{DoxyParams} -\hypertarget{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{\index{client.\-cpp@{client.\-cpp}!main@{main}} +Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. \hypertarget{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{\index{client.\-cpp@{client.\-cpp}!main@{main}} \index{main@{main}!client.cpp@{client.\-cpp}} \subsubsection[{main}]{\setlength{\rightskip}{0pt plus 5cm}int main ( \begin{DoxyParamCaption} @@ -79,19 +72,42 @@ Método para terminar el cliente. Método principal del cliente. -Este método inicializa el \hyperlink{class_socket}{Socket}, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. \hypertarget{client_8cpp_adce119cd6356a05c4703195cc608e17c}{\index{client.\-cpp@{client.\-cpp}!speed\-Test@{speed\-Test}} -\index{speed\-Test@{speed\-Test}!client.cpp@{client.\-cpp}} -\subsubsection[{speed\-Test}]{\setlength{\rightskip}{0pt plus 5cm}void speed\-Test ( +Este método inicializa el \hyperlink{class_socket}{Socket}, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. \hypertarget{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{\index{client.\-cpp@{client.\-cpp}!recv\-Thread@{recv\-Thread}} +\index{recv\-Thread@{recv\-Thread}!client.cpp@{client.\-cpp}} +\subsubsection[{recv\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ recv\-Thread ( \begin{DoxyParamCaption} -\item[{{\bf Socket} \&}]{s} +\item[{void $\ast$}]{args} +\end{DoxyParamCaption} +)}}\label{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03} + + +Thread de recepción de mensajes. + +Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias . \hypertarget{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{\index{client.\-cpp@{client.\-cpp}!send\-Thread@{send\-Thread}} +\index{send\-Thread@{send\-Thread}!client.cpp@{client.\-cpp}} +\subsubsection[{send\-Thread}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ send\-Thread ( +\begin{DoxyParamCaption} +\item[{void $\ast$}]{args} \end{DoxyParamCaption} -)}}\label{client_8cpp_adce119cd6356a05c4703195cc608e17c} +)}}\label{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a} + +Thread de envío de mensajes. + +Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. \subsection{Documentación de las variables} \hypertarget{client_8cpp_ab36823025f12a809217f7771125658c2}{\index{client.\-cpp@{client.\-cpp}!connected@{connected}} \index{connected@{connected}!client.cpp@{client.\-cpp}} \subsubsection[{connected}]{\setlength{\rightskip}{0pt plus 5cm}bool connected}}\label{client_8cpp_ab36823025f12a809217f7771125658c2} + + +Variable de estado del programa. + \hypertarget{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{\index{client.\-cpp@{client.\-cpp}!finished@{finished}} \index{finished@{finished}!client.cpp@{client.\-cpp}} \subsubsection[{finished}]{\setlength{\rightskip}{0pt plus 5cm}bool finished}}\label{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce} + + +Variable de estado del programa. + diff --git a/JChatClient/doc/latex/client_8h.tex b/JChatClient/doc/latex/client_8h.tex new file mode 100644 index 0000000..fe5dde3 --- /dev/null +++ b/JChatClient/doc/latex/client_8h.tex @@ -0,0 +1,15 @@ +\hypertarget{client_8h}{\section{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h} +\label{client_8h}\index{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.\-h@{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.\-h}} +} +{\ttfamily \#include \char`\"{}Socket.\-h\char`\"{}}\\* +{\ttfamily \#include $<$iostream$>$}\\* +{\ttfamily \#include \char`\"{}Socket\-Exception.\-h\char`\"{}}\\* +{\ttfamily \#include $<$sstream$>$}\\* +{\ttfamily \#include $<$signal.\-h$>$}\\* +{\ttfamily \#include $<$cstdlib$>$}\\* +{\ttfamily \#include $<$sys/time.\-h$>$}\\* +\subsection*{Clases} +\begin{DoxyCompactItemize} +\item +struct \hyperlink{structthread__args}{thread\-\_\-args} +\begin{DoxyCompactList}\small\item\em Argumentos de los threads. \end{DoxyCompactList}\end{DoxyCompactItemize} diff --git a/JChatClient/doc/latex/client_code.tex b/JChatClient/doc/latex/client_code.tex index 762254a..b5fe93d 100644 --- a/JChatClient/doc/latex/client_code.tex +++ b/JChatClient/doc/latex/client_code.tex @@ -12,7 +12,7 @@ Ejemplo de aplicación cliente \textcolor{keyword}{using namespace }std; -\textcolor{keywordtype}{void} \hyperlink{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{exitClient}(\textcolor{keywordtype}{int} signal) +\textcolor{keywordtype}{void} exitClient(\textcolor{keywordtype}{int} signal) \{ cout << \textcolor{stringliteral}{"Server connection terminated unexpectedly"} << endl << \textcolor{stringliteral}{"Exiting"} << endl; exit(-1); @@ -20,8 +20,8 @@ Ejemplo de aplicación cliente \textcolor{keywordtype}{int} \hyperlink{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{main}() \{ - signal(SIGPIPE, \hyperlink{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{exitClient}); - signal(SIGINT, \hyperlink{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{exitClient}); + signal(SIGPIPE, exitClient); + signal(SIGINT, exitClient); \hyperlink{class_socket}{Socket} s; \textcolor{keywordtype}{string} send, recv, host; \textcolor{keywordtype}{int} port; diff --git a/JChatClient/doc/latex/dir_c16c2f6bdf6587439d9ad3d8f0d21517.tex b/JChatClient/doc/latex/dir_c16c2f6bdf6587439d9ad3d8f0d21517.tex index 26d4400..d2e229e 100644 --- a/JChatClient/doc/latex/dir_c16c2f6bdf6587439d9ad3d8f0d21517.tex +++ b/JChatClient/doc/latex/dir_c16c2f6bdf6587439d9ad3d8f0d21517.tex @@ -4,8 +4,8 @@ \subsection*{Archivos} \begin{DoxyCompactItemize} \item -archivo \hyperlink{server_8h}{server.\-h} -\begin{DoxyCompactList}\small\item\em Header de la clase \hyperlink{class_server}{Server}. \end{DoxyCompactList}\item +archivo \hyperlink{client_8h}{client.\-h} +\item archivo \hyperlink{_socket_8h}{Socket.\-h} \begin{DoxyCompactList}\small\item\em Header de la clase \hyperlink{class_socket}{Socket}. \end{DoxyCompactList}\item archivo \hyperlink{_socket_exception_8h}{Socket\-Exception.\-h} diff --git a/JChatClient/doc/latex/doxygen.sty b/JChatClient/doc/latex/doxygen.sty index 199abf8..e67c505 100644 --- a/JChatClient/doc/latex/doxygen.sty +++ b/JChatClient/doc/latex/doxygen.sty @@ -5,43 +5,78 @@ \RequirePackage{alltt} \RequirePackage{array} \RequirePackage{calc} -\RequirePackage{float} -\RequirePackage{ifthen} +\RequirePackage{color} +\RequirePackage{fancyhdr} +\RequirePackage{longtable} \RequirePackage{verbatim} -\RequirePackage[table]{xcolor} +\RequirePackage{ifthen} \RequirePackage{xtab} +\RequirePackage{multirow} +\RequirePackage[table]{xcolor} +% Use helvetica font instead of times roman +\RequirePackage{helvet} +\RequirePackage{sectsty} +\RequirePackage{tocloft} +\providecommand{\rmdefault}{phv} +\providecommand{\bfdefault}{bc} + + +% Setup fancy headings +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} +\fancyhead[CE]{\fancyplain{}{}} +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} +\fancyhead[CO]{\fancyplain{}{}} +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} +\fancyfoot[LE]{\fancyplain{}{}} +\fancyfoot[CE]{\fancyplain{}{}} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }} +\fancyfoot[CO]{\fancyplain{}{}} +\fancyfoot[RO]{\fancyplain{}{}} %---------- Internal commands used in this style file ---------------- +\newcommand\tabfill[1]{% + \dimen@\linewidth% + \advance\dimen@\@totalleftmargin% + \advance\dimen@-\dimen\@curtab% + \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}% +} + \newcommand{\ensurespace}[1]{% - \begingroup% + \begingroup \setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@% - \penalty -100\vskip\z@\@plus -\dimen@% - \vskip\dimen@% + \vskip\z@\@plus\dimen@ + \penalty -100\vskip\z@\@plus -\dimen@ + \vskip\dimen@ \penalty 9999% - \vskip -\dimen@% - \vskip\z@skip% hide the previous |\vskip| from |\addvspace| - \endgroup% -} - -\newcommand{\DoxyLabelFont}{} -\newcommand{\entrylabel}[1]{% - {% - \parbox[b]{\labelwidth-4pt}{% - \makebox[0pt][l]{\DoxyLabelFont#1}% - \vspace{1.5\baselineskip}% - }% - }% + \vskip -\dimen@ + \vskip\z@skip % hide the previous |\vskip| from |\addvspace| + \endgroup } +% Generic environment used by all paragraph-based environments defined +% below. Note that the command \title{...} needs to be defined inside +% those environments! \newenvironment{DoxyDesc}[1]{% \ensurespace{4\baselineskip}% - \begin{list}{}{% - \settowidth{\labelwidth}{20pt}% + \begin{list}{}% + {% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% + \setlength{\itemsep}{-4pt}% \renewcommand{\makelabel}{\entrylabel}% }% \item[#1]% @@ -49,21 +84,6 @@ \end{list}% } -\newsavebox{\xrefbox} -\newlength{\xreflength} -\newcommand{\xreflabel}[1]{% - \sbox{\xrefbox}{#1}% - \setlength{\xreflength}{\wd\xrefbox}% - \ifthenelse{\xreflength>\labelwidth}{% - \begin{minipage}{\textwidth}% - \setlength{\parindent}{0pt}% - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% - \end{minipage}% - }{% - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% - }% -} - %---------- Commands used by doxygen LaTeX output generator ---------- % Used by
     ... 
    @@ -77,12 +97,11 @@ % Used by @code ... @endcode \newenvironment{DoxyCode}{% - \par% - \scriptsize% - \begin{alltt}% + + +\begin{scriptsize}\begin{alltt}% }{% - \end{alltt}% - \normalsize% +\end{alltt}\end{scriptsize}% } % Used by @example, @include, @includelineno and @dontinclude @@ -129,13 +148,13 @@ \enddescription% } -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% Used by @image, @dotfile, and @dot ... @enddot % (only if caption is specified) \newenvironment{DoxyImage}{% \begin{figure}[H]% - \begin{center}% + \begin{center}% }{% - \end{center}% + \end{center}% \end{figure}% } @@ -208,7 +227,7 @@ \end{DoxyDesc}% } -% Used by @return and @returns +% Used by @return \newenvironment{DoxyReturn}[1]{% \begin{DoxyDesc}{#1}% }{% @@ -251,7 +270,8 @@ % Used by @par and @paragraph \newenvironment{DoxyParagraph}[1]{% - \begin{list}{}{% + \begin{list}{}% + {% \settowidth{\labelwidth}{40pt}% \setlength{\leftmargin}{\labelwidth}% \setlength{\parsep}{0pt}% @@ -265,192 +285,192 @@ % Used by parameter lists \newenvironment{DoxyParams}[2][]{% - \par% - \tabletail{\hline}% - \tablelasttail{\hline}% - \tablefirsthead{}% - \tablehead{}% + \begin{DoxyDesc}{#2}% + \item[] \hspace{\fill} \vspace{-40pt}% + \settowidth{\labelwidth}{40pt}% + \setlength{\LTleft}{0pt}% + \setlength{\tabcolsep}{0.01\textwidth}% \ifthenelse{\equal{#1}{}}% - {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% - \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.805\textwidth}|}}% + {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + p{0.815\textwidth}|}}% {\ifthenelse{\equal{#1}{1}}% - {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% - \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% + {\begin{longtable}{|>{\centering}p{0.10\textwidth}|% >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.678\textwidth}|}}% - {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% - \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% + p{0.685\textwidth}|}}% + {\begin{longtable}{|>{\centering}p{0.10\textwidth}|% >{\centering\hspace{0pt}}p{0.15\textwidth}|% >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.501\textwidth}|}}% + p{0.515\textwidth}|}}% }\hline% }{% - \end{xtabular}% - \tablefirsthead{}% - \vspace{6pt}% + \end{longtable}% + \end{DoxyDesc}% } % Used for fields of simple structs \newenvironment{DoxyFields}[1]{% - \par% - \tabletail{\hline}% - \tablelasttail{\hline}% - \tablehead{}% - \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% - \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + \begin{DoxyDesc}{#1}% + \item[] \hspace{\fill} \vspace{-40pt}% + \settowidth{\labelwidth}{40pt}% + \setlength{\LTleft}{0pt}% + \setlength{\tabcolsep}{0.01\textwidth}% + \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% p{0.15\textwidth}|% - p{0.63\textwidth}|}% + p{0.635\textwidth}|}% \hline% }{% - \end{xtabular}% - \tablefirsthead{}% - \vspace{6pt}% + \end{longtable}% + \end{DoxyDesc}% } -% Used for parameters within a detailed function description +% is used for parameters within a detailed function description \newenvironment{DoxyParamCaption}{% \renewcommand{\item}[2][]{##1 {\em ##2}}% -}{% + }{% } % Used by return value lists \newenvironment{DoxyRetVals}[1]{% - \par% - \tabletail{\hline}% - \tablelasttail{\hline}% - \tablehead{}% - \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% - \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + \begin{DoxyDesc}{#1}% + \begin{description}% + \item[] \hspace{\fill} \vspace{-25pt}% + \setlength{\tabcolsep}{0.01\textwidth}% + \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{xtabular}% - \tablefirsthead{}% - \vspace{6pt}% + \end{longtable}% + \end{description}% + \end{DoxyDesc}% } % Used by exception lists \newenvironment{DoxyExceptions}[1]{% - \par% - \tabletail{\hline}% - \tablelasttail{\hline}% - \tablehead{}% - \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% - \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + \begin{DoxyDesc}{#1}% + \begin{description}% + \item[] \hspace{\fill} \vspace{-25pt}% + \definecolor{tableShade}{HTML}{F8F8F8}% + \rowcolors{1}{white}{tableShade}% + \arrayrulecolor{gray}% + \setlength{\tabcolsep}{0.01\textwidth}% + \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{xtabular}% - \tablefirsthead{}% - \vspace{6pt}% + \end{longtable}% + \end{description}% + \end{DoxyDesc}% } % Used by template parameter lists \newenvironment{DoxyTemplParams}[1]{% - \par% - \tabletail{\hline}% - \tablelasttail{\hline}% - \tablehead{}% - \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% - \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + \begin{DoxyDesc}{#1}% + \begin{description}% + \item[] \hspace{\fill} \vspace{-25pt}% + \definecolor{tableShade}{HTML}{F8F8F8}% + \rowcolors{1}{white}{tableShade}% + \arrayrulecolor{gray}% + \setlength{\tabcolsep}{0.01\textwidth}% + \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{xtabular}% - \tablefirsthead{}% - \vspace{6pt}% -} - -% Used for member lists -\newenvironment{DoxyCompactItemize}{% - \begin{itemize}% - \setlength{\itemsep}{-3pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \setlength{\partopsep}{0pt}% -}{% - \end{itemize}% + \end{longtable}% + \end{description}% + \end{DoxyDesc}% } -% Used for member descriptions -\newenvironment{DoxyCompactList}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \renewcommand{\makelabel}{\hfill}% - }% -}{% - \end{list}% +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DoxyCompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{DoxyCompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{xtabular*}{\linewidth} + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +} +{\end{xtabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{% + \usefont{OT1}{phv}{bc}{n}\color{darkgray}#1}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } } - -% Used for reference lists (@bug, @deprecated, @todo, etc.) +{\end{list}} +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }}% \newenvironment{DoxyRefList}{% \begin{list}{}{% \setlength{\labelwidth}{10pt}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \renewcommand{\makelabel}{\xreflabel}% + }% }% -}{% - \end{list}% -} - -% Used by @bug, @deprecated, @todo, etc. -\newenvironment{DoxyRefDesc}[1]{% - \begin{list}{}{% - \renewcommand\makelabel[1]{\textbf{##1}}% - \settowidth\labelwidth{\makelabel{#1}}% - \setlength\leftmargin{\labelwidth+\labelsep}% - }% -}{% - \end{list}% -} - -% Used by parameter lists and simple sections -\newenvironment{Desc} +{\end{list}} +\newenvironment{DoxyRefDesc}[1] {\begin{list}{}{% - \settowidth{\labelwidth}{40pt}% - \setlength{\leftmargin}{\labelwidth}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{-4pt}% - \renewcommand{\makelabel}{\entrylabel}% - } -}{% - \end{list}% -} - -% Used by tables -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% -\newlength{\tmplength}% -\newenvironment{TabularC}[1]% -{% -\setlength{\tmplength}% - {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% - \par\begin{xtabular*}{\linewidth}% - {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% -}% -{\end{xtabular*}\par}% - -% Used for member group headers -\newenvironment{Indent}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - }% - \item[]\ignorespaces% -}{% - \unskip% - \end{list}% -} - -% Used when hyperlinks are turned off -\newcommand{\doxyref}[3]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used for syntax highlighting + \renewcommand\makelabel[1]{\textbf{##1}} + \settowidth\labelwidth{\makelabel{#1}} + \setlength\leftmargin{\labelwidth+\labelsep}}} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{2} +\usepackage[T1]{fontenc} +\makeatletter +\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}% + {-1.0ex}% + {1.0ex}% + {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}} +\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{0ex}% + {-1.0ex}% + {1.0ex}% + {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}} +\makeatother +\allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont\color{darkgray}} +\stepcounter{secnumdepth} +\stepcounter{tocdepth} \definecolor{comment}{rgb}{0.5,0.0,0.0} \definecolor{keyword}{rgb}{0.0,0.5,0.0} \definecolor{keywordtype}{rgb}{0.38,0.25,0.125} diff --git a/JChatClient/doc/latex/files.tex b/JChatClient/doc/latex/files.tex index 16ce1e2..69249d9 100644 --- a/JChatClient/doc/latex/files.tex +++ b/JChatClient/doc/latex/files.tex @@ -2,7 +2,7 @@ Lista de todos los archivos con descripciones breves\-:\begin{DoxyCompactList} \item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\hyperlink{client_8cpp}{client.\-cpp} \\*Fichero de implementación de un cliente }{\pageref{client_8cpp}}{} \item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\hyperlink{_socket_8cpp}{Socket.\-cpp} \\*Fichero de implementación de la clase \hyperlink{class_socket}{Socket} }{\pageref{_socket_8cpp}}{} -\item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{server_8h}{server.\-h} \\*Header de la clase \hyperlink{class_server}{Server} }{\pageref{server_8h}}{} +\item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{client_8h}{client.\-h} }{\pageref{client_8h}}{} \item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{_socket_8h}{Socket.\-h} \\*Header de la clase \hyperlink{class_socket}{Socket} }{\pageref{_socket_8h}}{} \item\contentsline{section}{/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{_socket_exception_8h}{Socket\-Exception.\-h} \\*Header de excepción de Sockets }{\pageref{_socket_exception_8h}}{} \end{DoxyCompactList} diff --git a/JChatClient/doc/latex/howto.tex b/JChatClient/doc/latex/howto.tex index 7a4903e..5ea3bcd 100644 --- a/JChatClient/doc/latex/howto.tex +++ b/JChatClient/doc/latex/howto.tex @@ -1,9 +1,8 @@ Descripción de funcionamiento y uso de la librería. -\begin{DoxyVerb} A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso. -

    -\end{DoxyVerb} - \hypertarget{howto_proto}{}\section{Descripción del protocolo}\label{howto_proto} +A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso. \par +\par +\hypertarget{howto_proto}{}\section{Descripción del protocolo}\label{howto_proto} En las comunicaciones con Sockets hay un problema, es fácil saber la longitud del mensaje que vas a enviar, pero cuesta saber la longitud del mensaje que deseas recibir, ya que la transmisión se puede detener por llegar al fin del mensaje o bien por que hay problemas en la red. Los sockets de U\-N\-I\-X nos dan una solución, que es usar llamadas no bloqueantes para recibir el mensaje, es decir\-: Si leo de un socket, y no he llenado el buffer donde guardo los datos que recibo de allí, la aplicación no se bloquea esperando recibir la suficiente cantidad de datos. A su vez, se usan llamadas a la función \href{http://linux.die.net/man/2/select}{\tt select()} para comprovar si hay datos disponibles a para leer o la conexión está terminada. @@ -17,9 +16,11 @@ Debido a la complejidad añadida que supone hacerlo por esta vía, ya que la lib Este modo transmite los carácteres de texto sin ningún tipo de encriptación, por lo tanto son totalmente visibles para cualquier agente intermedio. Sin embargo, el modo sin encriptación es más rápido y ofrece el doble de velocidad de transferencia aproximadamente. \par \hypertarget{howto_send}{}\subsection{Envío/\-Recepción de mensajes}\label{howto_send} El mensaje se transmite de la siguiente forma\-: + + \begin{DoxyEnumerate} -\item Bob le quiere mandar a Alice un mensaje, primero primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter N\-U\-L\-L ('\textbackslash{}0') y lo manda. -\item Bob transmite el mensaje íntegro. +\item Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter N\-U\-L\-L ('\textbackslash{}0'). +\item Bob añade el mensaje íntegro y lo manda todo junto. \item Alice lee uno a uno los carácteres del socket hasta encontrar un carácter N\-U\-L\-L ('\textbackslash{}0'), entonces lee lo que ha recibido, que es la longitud del mensaje real. \item Alice pasa a extraer los N bytes que ha leído que recibiría y obtiene el mensaje final. \par \par @@ -27,24 +28,13 @@ El mensaje se transmite de la siguiente forma\-: \end{DoxyEnumerate}\hypertarget{howto_compile}{}\section{Compilación}\label{howto_compile} A continuación se detallan las opciones e instrucciones necesarias para compilar esta librería. \par - \hypertarget{howto_defines}{}\subsection{Opciones de compilación}\label{howto_defines} -Los siguientes \#defines establecen la configuración en tiempo de compilación -\begin{DoxyItemize} -\item R\-S\-A\-L\-E\-N\-G\-T\-H \-: La longitud de la llave R\-S\-A que se usará. -\item A\-E\-S\-L\-E\-N\-G\-T\-H \-: La longitud de la llave A\-E\-S que se usará. -\item \hyperlink{server_8h_ad22e7f0ef164a8dafb32f779f737a1bd}{C\-O\-N\-F\-F\-I\-L\-E} \-: La ruta absoluta o relativa al fichero de configuración del servidor (véase\-: conf). -\item P\-U\-B\-L\-I\-C\-K\-E\-Y \-: La ruta absoluta o relativa a la llave pública R\-S\-A. Existe en \hyperlink{server_8h}{server.\-h} y \hyperlink{client_8cpp}{client.\-cpp} -\item P\-R\-I\-V\-A\-T\-E\-K\-E\-Y \-: La ruta absoluta o relativa a la llave pública R\-S\-A. Existe en \hyperlink{server_8h}{server.\-h} y \hyperlink{client_8cpp}{client.\-cpp} \par - -\end{DoxyItemize}\hypertarget{howto_flags}{}\subsection{Flags de compilación y librerías}\label{howto_flags} + \hypertarget{howto_flags}{}\subsection{Flags de compilación}\label{howto_flags} Flags de compilación necesarios\-: \begin{DoxyItemize} -\item -\/\-I/carpeta/con/cabeceras\-\_\-de/crypto++ -\/\-I/carpeta/con/cabeceras/de\-\_\-la/librería/\-Socket -\item -\/\-L/carpeta/con/la\-\_\-librería/crypto++ -\item -\/lcryptopp -\/lpthread +\item -\/lpthread \end{DoxyItemize} -Véase\-: makefile \par +\par \par \par \hypertarget{howto_examples}{}\section{Ejemplos}\label{howto_examples} diff --git a/JChatClient/doc/latex/refman.aux b/JChatClient/doc/latex/refman.aux index 86e431c..3fdc9f7 100644 --- a/JChatClient/doc/latex/refman.aux +++ b/JChatClient/doc/latex/refman.aux @@ -1,9 +1,4 @@ \relax -\providecommand\hyper@newdestlabel[2]{} -\catcode `"\active -\catcode `<\active -\catcode `>\active -\@nameuse{es@quoting} \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined \global\let\oldcontentsline\contentsline @@ -19,7 +14,10 @@ \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} \providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} +\catcode`"\active +\catcode`<\active +\catcode`>\active +\@nameuse{es@quoting} \select@language{spanish} \@writefile{toc}{\select@language{spanish}} \@writefile{lof}{\select@language{spanish}} @@ -27,31 +25,29 @@ \@writefile{toc}{\contentsline {chapter}{\numberline {1}P\IeC {\'a}gina principal}{1}{chapter.1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{index}{{1}{1}{Página principal}{chapter.1}{}} +\newlabel{index}{{1}{1}{Página principal\relax }{chapter.1}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Client}{3}{chapter.2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{client_code}{{2}{3}{Client}{chapter.2}{}} +\newlabel{client_code}{{2}{3}{Client\relax }{chapter.2}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}H\discretionary {-}{}{}O\discretionary {-}{}{}W\discretionary {-}{}{}T\discretionary {-}{}{}O}{5}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O}{chapter.3}{}} +\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O\relax }{chapter.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Descripci\IeC {\'o}n del protocolo}{5}{section.3.1}} -\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo}{section.3.1}{}} +\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo\relax }{section.3.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Modo en texto llano}{5}{subsection.3.1.1}} -\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano}{subsection.3.1.1}{}} +\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano\relax }{subsection.3.1.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Env\IeC {\'\i }o/\discretionary {-}{}{}Recepci\IeC {\'o}n de mensajes}{5}{subsection.3.1.2}} -\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes}{subsection.3.1.2}{}} +\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes\relax }{subsection.3.1.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Compilaci\IeC {\'o}n}{6}{section.3.2}} -\newlabel{howto_compile}{{3.2}{6}{Compilación}{section.3.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Opciones de compilaci\IeC {\'o}n}{6}{subsection.3.2.1}} -\newlabel{howto_defines}{{3.2.1}{6}{Opciones de compilación}{subsection.3.2.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Flags de compilaci\IeC {\'o}n y librer\IeC {\'\i }as}{6}{subsection.3.2.2}} -\newlabel{howto_flags}{{3.2.2}{6}{Flags de compilación y librerías}{subsection.3.2.2}{}} +\newlabel{howto_compile}{{3.2}{6}{Compilación\relax }{section.3.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Flags de compilaci\IeC {\'o}n}{6}{subsection.3.2.1}} +\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación\relax }{subsection.3.2.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3}} -\newlabel{howto_examples}{{3.3}{6}{Ejemplos}{section.3.3}{}} +\newlabel{howto_examples}{{3.3}{6}{Ejemplos\relax }{section.3.3}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Programar un cliente}{6}{subsection.3.3.1}} -\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente}{subsection.3.3.1}{}} +\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente\relax }{subsection.3.3.1}{}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}\IeC {\'I}ndice de clases}{7}{chapter.4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} @@ -63,175 +59,132 @@ \@writefile{toc}{\contentsline {chapter}{\numberline {6}Documentaci\IeC {\'o}n de las clases}{11}{chapter.6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}Referencia de la Clase Server}{11}{section.6.1}} -\newlabel{class_server}{{6.1}{11}{Referencia de la Clase Server}{section.6.1}{}} -\gdef \PWST@i{1} +\@writefile{toc}{\contentsline {section}{\numberline {6.1}Referencia de la Clase Socket}{11}{section.6.1}} +\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket\relax }{section.6.1}{}} +\gdef \LT@i {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\gdef \LT@ii {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Descripci\IeC {\'o}n detallada}{12}{subsection.6.1.1}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Documentaci\IeC {\'o}n del constructor y destructor}{12}{subsection.6.1.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2.1}Server}{12}{subsubsection.6.1.2.1}} -\newlabel{class_server_ad5ec9462b520e59f7ea831e157ee5e59}{{6.1.2.1}{12}{Server}{subsubsection.6.1.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2.1}Socket}{12}{subsubsection.6.1.2.1}} +\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket\relax }{subsubsection.6.1.2.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Documentaci\IeC {\'o}n de las funciones miembro}{12}{subsection.6.1.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.1}free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M}{12}{subsubsection.6.1.3.1}} -\newlabel{class_server_a018bee9f1e342d9f349765187d89becd}{{6.1.3.1}{12}{free\-R\-A\-M}{subsubsection.6.1.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.2}get\discretionary {-}{}{}N\discretionary {-}{}{}Workers}{12}{subsubsection.6.1.3.2}} -\newlabel{class_server_acf13ac1f7fc49f28c1b1fa76eab209ab}{{6.1.3.2}{12}{get\-N\-Workers}{subsubsection.6.1.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.3}get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads}{12}{subsubsection.6.1.3.3}} -\newlabel{class_server_aea36a7c64710f7d6e852a72a124b61bb}{{6.1.3.3}{12}{get\-Started\-Threads}{subsubsection.6.1.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.4}get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads}{12}{subsubsection.6.1.3.4}} -\newlabel{class_server_a266d431df0fc72ae28a9a865e4d0aa5d}{{6.1.3.4}{12}{get\-Stopped\-Threads}{subsubsection.6.1.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.5}request\discretionary {-}{}{}Exit}{12}{subsubsection.6.1.3.5}} -\newlabel{class_server_a74769349252c1ad61717b156e42d61d3}{{6.1.3.5}{12}{request\-Exit}{subsubsection.6.1.3.5}{}} -\gdef \PWST@ii{1} -\gdef \PWST@iii{1} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.6}set\discretionary {-}{}{}N\discretionary {-}{}{}Workers}{13}{subsubsection.6.1.3.6}} -\newlabel{class_server_a0090663c66f1f371f8b1aa87c5f49623}{{6.1.3.6}{13}{set\-N\-Workers}{subsubsection.6.1.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.7}start\discretionary {-}{}{}Server}{13}{subsubsection.6.1.3.7}} -\newlabel{class_server_aef89851f83a9bbe4459c46b6c7906e1f}{{6.1.3.7}{13}{start\-Server}{subsubsection.6.1.3.7}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{13}{subsection.6.1.4}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.1}n\discretionary {-}{}{}Workers}{13}{subsubsection.6.1.4.1}} -\newlabel{class_server_a690955b1e335072c061df67014a6e698}{{6.1.4.1}{13}{n\-Workers}{subsubsection.6.1.4.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.2}shutdown\discretionary {-}{}{}Server}{13}{subsubsection.6.1.4.2}} -\newlabel{class_server_aa9231b38adc787954a13f04372de8ed2}{{6.1.4.2}{13}{shutdown\-Server}{subsubsection.6.1.4.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.3}ss}{13}{subsubsection.6.1.4.3}} -\newlabel{class_server_af9e1a6848bdd627741b85e75777e3b45}{{6.1.4.3}{13}{ss}{subsubsection.6.1.4.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.4}started\discretionary {-}{}{}Threads}{14}{subsubsection.6.1.4.4}} -\newlabel{class_server_a40fdc13e227f651943e0aa3757824396}{{6.1.4.4}{14}{started\-Threads}{subsubsection.6.1.4.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.5}stopped\discretionary {-}{}{}Threads}{14}{subsubsection.6.1.4.5}} -\newlabel{class_server_a36a18616b526f3053a1036641a62cb0a}{{6.1.4.5}{14}{stopped\-Threads}{subsubsection.6.1.4.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.6}worker\discretionary {-}{}{}I\discretionary {-}{}{}D}{14}{subsubsection.6.1.4.6}} -\newlabel{class_server_ae10d91b60157ccfcc06cc463e8443007}{{6.1.4.6}{14}{worker\-I\-D}{subsubsection.6.1.4.6}{}} -\@writefile{toc}{\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket}{14}{section.6.2}} -\newlabel{class_socket}{{6.2}{14}{Referencia de la Clase Socket}{section.6.2}{}} -\gdef \PWST@iv{1} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.1}Accept}{12}{subsubsection.6.1.3.1}} +\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept\relax }{subsubsection.6.1.3.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.2}Bind}{12}{subsubsection.6.1.3.2}} +\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind\relax }{subsubsection.6.1.3.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.3}Close}{12}{subsubsection.6.1.3.3}} +\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close\relax }{subsubsection.6.1.3.3}{}} +\gdef \LT@iii {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\gdef \LT@iv {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\gdef \LT@v {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\gdef \LT@vi {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.4}Connect}{13}{subsubsection.6.1.3.4}} +\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect\relax }{subsubsection.6.1.3.4}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.5}Create}{13}{subsubsection.6.1.3.5}} +\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create\relax }{subsubsection.6.1.3.5}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.6}get\discretionary {-}{}{}Sock}{13}{subsubsection.6.1.3.6}} +\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock\relax }{subsubsection.6.1.3.6}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.7}Listen}{13}{subsubsection.6.1.3.7}} +\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen\relax }{subsubsection.6.1.3.7}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.8}operator$<$$<$}{13}{subsubsection.6.1.3.8}} +\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$\relax }{subsubsection.6.1.3.8}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.9}operator$>$$>$}{13}{subsubsection.6.1.3.9}} +\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$\relax }{subsubsection.6.1.3.9}{}} +\gdef \LT@vii {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\gdef \LT@viii {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.10}Receive}{14}{subsubsection.6.1.3.10}} +\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive\relax }{subsubsection.6.1.3.10}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.11}Send}{14}{subsubsection.6.1.3.11}} +\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send\relax }{subsubsection.6.1.3.11}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{14}{subsection.6.1.4}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.1}sock}{14}{subsubsection.6.1.4.1}} +\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock\relax }{subsubsection.6.1.4.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.2}sock\discretionary {-}{}{}Addr}{14}{subsubsection.6.1.4.2}} +\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr\relax }{subsubsection.6.1.4.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{14}{section.6.2}} +\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception\relax }{section.6.2}{}} +\gdef \LT@ix {\LT@entry + {1}{78.18367pt}\LT@entry + {1}{380.5249pt}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Descripci\IeC {\'o}n detallada}{15}{subsection.6.2.1}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Documentaci\IeC {\'o}n del constructor y destructor}{15}{subsection.6.2.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Socket}{15}{subsubsection.6.2.2.1}} -\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.2.2.1}{15}{Socket}{subsubsection.6.2.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.1}} +\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception\relax }{subsubsection.6.2.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.2}} +\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception\relax }{subsubsection.6.2.2.2}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Documentaci\IeC {\'o}n de las funciones miembro}{15}{subsection.6.2.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.1}Accept}{15}{subsubsection.6.2.3.1}} -\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.2.3.1}{15}{Accept}{subsubsection.6.2.3.1}{}} -\gdef \PWST@v{1} -\gdef \PWST@vi{1} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.2}Bind}{16}{subsubsection.6.2.3.2}} -\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.2.3.2}{16}{Bind}{subsubsection.6.2.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.3}Close}{16}{subsubsection.6.2.3.3}} -\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.2.3.3}{16}{Close}{subsubsection.6.2.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.4}Connect}{16}{subsubsection.6.2.3.4}} -\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.2.3.4}{16}{Connect}{subsubsection.6.2.3.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.5}Create}{16}{subsubsection.6.2.3.5}} -\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.2.3.5}{16}{Create}{subsubsection.6.2.3.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.6}get\discretionary {-}{}{}Sock}{16}{subsubsection.6.2.3.6}} -\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.2.3.6}{16}{get\-Sock}{subsubsection.6.2.3.6}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.7}Listen}{16}{subsubsection.6.2.3.7}} -\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.2.3.7}{16}{Listen}{subsubsection.6.2.3.7}{}} -\gdef \PWST@vii{2} -\gdef \PWST@viii{1} -\gdef \PWST@ix{1} -\gdef \PWST@x{1} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.8}operator$<$$<$}{17}{subsubsection.6.2.3.8}} -\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.2.3.8}{17}{operator$<$$<$}{subsubsection.6.2.3.8}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.9}operator$>$$>$}{17}{subsubsection.6.2.3.9}} -\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.2.3.9}{17}{operator$>$$>$}{subsubsection.6.2.3.9}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.10}Receive}{17}{subsubsection.6.2.3.10}} -\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.2.3.10}{17}{Receive}{subsubsection.6.2.3.10}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.11}Send}{17}{subsubsection.6.2.3.11}} -\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.2.3.11}{17}{Send}{subsubsection.6.2.3.11}{}} -\gdef \PWST@xi{2} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{18}{subsection.6.2.4}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.1}sock}{18}{subsubsection.6.2.4.1}} -\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.2.4.1}{18}{sock}{subsubsection.6.2.4.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.2}sock\discretionary {-}{}{}Addr}{18}{subsubsection.6.2.4.2}} -\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.2.4.2}{18}{sock\-Addr}{subsubsection.6.2.4.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{18}{section.6.3}} -\newlabel{class_socket_exception}{{6.3}{18}{Referencia de la Clase Socket\-Exception}{section.6.3}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{18}{subsection.6.3.1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n del constructor y destructor}{18}{subsection.6.3.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.1}Socket\discretionary {-}{}{}Exception}{18}{subsubsection.6.3.2.1}} -\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.3.2.1}{18}{Socket\-Exception}{subsubsection.6.3.2.1}{}} -\gdef \PWST@xii{1} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{19}{subsubsection.6.3.2.2}} -\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.3.2.2}{19}{$\sim $\-Socket\-Exception}{subsubsection.6.3.2.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}Documentaci\IeC {\'o}n de las funciones miembro}{19}{subsection.6.3.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.3.1}description}{19}{subsubsection.6.3.3.1}} -\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.3.3.1}{19}{description}{subsubsection.6.3.3.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.4}Documentaci\IeC {\'o}n de los datos miembro}{19}{subsection.6.3.4}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.4.1}message}{19}{subsubsection.6.3.4.1}} -\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.3.4.1}{19}{message}{subsubsection.6.3.4.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {6.4}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{19}{section.6.4}} -\newlabel{structthread__args}{{6.4}{19}{Referencia de la Estructura thread\-\_\-args}{section.6.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}Descripci\IeC {\'o}n detallada}{19}{subsection.6.4.1}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}Documentaci\IeC {\'o}n de los datos miembro}{20}{subsection.6.4.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.1}condition}{20}{subsubsection.6.4.2.1}} -\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.4.2.1}{20}{condition}{subsubsection.6.4.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.2}id}{20}{subsubsection.6.4.2.2}} -\newlabel{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{{6.4.2.2}{20}{id}{subsubsection.6.4.2.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.3}mutex}{20}{subsubsection.6.4.2.3}} -\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.4.2.3}{20}{mutex}{subsubsection.6.4.2.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.4}s}{20}{subsubsection.6.4.2.4}} -\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.4.2.4}{20}{s}{subsubsection.6.4.2.4}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.5}serv}{20}{subsubsection.6.4.2.5}} -\newlabel{structthread__args_ab29508135b033282f374d0fb47028fbd}{{6.4.2.5}{20}{serv}{subsubsection.6.4.2.5}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.4.2.6}thread}{20}{subsubsection.6.4.2.6}} -\newlabel{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{{6.4.2.6}{20}{thread}{subsubsection.6.4.2.6}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{21}{chapter.7}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}} +\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description\relax }{subsubsection.6.2.3.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}} +\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message\relax }{subsubsection.6.2.4.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3}} +\newlabel{structthread__args}{{6.3}{15}{Referencia de la Estructura thread\-\_\-args\relax }{section.6.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}} +\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition\relax }{subsubsection.6.3.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.2}mutex}{16}{subsubsection.6.3.2.2}} +\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex\relax }{subsubsection.6.3.2.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.3}s}{16}{subsubsection.6.3.2.3}} +\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s\relax }{subsubsection.6.3.2.3}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{17}{chapter.7}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{21}{section.7.1}} -\newlabel{client_8cpp}{{7.1}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp}{section.7.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.1.1}} -\gdef \PWST@xiii{1} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{22}{subsection.7.1.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{22}{subsubsection.7.1.2.1}} -\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{22}{connect}{subsubsection.7.1.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.2}exit\discretionary {-}{}{}Client}{22}{subsubsection.7.1.2.2}} -\newlabel{client_8cpp_a00a6f7afcba6bb656a7b05c67efa42ba}{{7.1.2.2}{22}{exit\-Client}{subsubsection.7.1.2.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.3}main}{22}{subsubsection.7.1.2.3}} -\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{22}{main}{subsubsection.7.1.2.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.4}speed\discretionary {-}{}{}Test}{22}{subsubsection.7.1.2.4}} -\newlabel{client_8cpp_adce119cd6356a05c4703195cc608e17c}{{7.1.2.4}{22}{speed\-Test}{subsubsection.7.1.2.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{22}{subsection.7.1.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{22}{subsubsection.7.1.3.1}} -\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{22}{connected}{subsubsection.7.1.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{22}{subsubsection.7.1.3.2}} -\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{22}{finished}{subsubsection.7.1.3.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{22}{section.7.2}} -\newlabel{client_8dox}{{7.2}{22}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox}{section.7.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{22}{subsection.7.2.1}} -\@writefile{toc}{\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{22}{section.7.3}} -\newlabel{howto_8dox}{{7.3}{22}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox}{section.7.3}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{22}{subsection.7.3.1}} -\@writefile{toc}{\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/server.h}{23}{section.7.4}} -\newlabel{server_8h}{{7.4}{23}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/server.h}{section.7.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.1}Descripci\IeC {\'o}n detallada}{23}{subsection.7.4.1}} -\gdef \PWST@xiv{1} -\gdef \PWST@xv{1} -\gdef \PWST@xvi{1} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.2}Documentaci\IeC {\'o}n de los 'defines'}{24}{subsection.7.4.2}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.2.1}C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E}{24}{subsubsection.7.4.2.1}} -\newlabel{server_8h_ad22e7f0ef164a8dafb32f779f737a1bd}{{7.4.2.1}{24}{C\-O\-N\-F\-F\-I\-L\-E}{subsubsection.7.4.2.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.2.2}N}{24}{subsubsection.7.4.2.2}} -\newlabel{server_8h_a0240ac851181b84ac374872dc5434ee4}{{7.4.2.2}{24}{N}{subsubsection.7.4.2.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.3}Documentaci\IeC {\'o}n de las funciones}{24}{subsection.7.4.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.3.1}kill\discretionary {-}{}{}Thread}{24}{subsubsection.7.4.3.1}} -\newlabel{server_8h_ab99831172d1d4bca2c79bb37c7c062df}{{7.4.3.1}{24}{kill\-Thread}{subsubsection.7.4.3.1}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.3.2}process\discretionary {-}{}{}Text}{24}{subsubsection.7.4.3.2}} -\newlabel{server_8h_aa6328bc358b87d3e11c3f460d6427c5b}{{7.4.3.2}{24}{process\-Text}{subsubsection.7.4.3.2}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.3.3}read\discretionary {-}{}{}Conf}{24}{subsubsection.7.4.3.3}} -\newlabel{server_8h_a4f850f08d755a0d0ebe936b5b84975e3}{{7.4.3.3}{24}{read\-Conf}{subsubsection.7.4.3.3}{}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.3.4}Worker\discretionary {-}{}{}Thread}{24}{subsubsection.7.4.3.4}} -\newlabel{server_8h_a7d13c650ec7a525ad17cabba4f371745}{{7.4.3.4}{24}{Worker\-Thread}{subsubsection.7.4.3.4}{}} -\gdef \PWST@xvii{1} -\@writefile{toc}{\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{25}{section.7.5}} -\newlabel{_socket_8h}{{7.5}{25}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h}{section.7.5}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{25}{subsection.7.5.1}} -\@writefile{toc}{\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{25}{section.7.6}} -\newlabel{_socket_exception_8h}{{7.6}{25}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h}{section.7.6}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{26}{subsection.7.6.1}} -\@writefile{toc}{\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{26}{section.7.7}} -\newlabel{mainpage_8dox}{{7.7}{26}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox}{section.7.7}{}} -\@writefile{toc}{\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{26}{section.7.8}} -\newlabel{makefile_8dox}{{7.8}{26}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox}{section.7.8}{}} -\@writefile{toc}{\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{26}{section.7.9}} -\newlabel{_socket_8cpp}{{7.9}{26}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp}{section.7.9}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{26}{subsection.7.9.1}} -\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{27}{section*.17}} +\@writefile{toc}{\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{17}{section.7.1}} +\newlabel{client_8cpp}{{7.1}{17}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp\relax }{section.7.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{17}{subsection.7.1.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{18}{subsection.7.1.2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{18}{subsubsection.7.1.2.1}} +\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect\relax }{subsubsection.7.1.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.2}kill\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.2}} +\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread\relax }{subsubsection.7.1.2.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.3}main}{18}{subsubsection.7.1.2.3}} +\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main\relax }{subsubsection.7.1.2.3}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.4}recv\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.4}} +\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread\relax }{subsubsection.7.1.2.4}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.5}send\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.5}} +\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread\relax }{subsubsection.7.1.2.5}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{18}{subsection.7.1.3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{18}{subsubsection.7.1.3.1}} +\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected\relax }{subsubsection.7.1.3.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{18}{subsubsection.7.1.3.2}} +\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{finished\relax }{subsubsection.7.1.3.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{19}{section.7.2}} +\newlabel{client_8dox}{{7.2}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox\relax }{section.7.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.2.1}} +\@writefile{toc}{\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{19}{section.7.3}} +\newlabel{howto_8dox}{{7.3}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox\relax }{section.7.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.3.1}} +\@writefile{toc}{\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.h}{19}{section.7.4}} +\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h\relax }{section.7.4}{}} +\@writefile{toc}{\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{19}{section.7.5}} +\newlabel{_socket_8h}{{7.5}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h\relax }{section.7.5}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.5.1}} +\@writefile{toc}{\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{20}{section.7.6}} +\newlabel{_socket_exception_8h}{{7.6}{20}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h\relax }{section.7.6}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.6.1}} +\@writefile{toc}{\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{21}{section.7.7}} +\newlabel{mainpage_8dox}{{7.7}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox\relax }{section.7.7}{}} +\@writefile{toc}{\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}} +\newlabel{makefile_8dox}{{7.8}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox\relax }{section.7.8}{}} +\@writefile{toc}{\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}} +\newlabel{_socket_8cpp}{{7.9}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp\relax }{section.7.9}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}} +\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1}} diff --git a/JChatClient/doc/latex/refman.idx b/JChatClient/doc/latex/refman.idx index 40084ef..10f648c 100644 --- a/JChatClient/doc/latex/refman.idx +++ b/JChatClient/doc/latex/refman.idx @@ -1,113 +1,68 @@ -\indexentry{Server@{Server}|hyperpage}{11} -\indexentry{Server@{Server}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M@{free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M}|hyperpage}{12} -\indexentry{free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M@{free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!get\discretionary {-}{}{}N\discretionary {-}{}{}Workers@{get\discretionary {-}{}{}N\discretionary {-}{}{}Workers}|hyperpage}{12} -\indexentry{get\discretionary {-}{}{}N\discretionary {-}{}{}Workers@{get\discretionary {-}{}{}N\discretionary {-}{}{}Workers}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads@{get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads}|hyperpage}{12} -\indexentry{get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads@{get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads@{get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads}|hyperpage}{12} -\indexentry{get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads@{get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!request\discretionary {-}{}{}Exit@{request\discretionary {-}{}{}Exit}|hyperpage}{12} -\indexentry{request\discretionary {-}{}{}Exit@{request\discretionary {-}{}{}Exit}!Server@{Server}|hyperpage}{12} -\indexentry{Server@{Server}!set\discretionary {-}{}{}N\discretionary {-}{}{}Workers@{set\discretionary {-}{}{}N\discretionary {-}{}{}Workers}|hyperpage}{13} -\indexentry{set\discretionary {-}{}{}N\discretionary {-}{}{}Workers@{set\discretionary {-}{}{}N\discretionary {-}{}{}Workers}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!start\discretionary {-}{}{}Server@{start\discretionary {-}{}{}Server}|hyperpage}{13} -\indexentry{start\discretionary {-}{}{}Server@{start\discretionary {-}{}{}Server}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!n\discretionary {-}{}{}Workers@{n\discretionary {-}{}{}Workers}|hyperpage}{13} -\indexentry{n\discretionary {-}{}{}Workers@{n\discretionary {-}{}{}Workers}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!shutdown\discretionary {-}{}{}Server@{shutdown\discretionary {-}{}{}Server}|hyperpage}{13} -\indexentry{shutdown\discretionary {-}{}{}Server@{shutdown\discretionary {-}{}{}Server}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!ss@{ss}|hyperpage}{13} -\indexentry{ss@{ss}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!started\discretionary {-}{}{}Threads@{started\discretionary {-}{}{}Threads}|hyperpage}{13} -\indexentry{started\discretionary {-}{}{}Threads@{started\discretionary {-}{}{}Threads}!Server@{Server}|hyperpage}{13} -\indexentry{Server@{Server}!stopped\discretionary {-}{}{}Threads@{stopped\discretionary {-}{}{}Threads}|hyperpage}{14} -\indexentry{stopped\discretionary {-}{}{}Threads@{stopped\discretionary {-}{}{}Threads}!Server@{Server}|hyperpage}{14} -\indexentry{Server@{Server}!worker\discretionary {-}{}{}I\discretionary {-}{}{}D@{worker\discretionary {-}{}{}I\discretionary {-}{}{}D}|hyperpage}{14} -\indexentry{worker\discretionary {-}{}{}I\discretionary {-}{}{}D@{worker\discretionary {-}{}{}I\discretionary {-}{}{}D}!Server@{Server}|hyperpage}{14} -\indexentry{Socket@{Socket}|hyperpage}{14} -\indexentry{Socket@{Socket}!Socket@{Socket}|hyperpage}{15} -\indexentry{Socket@{Socket}!Socket@{Socket}|hyperpage}{15} -\indexentry{Socket@{Socket}!Accept@{Accept}|hyperpage}{15} -\indexentry{Accept@{Accept}!Socket@{Socket}|hyperpage}{15} -\indexentry{Socket@{Socket}!Bind@{Bind}|hyperpage}{15} -\indexentry{Bind@{Bind}!Socket@{Socket}|hyperpage}{15} -\indexentry{Socket@{Socket}!Close@{Close}|hyperpage}{16} -\indexentry{Close@{Close}!Socket@{Socket}|hyperpage}{16} -\indexentry{Socket@{Socket}!Connect@{Connect}|hyperpage}{16} -\indexentry{Connect@{Connect}!Socket@{Socket}|hyperpage}{16} -\indexentry{Socket@{Socket}!Create@{Create}|hyperpage}{16} -\indexentry{Create@{Create}!Socket@{Socket}|hyperpage}{16} -\indexentry{Socket@{Socket}!get\discretionary {-}{}{}Sock@{get\discretionary {-}{}{}Sock}|hyperpage}{16} -\indexentry{get\discretionary {-}{}{}Sock@{get\discretionary {-}{}{}Sock}!Socket@{Socket}|hyperpage}{16} -\indexentry{Socket@{Socket}!Listen@{Listen}|hyperpage}{16} -\indexentry{Listen@{Listen}!Socket@{Socket}|hyperpage}{16} -\indexentry{Socket@{Socket}!operator$<$$<$@{operator$<$$<$}|hyperpage}{17} -\indexentry{operator$<$$<$@{operator$<$$<$}!Socket@{Socket}|hyperpage}{17} -\indexentry{Socket@{Socket}!operator$>$$>$@{operator$>$$>$}|hyperpage}{17} -\indexentry{operator$>$$>$@{operator$>$$>$}!Socket@{Socket}|hyperpage}{17} -\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{17} -\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{17} -\indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{17} -\indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{17} -\indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{18} -\indexentry{sock@{sock}!Socket@{Socket}|hyperpage}{18} -\indexentry{Socket@{Socket}!sock\discretionary {-}{}{}Addr@{sock\discretionary {-}{}{}Addr}|hyperpage}{18} -\indexentry{sock\discretionary {-}{}{}Addr@{sock\discretionary {-}{}{}Addr}!Socket@{Socket}|hyperpage}{18} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}|hyperpage}{18} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}|hyperpage}{18} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{18} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception@{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}|hyperpage}{19} -\indexentry{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception@{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{19} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!description@{description}|hyperpage}{19} -\indexentry{description@{description}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{19} -\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!message@{message}|hyperpage}{19} -\indexentry{message@{message}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{19} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{19} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!condition@{condition}|hyperpage}{20} -\indexentry{condition@{condition}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!id@{id}|hyperpage}{20} -\indexentry{id@{id}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!mutex@{mutex}|hyperpage}{20} -\indexentry{mutex@{mutex}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!s@{s}|hyperpage}{20} -\indexentry{s@{s}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!serv@{serv}|hyperpage}{20} -\indexentry{serv@{serv}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!thread@{thread}|hyperpage}{20} -\indexentry{thread@{thread}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{20} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp}|hyperpage}{21} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!connect@{connect}|hyperpage}{22} -\indexentry{connect@{connect}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!exit\discretionary {-}{}{}Client@{exit\discretionary {-}{}{}Client}|hyperpage}{22} -\indexentry{exit\discretionary {-}{}{}Client@{exit\discretionary {-}{}{}Client}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!main@{main}|hyperpage}{22} -\indexentry{main@{main}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!speed\discretionary {-}{}{}Test@{speed\discretionary {-}{}{}Test}|hyperpage}{22} -\indexentry{speed\discretionary {-}{}{}Test@{speed\discretionary {-}{}{}Test}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!connected@{connected}|hyperpage}{22} -\indexentry{connected@{connected}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!finished@{finished}|hyperpage}{22} -\indexentry{finished@{finished}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{22} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}dox}|hyperpage}{22} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.\discretionary {-}{}{}dox}|hyperpage}{22} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/server.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/server.\discretionary {-}{}{}h}|hyperpage}{23} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E@{C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E}|hyperpage}{24} -\indexentry{C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E@{C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!N@{N}|hyperpage}{24} -\indexentry{N@{N}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!kill\discretionary {-}{}{}Thread@{kill\discretionary {-}{}{}Thread}|hyperpage}{24} -\indexentry{kill\discretionary {-}{}{}Thread@{kill\discretionary {-}{}{}Thread}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!process\discretionary {-}{}{}Text@{process\discretionary {-}{}{}Text}|hyperpage}{24} -\indexentry{process\discretionary {-}{}{}Text@{process\discretionary {-}{}{}Text}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!read\discretionary {-}{}{}Conf@{read\discretionary {-}{}{}Conf}|hyperpage}{24} -\indexentry{read\discretionary {-}{}{}Conf@{read\discretionary {-}{}{}Conf}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{server.\discretionary {-}{}{}h@{server.\discretionary {-}{}{}h}!Worker\discretionary {-}{}{}Thread@{Worker\discretionary {-}{}{}Thread}|hyperpage}{24} -\indexentry{Worker\discretionary {-}{}{}Thread@{Worker\discretionary {-}{}{}Thread}!server.h@{server.\discretionary {-}{}{}h}|hyperpage}{24} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.\discretionary {-}{}{}h}|hyperpage}{25} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.\discretionary {-}{}{}h}|hyperpage}{25} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.\discretionary {-}{}{}dox}|hyperpage}{26} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.\discretionary {-}{}{}dox}|hyperpage}{26} -\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.\discretionary {-}{}{}cpp@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.\discretionary {-}{}{}cpp}|hyperpage}{26} +\indexentry{Socket@{Socket}|hyperpage}{11} +\indexentry{Socket@{Socket}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Accept@{Accept}|hyperpage}{12} +\indexentry{Accept@{Accept}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Bind@{Bind}|hyperpage}{12} +\indexentry{Bind@{Bind}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Close@{Close}|hyperpage}{12} +\indexentry{Close@{Close}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Connect@{Connect}|hyperpage}{12} +\indexentry{Connect@{Connect}!Socket@{Socket}|hyperpage}{12} +\indexentry{Socket@{Socket}!Create@{Create}|hyperpage}{13} +\indexentry{Create@{Create}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!get\discretionary {-}{}{}Sock@{get\discretionary {-}{}{}Sock}|hyperpage}{13} +\indexentry{get\discretionary {-}{}{}Sock@{get\discretionary {-}{}{}Sock}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!Listen@{Listen}|hyperpage}{13} +\indexentry{Listen@{Listen}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!operator$<$$<$@{operator$<$$<$}|hyperpage}{13} +\indexentry{operator$<$$<$@{operator$<$$<$}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!operator$>$$>$@{operator$>$$>$}|hyperpage}{13} +\indexentry{operator$>$$>$@{operator$>$$>$}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{13} +\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{13} +\indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{14} +\indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{14} +\indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{14} +\indexentry{sock@{sock}!Socket@{Socket}|hyperpage}{14} +\indexentry{Socket@{Socket}!sock\discretionary {-}{}{}Addr@{sock\discretionary {-}{}{}Addr}|hyperpage}{14} +\indexentry{sock\discretionary {-}{}{}Addr@{sock\discretionary {-}{}{}Addr}!Socket@{Socket}|hyperpage}{14} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}|hyperpage}{14} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception@{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception@{$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!description@{description}|hyperpage}{15} +\indexentry{description@{description}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!message@{message}|hyperpage}{15} +\indexentry{message@{message}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{15} +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!condition@{condition}|hyperpage}{16} +\indexentry{condition@{condition}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16} +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!mutex@{mutex}|hyperpage}{16} +\indexentry{mutex@{mutex}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16} +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!s@{s}|hyperpage}{16} +\indexentry{s@{s}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp}|hyperpage}{17} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!connect@{connect}|hyperpage}{18} +\indexentry{connect@{connect}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!kill\discretionary {-}{}{}Thread@{kill\discretionary {-}{}{}Thread}|hyperpage}{18} +\indexentry{kill\discretionary {-}{}{}Thread@{kill\discretionary {-}{}{}Thread}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!main@{main}|hyperpage}{18} +\indexentry{main@{main}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!recv\discretionary {-}{}{}Thread@{recv\discretionary {-}{}{}Thread}|hyperpage}{18} +\indexentry{recv\discretionary {-}{}{}Thread@{recv\discretionary {-}{}{}Thread}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!send\discretionary {-}{}{}Thread@{send\discretionary {-}{}{}Thread}|hyperpage}{18} +\indexentry{send\discretionary {-}{}{}Thread@{send\discretionary {-}{}{}Thread}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!connected@{connected}|hyperpage}{18} +\indexentry{connected@{connected}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{client.\discretionary {-}{}{}cpp@{client.\discretionary {-}{}{}cpp}!finished@{finished}|hyperpage}{18} +\indexentry{finished@{finished}!client.cpp@{client.\discretionary {-}{}{}cpp}|hyperpage}{18} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}dox}|hyperpage}{19} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.\discretionary {-}{}{}dox}|hyperpage}{19} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.\discretionary {-}{}{}h}|hyperpage}{19} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.\discretionary {-}{}{}h}|hyperpage}{19} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.\discretionary {-}{}{}h@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.\discretionary {-}{}{}h}|hyperpage}{20} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.\discretionary {-}{}{}dox}|hyperpage}{21} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.\discretionary {-}{}{}dox@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.\discretionary {-}{}{}dox}|hyperpage}{21} +\indexentry{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.\discretionary {-}{}{}cpp@{/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.\discretionary {-}{}{}cpp}|hyperpage}{21} diff --git a/JChatClient/doc/latex/refman.ilg b/JChatClient/doc/latex/refman.ilg index 684dc2c..5083e79 100644 --- a/JChatClient/doc/latex/refman.ilg +++ b/JChatClient/doc/latex/refman.ilg @@ -1,6 +1,6 @@ -This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support). -Scanning input file refman.idx....done (113 entries accepted, 0 rejected). -Sorting entries....done (779 comparisons). -Generating output file refman.ind....done (242 lines written, 0 warnings). +This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support). +Scanning input file refman.idx....done (68 entries accepted, 0 rejected). +Sorting entries....done (442 comparisons). +Generating output file refman.ind....done (151 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. diff --git a/JChatClient/doc/latex/refman.ind b/JChatClient/doc/latex/refman.ind index 2ba64a8..22d9167 100644 --- a/JChatClient/doc/latex/refman.ind +++ b/JChatClient/doc/latex/refman.ind @@ -1,242 +1,151 @@ \begin{theindex} \item {$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception} - \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{19} + \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{15} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.\discretionary {-}{}{}cpp}, - \hyperpage{26} - \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp}, \hyperpage{21} + \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}cpp}, + \hyperpage{17} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.\discretionary {-}{}{}dox}, - \hyperpage{22} + \hyperpage{19} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.\discretionary {-}{}{}dox}, - \hyperpage{22} + \hyperpage{19} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.\discretionary {-}{}{}h}, - \hyperpage{25} + \hyperpage{19} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.\discretionary {-}{}{}h}, - \hyperpage{25} - \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/server.\discretionary {-}{}{}h}, - \hyperpage{23} + \hyperpage{20} + \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.\discretionary {-}{}{}h}, + \hyperpage{19} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.\discretionary {-}{}{}dox}, - \hyperpage{26} + \hyperpage{21} \item {/home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.\discretionary {-}{}{}dox}, - \hyperpage{26} + \hyperpage{21} \indexspace \item {Accept} - \subitem {Socket}, \hyperpage{15} + \subitem {Socket}, \hyperpage{12} \indexspace \item {Bind} - \subitem {Socket}, \hyperpage{15} + \subitem {Socket}, \hyperpage{12} \indexspace - \item {C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} \item {client.\discretionary {-}{}{}cpp} - \subitem {connect}, \hyperpage{22} - \subitem {connected}, \hyperpage{22} - \subitem {exit\discretionary {-}{}{}Client}, \hyperpage{22} - \subitem {finished}, \hyperpage{22} - \subitem {main}, \hyperpage{22} - \subitem {speed\discretionary {-}{}{}Test}, \hyperpage{22} + \subitem {connect}, \hyperpage{18} + \subitem {connected}, \hyperpage{18} + \subitem {finished}, \hyperpage{18} + \subitem {kill\discretionary {-}{}{}Thread}, \hyperpage{18} + \subitem {main}, \hyperpage{18} + \subitem {recv\discretionary {-}{}{}Thread}, \hyperpage{18} + \subitem {send\discretionary {-}{}{}Thread}, \hyperpage{18} \item {Close} - \subitem {Socket}, \hyperpage{16} + \subitem {Socket}, \hyperpage{12} \item {condition} \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} + \hyperpage{16} \item {Connect} - \subitem {Socket}, \hyperpage{16} + \subitem {Socket}, \hyperpage{12} \item {connect} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \item {connected} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \item {Create} - \subitem {Socket}, \hyperpage{16} + \subitem {Socket}, \hyperpage{13} \indexspace \item {description} - \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{19} - - \indexspace - - \item {exit\discretionary {-}{}{}Client} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} + \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{15} \indexspace \item {finished} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} - \item {free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M} - \subitem {Server}, \hyperpage{12} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \indexspace - \item {get\discretionary {-}{}{}N\discretionary {-}{}{}Workers} - \subitem {Server}, \hyperpage{12} \item {get\discretionary {-}{}{}Sock} - \subitem {Socket}, \hyperpage{16} - \item {get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads} - \subitem {Server}, \hyperpage{12} - \item {get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads} - \subitem {Server}, \hyperpage{12} - - \indexspace - - \item {id} - \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} + \subitem {Socket}, \hyperpage{13} \indexspace \item {kill\discretionary {-}{}{}Thread} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \indexspace \item {Listen} - \subitem {Socket}, \hyperpage{16} + \subitem {Socket}, \hyperpage{13} \indexspace \item {main} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \item {message} - \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{19} + \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{15} \item {mutex} \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} - - \indexspace - - \item {N} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} - \item {n\discretionary {-}{}{}Workers} - \subitem {Server}, \hyperpage{13} + \hyperpage{16} \indexspace \item {operator$<$$<$} - \subitem {Socket}, \hyperpage{17} + \subitem {Socket}, \hyperpage{13} \item {operator$>$$>$} - \subitem {Socket}, \hyperpage{17} + \subitem {Socket}, \hyperpage{13} \indexspace - \item {process\discretionary {-}{}{}Text} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} - - \indexspace - - \item {read\discretionary {-}{}{}Conf} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} \item {Receive} - \subitem {Socket}, \hyperpage{17} - \item {request\discretionary {-}{}{}Exit} - \subitem {Server}, \hyperpage{12} + \subitem {Socket}, \hyperpage{13} + \item {recv\discretionary {-}{}{}Thread} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \indexspace \item {s} \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} + \hyperpage{16} \item {Send} - \subitem {Socket}, \hyperpage{17} - \item {serv} - \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} - \item {Server}, \hyperpage{11} - \subitem {free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M}, - \hyperpage{12} - \subitem {get\discretionary {-}{}{}N\discretionary {-}{}{}Workers}, - \hyperpage{12} - \subitem {get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads}, - \hyperpage{12} - \subitem {get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads}, - \hyperpage{12} - \subitem {n\discretionary {-}{}{}Workers}, \hyperpage{13} - \subitem {request\discretionary {-}{}{}Exit}, \hyperpage{12} - \subitem {Server}, \hyperpage{12} - \subitem {set\discretionary {-}{}{}N\discretionary {-}{}{}Workers}, - \hyperpage{13} - \subitem {shutdown\discretionary {-}{}{}Server}, \hyperpage{13} - \subitem {ss}, \hyperpage{13} - \subitem {start\discretionary {-}{}{}Server}, \hyperpage{13} - \subitem {started\discretionary {-}{}{}Threads}, \hyperpage{13} - \subitem {stopped\discretionary {-}{}{}Threads}, \hyperpage{14} - \subitem {worker\discretionary {-}{}{}I\discretionary {-}{}{}D}, - \hyperpage{14} - \item {server.\discretionary {-}{}{}h} - \subitem {C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E}, - \hyperpage{24} - \subitem {kill\discretionary {-}{}{}Thread}, \hyperpage{24} - \subitem {N}, \hyperpage{24} - \subitem {process\discretionary {-}{}{}Text}, \hyperpage{24} - \subitem {read\discretionary {-}{}{}Conf}, \hyperpage{24} - \subitem {Worker\discretionary {-}{}{}Thread}, \hyperpage{24} - \item {set\discretionary {-}{}{}N\discretionary {-}{}{}Workers} - \subitem {Server}, \hyperpage{13} - \item {shutdown\discretionary {-}{}{}Server} - \subitem {Server}, \hyperpage{13} + \subitem {Socket}, \hyperpage{14} + \item {send\discretionary {-}{}{}Thread} + \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} \item {sock} - \subitem {Socket}, \hyperpage{18} + \subitem {Socket}, \hyperpage{14} \item {sock\discretionary {-}{}{}Addr} - \subitem {Socket}, \hyperpage{18} - \item {Socket}, \hyperpage{14} - \subitem {Accept}, \hyperpage{15} - \subitem {Bind}, \hyperpage{15} - \subitem {Close}, \hyperpage{16} - \subitem {Connect}, \hyperpage{16} - \subitem {Create}, \hyperpage{16} - \subitem {get\discretionary {-}{}{}Sock}, \hyperpage{16} - \subitem {Listen}, \hyperpage{16} - \subitem {operator$<$$<$}, \hyperpage{17} - \subitem {operator$>$$>$}, \hyperpage{17} - \subitem {Receive}, \hyperpage{17} - \subitem {Send}, \hyperpage{17} - \subitem {sock}, \hyperpage{18} - \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{18} - \subitem {Socket}, \hyperpage{15} - \item {Socket\discretionary {-}{}{}Exception}, \hyperpage{18} + \subitem {Socket}, \hyperpage{14} + \item {Socket}, \hyperpage{11} + \subitem {Accept}, \hyperpage{12} + \subitem {Bind}, \hyperpage{12} + \subitem {Close}, \hyperpage{12} + \subitem {Connect}, \hyperpage{12} + \subitem {Create}, \hyperpage{13} + \subitem {get\discretionary {-}{}{}Sock}, \hyperpage{13} + \subitem {Listen}, \hyperpage{13} + \subitem {operator$<$$<$}, \hyperpage{13} + \subitem {operator$>$$>$}, \hyperpage{13} + \subitem {Receive}, \hyperpage{13} + \subitem {Send}, \hyperpage{14} + \subitem {sock}, \hyperpage{14} + \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{14} + \subitem {Socket}, \hyperpage{12} + \item {Socket\discretionary {-}{}{}Exception}, \hyperpage{14} \subitem {$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}, - \hyperpage{19} - \subitem {description}, \hyperpage{19} - \subitem {message}, \hyperpage{19} - \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{18} - \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{18} - \item {speed\discretionary {-}{}{}Test} - \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{22} - \item {ss} - \subitem {Server}, \hyperpage{13} - \item {start\discretionary {-}{}{}Server} - \subitem {Server}, \hyperpage{13} - \item {started\discretionary {-}{}{}Threads} - \subitem {Server}, \hyperpage{13} - \item {stopped\discretionary {-}{}{}Threads} - \subitem {Server}, \hyperpage{14} + \hyperpage{15} + \subitem {description}, \hyperpage{15} + \subitem {message}, \hyperpage{15} + \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{15} + \subitem {Socket\discretionary {-}{}{}Exception}, \hyperpage{15} \indexspace - \item {thread} - \subitem {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{20} \item {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{19} - \subitem {condition}, \hyperpage{20} - \subitem {id}, \hyperpage{20} - \subitem {mutex}, \hyperpage{20} - \subitem {s}, \hyperpage{20} - \subitem {serv}, \hyperpage{20} - \subitem {thread}, \hyperpage{20} - - \indexspace - - \item {worker\discretionary {-}{}{}I\discretionary {-}{}{}D} - \subitem {Server}, \hyperpage{14} - \item {Worker\discretionary {-}{}{}Thread} - \subitem {server.\discretionary {-}{}{}h}, \hyperpage{24} + \hyperpage{15} + \subitem {condition}, \hyperpage{16} + \subitem {mutex}, \hyperpage{16} + \subitem {s}, \hyperpage{16} \end{theindex} diff --git a/JChatClient/doc/latex/refman.log b/JChatClient/doc/latex/refman.log index d12675d..3af0cd0 100644 --- a/JChatClient/doc/latex/refman.log +++ b/JChatClient/doc/latex/refman.log @@ -1,11 +1,12 @@ -This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.12.7) 7 DEC 2013 03:17 +This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.8.1) 10 DEC 2013 04:23 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **refman (./refman.tex LaTeX2e <2011/06/27> -Babel <3.9f> and hyphenation patterns for 5 languages loaded. +Babel and hyphenation patterns for english, dumylang, nohyphenation, lo +aded. (/usr/share/texlive/texmf-dist/tex/latex/base/book.cls Document Class: book 2007/10/19 v1.4h Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo @@ -24,56 +25,60 @@ File: bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) \belowcaptionskip=\skip42 \bibindent=\dimen102 ) -(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty -Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ) -\calc@Acount=\count88 -\calc@Bcount=\count89 -\calc@Adimen=\dimen103 -\calc@Bdimen=\dimen104 -\calc@Askip=\skip43 -\calc@Bskip=\skip44 -LaTeX Info: Redefining \setlength on input line 76. -LaTeX Info: Redefining \addtolength on input line 77. -\calc@Ccount=\count90 -\calc@Cskip=\skip45 -) (./doxygen.sty -Package: doxygen +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry -(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty -Package: alltt 1997/06/16 v2.0g defines alltt environment +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks14 ) -(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty -Package: array 2008/09/09 v2.4c Tabular extension package (FMi) -\col@sep=\dimen105 -\extrarowheight=\dimen106 -\NC@list=\toks14 -\extratabsurround=\skip46 -\backup@length=\skip47 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is detected. ) -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count91 -\float@exts=\toks15 -\float@box=\box26 -\@float@everytoks=\toks16 -\@floatcapt=\box27 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. ) -(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional ) -(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty -Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements -\every@verbatim=\toks17 -\verbatim@line=\toks18 -\verbatim@in@stream=\read1 +\Gm@cnth=\count88 +\Gm@cntv=\count89 +\c@Gm@tempcnt=\count90 +\Gm@bindingoffset=\dimen103 +\Gm@wd@mp=\dimen104 +\Gm@odd@mp=\dimen105 +\Gm@even@mp=\dimen106 +\Gm@layoutwidth=\dimen107 +\Gm@layoutheight=\dimen108 +\Gm@layouthoffset=\dimen109 +\Gm@layoutvoffset=\dimen110 +\Gm@dimlist=\toks15 ) -(/usr/share/texmf/tex/latex/xcolor/xcolor.sty -Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2000/03/29 v1.0m Standard LaTeX package +) +(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip43 +\bibsep=\skip44 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count91 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) ) -Package xcolor Info: Driver file: pdftex.def on input line 225. +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: pdftex.def on input line 91. (/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX @@ -85,13 +90,126 @@ Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) ) \Gread@gobject=\count92 +)) +\Gin@req@height=\dimen111 +\Gin@req@width=\dimen112 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty +Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi) +\c@tracingmulticols=\count93 +\mult@box=\box26 +\multicol@leftmargin=\dimen113 +\c@unbalance=\count94 +\c@collectmore=\count95 +\doublecol@number=\count96 +\multicoltolerance=\count97 +\multicolpretolerance=\count98 +\full@width=\dimen114 +\page@free=\dimen115 +\premulticols=\dimen116 +\postmulticols=\dimen117 +\multicolsep=\skip45 +\multicolbaselineskip=\skip46 +\partial@page=\box27 +\last@line=\box28 +\mult@rightbox=\box29 +\mult@grightbox=\box30 +\mult@gfirstbox=\box31 +\mult@firstbox=\box32 +\@tempa=\box33 +\@tempa=\box34 +\@tempa=\box35 +\@tempa=\box36 +\@tempa=\box37 +\@tempa=\box38 +\@tempa=\box39 +\@tempa=\box40 +\@tempa=\box41 +\@tempa=\box42 +\@tempa=\box43 +\@tempa=\box44 +\@tempa=\box45 +\@tempa=\box46 +\@tempa=\box47 +\@tempa=\box48 +\@tempa=\box49 +\c@columnbadness=\count99 +\c@finalcolumnbadness=\count100 +\last@try=\dimen118 +\multicolovershoot=\dimen119 +\multicolundershoot=\dimen120 +\mult@nat@firstbox=\box50 +\colbreak@box=\box51 +\multicol@sort@counter=\count101 +) +(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count102 +\float@exts=\toks16 +\float@box=\box52 +\@float@everytoks=\toks17 +\@floatcapt=\box53 +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count103 +\lst@gtempboxa=\box54 +\lst@token=\toks18 +\lst@length=\count104 +\lst@currlwidth=\dimen121 +\lst@column=\count105 +\lst@pos=\count106 +\lst@lostspace=\dimen122 +\lst@width=\dimen123 +\lst@newlines=\count107 +\lst@lineno=\count108 +\lst@maxwidth=\dimen124 + +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +\c@lstnumber=\count109 +\lst@skipnumbers=\count110 +\lst@framebox=\box55 +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2007/02/22 1.4 listings configuration +)) +Package: listings 2007/02/22 1.4 (Carsten Heinz) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty +Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC) + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive ) +Package color Info: Driver file: pdftex.def on input line 130. +) +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) +) +(/usr/share/texmf/tex/latex/xcolor/xcolor.sty +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty Package: colortbl 2012/02/13 v1.0a Color table columns (DPC) -\everycr=\toks19 -\minrowclearance=\skip48 + +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2008/09/09 v2.4c Tabular extension package (FMi) +\col@sep=\dimen125 +\extrarowheight=\dimen126 +\NC@list=\toks19 +\extratabsurround=\skip47 +\backup@length=\skip48 +) +\everycr=\toks20 +\minrowclearance=\skip49 ) -\rownum=\count93 +LaTeX Info: Redefining \color on input line 702. +\rownum=\count111 Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. Package xcolor Info: Model `RGB' extended on input line 1353. @@ -102,59 +220,204 @@ Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. ) -(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty -Package: xtab 2011/07/31 v2.3f Extended supertabular package -\c@tracingst=\count94 -\PWSTcapht=\dimen107 -\ST@wd=\dimen108 -\ST@rightskip=\skip49 -\ST@leftskip=\skip50 -\ST@parfillskip=\skip51 -\c@PWSTtable=\count95 -\PWSTlastpage=\count96 -\PWSTpenultimate=\count97 -\PWSTcurpage=\count98 -\PWSTtempc=\count99 -\PWSTlines=\count100 -\PWST@lastht=\dimen109 -\PWST@generalht=\dimen110 -\PWST@ht=\dimen111 -\ST@pageleft=\dimen112 -\ST@headht=\dimen113 -\ST@tailht=\dimen114 -\ST@pagesofar=\dimen115 -\ST@pboxht=\dimen116 -\ST@lineht=\dimen117 -\ST@stretchht=\dimen118 -\ST@prevht=\dimen119 -\ST@toadd=\dimen120 -\ST@dimen=\dimen121 -\ST@pbox=\box28 -) -\xrefbox=\box29 -\xreflength=\skip52 -\tmplength=\skip53 +(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty +Package: textcomp 2005/09/27 v1.99g Standard LaTeX package +Package textcomp Info: Sub-encoding information: +(textcomp) 5 = only ISO-Adobe without \textcurrency +(textcomp) 4 = 5 + \texteuro +(textcomp) 3 = 4 + \textohm +(textcomp) 2 = 3 + \textestimated + \textcurrency +(textcomp) 1 = TS1 - \textcircled - \t +(textcomp) 0 = TS1 (full) +(textcomp) Font families with sub-encoding setting implement +(textcomp) only a restricted character set as indicated. +(textcomp) Family '?' is the default used for unknown fonts. +(textcomp) See the documentation for details. +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71. + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file ) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) +LaTeX Info: Redefining \oldstylenums on input line 266. +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281. +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282. +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283. +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284. +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285. +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286. +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287. +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288. +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289. +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290. +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291. +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292. +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293. +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294. +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295. +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296. +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297. +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298. +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299. +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300. +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301. +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302. +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303. +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304. -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 1999/03/16 v1.13 key=value parser (DPC) -\KV@toks@=\toks20 +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305. +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306. +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307. +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308. +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309. +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310. +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311. +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312. +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313. +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314. +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315. +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316. +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317. +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318. +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319. +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320. +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321. +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322. +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323. +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324. +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325. +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326. +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327. +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328. +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329. +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330. +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331. +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332. +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333. +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334. +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335. +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336. +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337. +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338. +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339. +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340. ) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty +Package: alltt 1997/06/16 v2.0g defines alltt environment +) +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2012/05/13 v6.82q Hypertext links for LaTeX -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO) + + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO) +Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO ) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO) +Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO) +Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO) +Package: xcolor-patch 2011/01/30 xcolor patch +Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO) +Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO) +Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) ) -\Gin@req@height=\dimen122 -\Gin@req@width=\dimen123 +\@linkdim=\dimen127 +\Hy@linkcounter=\count112 +\Hy@pagecounter=\count113 + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2012/05/13 v6.82q Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count114 + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `colorlinks' set `true' on input line 3941. +Package hyperref Info: Option `unicode' set `true' on input line 3941. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2012/05/13 v6.82q Hyperref: PDF Unicode definition (HO) +) +Package hyperref Info: Hyper figures OFF on input line 4062. +Package hyperref Info: Link nesting OFF on input line 4067. +Package hyperref Info: Hyper index ON on input line 4070. +Package hyperref Info: Plain pages OFF on input line 4077. +Package hyperref Info: Backreferencing ON on input line 4080. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4300. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty +Package: backref 2010/08/30 v1.36 Bibliographical back referencing + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +\c@Hy@tempcnt=\count115 + +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 4653. +\Fld@menulength=\count116 +\Field@Width=\dimen128 +\Fld@charsize=\dimen129 +Package hyperref Info: Hyper figures OFF on input line 5773. +Package hyperref Info: Link nesting OFF on input line 5778. +Package hyperref Info: Hyper index ON on input line 5781. +Package hyperref Info: backreferencing ON on input line 5786. +Package hyperref Info: Link coloring ON on input line 5791. +Package hyperref Info: Link coloring with OCG OFF on input line 5798. +Package hyperref Info: PDF/A mode OFF on input line 5803. +LaTeX Info: Redefining \ref on input line 5843. +LaTeX Info: Redefining \pageref on input line 5847. +\Hy@abspage=\count117 +\c@Item=\count118 +\c@Hfootnote=\count119 +) + +Package hyperref Message: Driver: hpdftex. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2012/05/13 v6.82q Hyperref driver for pdfTeX +\Fld@listcount=\count120 +\c@bookmark@seq@number=\count121 +\Hy@SectionHShift=\skip50 ) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty Package: inputenc 2008/03/30 v1.1d Input encoding file @@ -362,88 +625,6 @@ Now handling font encoding OMX ... ... no UTF-8 mapping file for font encoding OMX Now handling font encoding U ... ... no UTF-8 mapping file for font encoding U - defining Unicode char U+00A9 (decimal 169) - defining Unicode char U+00AA (decimal 170) - defining Unicode char U+00AE (decimal 174) - defining Unicode char U+00BA (decimal 186) - defining Unicode char U+02C6 (decimal 710) - defining Unicode char U+02DC (decimal 732) - defining Unicode char U+200C (decimal 8204) - defining Unicode char U+2026 (decimal 8230) - defining Unicode char U+2122 (decimal 8482) - defining Unicode char U+2423 (decimal 9251) -)) -(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty -Package: makeidx 2000/03/29 v1.0m Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty -Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi) -\c@tracingmulticols=\count101 -\mult@box=\box30 -\multicol@leftmargin=\dimen124 -\c@unbalance=\count102 -\c@collectmore=\count103 -\doublecol@number=\count104 -\multicoltolerance=\count105 -\multicolpretolerance=\count106 -\full@width=\dimen125 -\page@free=\dimen126 -\premulticols=\dimen127 -\postmulticols=\dimen128 -\multicolsep=\skip54 -\multicolbaselineskip=\skip55 -\partial@page=\box31 -\last@line=\box32 -\mult@rightbox=\box33 -\mult@grightbox=\box34 -\mult@gfirstbox=\box35 -\mult@firstbox=\box36 -\@tempa=\box37 -\@tempa=\box38 -\@tempa=\box39 -\@tempa=\box40 -\@tempa=\box41 -\@tempa=\box42 -\@tempa=\box43 -\@tempa=\box44 -\@tempa=\box45 -\@tempa=\box46 -\@tempa=\box47 -\@tempa=\box48 -\@tempa=\box49 -\@tempa=\box50 -\@tempa=\box51 -\@tempa=\box52 -\@tempa=\box53 -\c@columnbadness=\count107 -\c@finalcolumnbadness=\count108 -\last@try=\dimen129 -\multicolovershoot=\dimen130 -\multicolundershoot=\dimen131 -\mult@nat@firstbox=\box54 -\colbreak@box=\box55 -\multicol@sort@counter=\count109 -) -(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty -\bigstrutjot=\dimen132 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -Package: textcomp 2005/09/27 v1.99g Standard LaTeX package -Package textcomp Info: Sub-encoding information: -(textcomp) 5 = only ISO-Adobe without \textcurrency -(textcomp) 4 = 5 + \texteuro -(textcomp) 3 = 4 + \textohm -(textcomp) 2 = 3 + \textestimated + \textcurrency -(textcomp) 1 = TS1 - \textcircled - \t -(textcomp) 0 = TS1 (full) -(textcomp) Font families with sub-encoding setting implement -(textcomp) only a restricted character set as indicated. -(textcomp) Family '?' is the default used for unknown fonts. -(textcomp) See the documentation for details. -Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71. - -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file Now handling font encoding TS1 ... ... processing UTF-8 mapping file for font encoding TS1 @@ -518,97 +699,47 @@ File: ts1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc defining Unicode char U+25E6 (decimal 9702) defining Unicode char U+25EF (decimal 9711) defining Unicode char U+266A (decimal 9834) -)) -LaTeX Info: Redefining \oldstylenums on input line 266. -Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281. -Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282. -Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283. -Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284. -Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285. -Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286. -Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287. -Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288. -Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289. -Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290. -Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291. -Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292. -Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293. -Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294. -Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295. -Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296. -Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297. -Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298. -Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299. -Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300. -Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301. -Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302. -Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303. -Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304. - -Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305. -Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306. -Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307. -Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308. -Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309. -Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310. -Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311. -Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312. -Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313. -Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314. -Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315. -Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316. -Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317. -Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318. -Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319. -Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320. -Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321. -Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322. -Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323. -Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324. -Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325. -Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326. -Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327. -Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328. -Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329. -Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330. -Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331. -Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332. -Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333. -Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334. -Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335. -Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336. -Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337. -Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338. -Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339. -Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340. ) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+02C6 (decimal 710) + defining Unicode char U+02DC (decimal 732) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2026 (decimal 8230) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2423 (decimal 9251) +)) (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2013/05/16 v3.9f The Babel package +Package: babel 2008/07/08 v3.8m The Babel package -(/usr/share/texlive/texmf-dist/tex/generic/babel-spanish/spanish.ldf -Language: spanish.ldf 2010/05/23 v5.0j Spanish support from the babel system +(/usr/share/texlive/texmf-dist/tex/generic/babel/spanish.ldf +Language: spanish.ldf 2011/10/06 v5.0k Spanish support from the babel system (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2013/05/16 v3.9f Babel common definitions -\babel@savecnt=\count110 -\U@D=\dimen133 +File: babel.def 2008/07/08 v3.8m Babel common definitions +\babel@savecnt=\count122 +\U@D=\dimen130 ) -\es@datefmt=\count111 -\es@quottoks=\toks23 -\es@quotdepth=\count112 -Package babel Info: Making " an active character on input line 495. -Package babel Info: Making . an active character on input line 588. -Package babel Info: Making < an active character on input line 633. -Package babel Info: Making > an active character on input line 633. -)) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2005/09/27 v1.99g Standard LaTeX package -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def -File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file -LaTeX Font Info: Redeclaring font encoding T1 on input line 43. -)) -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty +Package babel Warning: No hyphenation patterns were loaded for +(babel) the language `Spanish' +(babel) I will use the patterns loaded for \language=0 instead. + +\l@spanish = a dialect from \language0 +\es@datefmt=\count123 +\es@quottoks=\toks23 +\es@quotdepth=\count124 +Package babel Info: Making " an active character on input line 496. +Package babel Info: Making . an active character on input line 599. +Package babel Info: Making < an active character on input line 644. +Package babel Info: Making > an active character on input line 644. +)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty Package: mathptmx 2005/04/12 PSNFSS-v9.2a Times w/ Math, improved (SPQR, WaS) LaTeX Font Info: Redeclaring symbol font `operators' on input line 28. LaTeX Font Info: Overwriting symbol font `operators' in version `normal' @@ -650,302 +781,203 @@ Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty Package: courier 2005/04/12 PSNFSS-v9.2a (WaS) ) +(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty +Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty +les +) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2013/01/14 v3.01 AMS font symbols +Package: amssymb 2009/06/22 v3.00 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support \@emptytoks=\toks24 \symAMSa=\mathgroup6 \symAMSb=\mathgroup7 LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. +(Font) U/euf/m/n --> U/euf/b/n on input line 96. )) -(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty -Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty -les -) -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2010/09/12 v5.6 Page Geometry - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) -Package ifpdf Info: pdfTeX in PDF mode is detected. -) -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty -Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -) -(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) -\Gm@cnth=\count113 -\Gm@cntv=\count114 -\c@Gm@tempcnt=\count115 -\Gm@bindingoffset=\dimen134 -\Gm@wd@mp=\dimen135 -\Gm@odd@mp=\dimen136 -\Gm@even@mp=\dimen137 -\Gm@layoutwidth=\dimen138 -\Gm@layoutheight=\dimen139 -\Gm@layouthoffset=\dimen140 -\Gm@layoutvoffset=\dimen141 -\Gm@dimlist=\toks25 -) -(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -\fancy@headwidth=\skip56 -\f@ncyO@elh=\skip57 -\f@ncyO@erh=\skip58 -\f@ncyO@olh=\skip59 -\f@ncyO@orh=\skip60 -\f@ncyO@elf=\skip61 -\f@ncyO@erf=\skip62 -\f@ncyO@olf=\skip63 -\f@ncyO@orf=\skip64 -) -(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty -Package: natbib 2010/09/13 8.31b (PWD, AO) -\bibhang=\skip65 -\bibsep=\skip66 -LaTeX Info: Redefining \cite on input line 694. -\c@NAT@ctr=\count116 -) (/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty -Package: tocloft 2013/05/02 v2.3f parameterised ToC, etc., typesetting -Package tocloft Info: The document has chapter divisions on input line 44. -\cftparskip=\skip67 -\cftbeforetoctitleskip=\skip68 -\cftaftertoctitleskip=\skip69 -\cftbeforepartskip=\skip70 -\cftpartnumwidth=\skip71 -\cftpartindent=\skip72 -\cftbeforechapskip=\skip73 -\cftchapindent=\skip74 -\cftchapnumwidth=\skip75 -\cftbeforesecskip=\skip76 -\cftsecindent=\skip77 -\cftsecnumwidth=\skip78 -\cftbeforesubsecskip=\skip79 -\cftsubsecindent=\skip80 -\cftsubsecnumwidth=\skip81 -\cftbeforesubsubsecskip=\skip82 -\cftsubsubsecindent=\skip83 -\cftsubsubsecnumwidth=\skip84 -\cftbeforeparaskip=\skip85 -\cftparaindent=\skip86 -\cftparanumwidth=\skip87 -\cftbeforesubparaskip=\skip88 -\cftsubparaindent=\skip89 -\cftsubparanumwidth=\skip90 -\cftbeforeloftitleskip=\skip91 -\cftafterloftitleskip=\skip92 -\cftbeforefigskip=\skip93 -\cftfigindent=\skip94 -\cftfignumwidth=\skip95 -\c@lofdepth=\count117 -\c@lotdepth=\count118 -\cftbeforelottitleskip=\skip96 -\cftafterlottitleskip=\skip97 -\cftbeforetabskip=\skip98 -\cfttabindent=\skip99 -\cfttabnumwidth=\skip100 -) -\@indexfile=\write3 -\openout3 = `refman.idx'. - - -Writing index file refman.idx -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO) - +Package: tocloft 2010/10/13 v2.3e parameterised ToC, etc., typesetting +Package tocloft Info: The document has chapter divisions on input line 43. +\cftparskip=\skip51 +\cftbeforetoctitleskip=\skip52 +\cftaftertoctitleskip=\skip53 +\cftbeforepartskip=\skip54 +\cftpartnumwidth=\skip55 +\cftpartindent=\skip56 +\cftbeforechapskip=\skip57 +\cftchapindent=\skip58 +\cftchapnumwidth=\skip59 +\cftbeforesecskip=\skip60 +\cftsecindent=\skip61 +\cftsecnumwidth=\skip62 +\cftbeforesubsecskip=\skip63 +\cftsubsecindent=\skip64 +\cftsubsecnumwidth=\skip65 +\cftbeforesubsubsecskip=\skip66 +\cftsubsubsecindent=\skip67 +\cftsubsubsecnumwidth=\skip68 +\cftbeforeparaskip=\skip69 +\cftparaindent=\skip70 +\cftparanumwidth=\skip71 +\cftbeforesubparaskip=\skip72 +\cftsubparaindent=\skip73 +\cftsubparanumwidth=\skip74 +\cftbeforeloftitleskip=\skip75 +\cftafterloftitleskip=\skip76 +\cftbeforefigskip=\skip77 +\cftfigindent=\skip78 +\cftfignumwidth=\skip79 +\c@lofdepth=\count125 +\c@lotdepth=\count126 +\cftbeforelottitleskip=\skip80 +\cftafterlottitleskip=\skip81 +\cftbeforetabskip=\skip82 +\cfttabindent=\skip83 +\cfttabnumwidth=\skip84 +) (./doxygen.sty +Package: doxygen -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO) -Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO) -Package hobsub Info: Skipping package `infwarerr' (already loaded). -Package hobsub Info: Skipping package `ltxcmds' (already loaded). -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -Package hobsub Info: Skipping package `ifvtex' (already loaded). -Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO) -Package hobsub Info: Skipping package `ifpdf' (already loaded). -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO) -Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO +(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count127 +\calc@Bcount=\count128 +\calc@Adimen=\dimen131 +\calc@Bdimen=\dimen132 +\calc@Askip=\skip85 +\calc@Bskip=\skip86 +LaTeX Info: Redefining \setlength on input line 76. +LaTeX Info: Redefining \addtolength on input line 77. +\calc@Ccount=\count129 +\calc@Cskip=\skip87 ) -Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO) -Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO) +(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +\fancy@headwidth=\skip88 +\f@ncyO@elh=\skip89 +\f@ncyO@erh=\skip90 +\f@ncyO@olh=\skip91 +\f@ncyO@orh=\skip92 +\f@ncyO@elf=\skip93 +\f@ncyO@erf=\skip94 +\f@ncyO@olf=\skip95 +\f@ncyO@orf=\skip96 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty +Package: longtable 2004/02/01 v4.11 Multi-page Table package (DPC) +\LTleft=\skip97 +\LTright=\skip98 +\LTpre=\skip99 +\LTpost=\skip100 +\LTchunksize=\count130 +\LTcapwidth=\dimen133 +\LT@head=\box56 +\LT@firsthead=\box57 +\LT@foot=\box58 +\LT@lastfoot=\box59 +\LT@cols=\count131 +\LT@rows=\count132 +\c@LT@tables=\count133 +\c@LT@chunks=\count134 +\LT@p@ftn=\toks25 ) -Package hobsub Info: Skipping package `hobsub' (already loaded). -Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO) -Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO) -Package: xcolor-patch 2011/01/30 xcolor patch -Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO) -Package atveryend Info: \enddocument detected (standard20110627). -Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO) -Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO) -Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO) +(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty +Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements +\every@verbatim=\toks26 +\verbatim@line=\toks27 +\verbatim@in@stream=\read1 ) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO) +(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty +Package: xtab 2011/07/31 v2.3f Extended supertabular package +\c@tracingst=\count135 +\PWSTcapht=\dimen134 +\ST@wd=\dimen135 +\ST@rightskip=\skip101 +\ST@leftskip=\skip102 +\ST@parfillskip=\skip103 +\c@PWSTtable=\count136 +\PWSTlastpage=\count137 +\PWSTpenultimate=\count138 +\PWSTcurpage=\count139 +\PWSTtempc=\count140 +\PWSTlines=\count141 +\PWST@lastht=\dimen136 +\PWST@generalht=\dimen137 +\PWST@ht=\dimen138 +\ST@pageleft=\dimen139 +\ST@headht=\dimen140 +\ST@tailht=\dimen141 +\ST@pagesofar=\dimen142 +\ST@pboxht=\dimen143 +\ST@lineht=\dimen144 +\ST@stretchht=\dimen145 +\ST@prevht=\dimen146 +\ST@toadd=\dimen147 +\ST@dimen=\dimen148 +\ST@pbox=\box60 ) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) +(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty +\bigstrutjot=\dimen149 ) -\@linkdim=\dimen142 -\Hy@linkcounter=\count119 -\Hy@pagecounter=\count120 +\tmplength=\skip104 +\xrefbox=\box61 +\xreflength=\skip105 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -\Hy@SavedSpaceFactor=\count121 +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +))) +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2004/09/05 1.3 listings language file ) -Package hyperref Info: Hyper figures OFF on input line 4443. -Package hyperref Info: Link nesting OFF on input line 4448. -Package hyperref Info: Hyper index ON on input line 4451. -Package hyperref Info: Plain pages OFF on input line 4458. -Package hyperref Info: Backreferencing ON on input line 4461. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4688. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty -Package: backref 2012/07/25 v1.38 Bibliographical back referencing - -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -82. -)) -\c@Hy@tempcnt=\count122 - -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip10 -Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc. +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2004/09/05 1.3 listings language file ) -LaTeX Info: Redefining \url on input line 5041. -\XeTeXLinkMargin=\dimen143 -\Fld@menulength=\count123 -\Field@Width=\dimen144 -\Fld@charsize=\dimen145 -Package hyperref Info: Hyper figures OFF on input line 6295. -Package hyperref Info: Link nesting OFF on input line 6300. -Package hyperref Info: Hyper index ON on input line 6303. -Package hyperref Info: backreferencing ON on input line 6308. -Package hyperref Info: Link coloring OFF on input line 6315. -Package hyperref Info: Link coloring with OCG OFF on input line 6320. -Package hyperref Info: PDF/A mode OFF on input line 6325. -LaTeX Info: Redefining \ref on input line 6365. -LaTeX Info: Redefining \pageref on input line 6369. -\Hy@abspage=\count124 -\c@Item=\count125 -\c@Hfootnote=\count126 +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) ) +\@indexfile=\write3 +\openout3 = `refman.idx'. -Package hyperref Message: Driver: hpdftex. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX -\Fld@listcount=\count127 -\c@bookmark@seq@number=\count128 -\Hy@SectionHShift=\skip101 -) -Package hyperref Info: Option `colorlinks' set `true' on input line 103. -Package hyperref Info: Option `unicode' set `true' on input line 103. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2012/11/06 v6.83m Hyperref: PDF Unicode definition (HO) -Now handling font encoding PU ... -... no UTF-8 mapping file for font encoding PU -) (./refman.aux -LaTeX Info: Redefining \. on input line 23. -LaTeX Info: Redefining \% on input line 23. +Writing index file refman.idx +(./refman.aux +LaTeX Info: Redefining \. on input line 21. +LaTeX Info: Redefining \% on input line 21. ) \openout1 = `refman.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 113. -LaTeX Font Info: Try loading font information for TS1+cmr on input line 113. - - -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 49. +LaTeX Font Info: Try loading font information for TS1+cmr on input line 49. + (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions ) -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 113. -LaTeX Font Info: ... okay on input line 113. -LaTeX Font Info: Try loading font information for T1+phv on input line 113. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 49. +LaTeX Font Info: ... okay on input line 49. +LaTeX Font Info: Try loading font information for T1+phv on input line 49. (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv. ) LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 8.99994pt on input line 113. - -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count129 -\scratchdimen=\dimen146 -\scratchbox=\box56 -\nofMPsegments=\count130 -\nofMParguments=\count131 -\everyMPshowfont=\toks26 -\MPscratchCnt=\count132 -\MPscratchDim=\dimen147 -\MPnumerator=\count133 -\makeMPintoPDFobject=\count134 -\everyMPtoPDFconversion=\toks27 -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf - -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) -) -Package grfext Info: Graphics extension search list: -(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 452. - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -LaTeX Info: Redefining \. on input line 113. -LaTeX Info: Redefining \% on input line 113. -\big@size=\dimen148 +(Font) scaled to size 8.99994pt on input line 49. *geometry* driver: auto-detecting *geometry* detected driver: pdftex @@ -981,72 +1013,85 @@ LaTeX Info: Redefining \% on input line 113. * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -\AtBeginShipoutBox=\box57 -Package backref Info: ** backref set up for natbib ** on input line 113. -Package hyperref Info: Link coloring ON on input line 113. +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count142 +\scratchdimen=\dimen150 +\scratchbox=\box62 +\nofMPsegments=\count143 +\nofMParguments=\count144 +\everyMPshowfont=\toks28 +\MPscratchCnt=\count145 +\MPscratchDim=\dimen151 +\MPnumerator=\count146 +\makeMPintoPDFobject=\count147 +\everyMPtoPDFconversion=\toks29 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) +) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 452. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\c@lstlisting=\count148 +\AtBeginShipoutBox=\box63 +Package backref Info: ** backref set up for natbib ** on input line 49. +Package hyperref Info: Link coloring ON on input line 49. + (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section +Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) ) -\c@section@level=\count135 +\c@section@level=\count149 ) -LaTeX Info: Redefining \ref on input line 113. -LaTeX Info: Redefining \pageref on input line 113. -LaTeX Info: Redefining \nameref on input line 113. +LaTeX Info: Redefining \ref on input line 49. +LaTeX Info: Redefining \pageref on input line 49. +LaTeX Info: Redefining \nameref on input line 49. (./refman.out) (./refman.out) \@outlinefile=\write4 \openout4 = `refman.out'. -Package hyperref Info: Option `pageanchor' set `false' on input line 116. +LaTeX Info: Redefining \. on input line 49. +LaTeX Info: Redefining \% on input line 49. +\big@size=\dimen152 +Package hyperref Info: Option `pageanchor' set `false' on input line 50. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 12.9599pt on input line 121. +(Font) scaled to size 12.9599pt on input line 54. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 10.79993pt on input line 123. +(Font) scaled to size 10.79993pt on input line 56. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 8.09995pt on input line 125. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 127. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 127. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 127. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 127. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 127. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 127. +(Font) scaled to size 8.09995pt on input line 58. [1 -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 128. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 128. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 128. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 128. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 128. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 128. - [2 +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 ] LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 22.39185pt on input line 129. +(Font) scaled to size 22.39185pt on input line 63. LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 129. +(Font) Font shape `T1/phv/b/n' tried instead on input line 63. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 22.39185pt on input line 129. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 22.39185pt on input line 129. - (./refman.toc +(Font) scaled to size 22.39185pt on input line 63. +LaTeX Font Info: Try loading font information for OT1+phv on input line 63. + (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd +File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv. +) +LaTeX Font Info: Font shape `OT1/phv/bc/n' will be +(Font) scaled to size 22.39185pt on input line 63. + +(./refman.toc LaTeX Info: Redefining \. on input line 1. LaTeX Info: Redefining \% on input line 1. LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available @@ -1055,8 +1100,7 @@ LaTeX Font Info: Font shape `T1/phv/b/n' will be (Font) scaled to size 8.99994pt on input line 2. LaTeX Font Info: Try loading font information for OT1+ztmcm on input line 2. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd + (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd File: ot1ztmcm.fd 2000/01/03 Fontinst v1.801 font definitions for OT1/ztmcm. ) LaTeX Font Info: Try loading font information for OML+ztmcm on input line 2. @@ -1088,1456 +1132,205 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7.4> not available (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2. LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <6> not available (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 31. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 31. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 31. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 31. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 31. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 31. - [3 + [1 ] LaTeX Font Info: Font shape `T1/phv/bx/sc' in size <10> not available -(Font) Font shape `T1/phv/b/sc' tried instead on input line 71. +(Font) Font shape `T1/phv/b/sc' tried instead on input line 70. LaTeX Font Info: Font shape `T1/phv/b/sc' will be -(Font) scaled to size 8.99994pt on input line 71. -LaTeX Info: Redefining \. on input line 71. -LaTeX Info: Redefining \% on input line 71. +(Font) scaled to size 8.99994pt on input line 70. +LaTeX Info: Redefining \. on input line 70. +LaTeX Info: Redefining \% on input line 70. LaTeX Font Info: Font shape `T1/phv/bx/n' in size <7> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 71. +(Font) Font shape `T1/phv/b/n' tried instead on input line 70. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 6.29996pt on input line 71. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 71. - [4] +(Font) scaled to size 6.29996pt on input line 70. + [2] LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 107. +(Font) Font shape `T1/phv/b/n' tried instead on input line 76. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 10.79993pt on input line 107. +(Font) scaled to size 10.79993pt on input line 76. LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 107. +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 76. LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 107. +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 76. LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available -(Font) Font shape `OT1/ptm/b/n' tried instead on input line 107. +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 76. ) \tf@toc=\write5 \openout5 = `refman.toc'. -LaTeX Info: Redefining \. on input line 130. -LaTeX Info: Redefining \% on input line 130. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 130. - [5] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 130. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 130. - -[6 +LaTeX Info: Redefining \. on input line 64. +LaTeX Info: Redefining \% on input line 64. + [3] +[4 ] -Package hyperref Info: Option `pageanchor' set `true' on input line 132. +Package hyperref Info: Option `pageanchor' set `true' on input line 66. Cap\'{\i }tulo 1. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 135. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 18.66588pt on input line 135. +(Font) scaled to size 18.66588pt on input line 67. LaTeX Font Info: Font shape `T1/phv/bx/n' in size <20.74> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 135. +(Font) Font shape `T1/phv/b/n' tried instead on input line 67. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 18.66588pt on input line 135. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 18.66588pt on input line 135. +(Font) scaled to size 18.66588pt on input line 67. +LaTeX Font Info: Font shape `OT1/phv/bc/n' will be +(Font) scaled to size 18.66588pt on input line 67. (./index.tex LaTeX Font Info: Try loading font information for T1+pcr on input line 1. (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. ) -LaTeX Font Info: Font shape `T1/phv/bc/n' will be +LaTeX Font Info: Font shape `OT1/phv/bc/n' will be (Font) scaled to size 8.99994pt on input line 9. - -Underfull \hbox (badness 10000) detected at line 9 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 12 -[][][] - [] - ) -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 137. - [1 +[1 ] -LaTeX Info: Redefining \. on input line 137. -LaTeX Info: Redefining \% on input line 137. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 137. +LaTeX Info: Redefining \. on input line 69. +LaTeX Info: Redefining \% on input line 69. [2 ] Cap\'{\i }tulo 2. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 137. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 137. (./client_code.tex LaTeX Font Info: Font shape `T1/phv/m/n' will be (Font) scaled to size 6.29996pt on input line 4. -) -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 141. - [3] -LaTeX Info: Redefining \. on input line 141. -LaTeX Info: Redefining \% on input line 141. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 141. +) [3] +LaTeX Info: Redefining \. on input line 73. +LaTeX Info: Redefining \% on input line 73. [4 ] Cap\'{\i }tulo 3. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 141. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 141. (./howto.tex -LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 7.19995pt on input line 3. - -Overfull \hbox (48.75621pt too wide) in paragraph at lines 3--3 -[] \T1/pcr/m/n/8 A continuacin se desglosan las instrucciones para el desar -rollo con esta libera y su posterior uso. - [] - LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 6. +(Font) Font shape `T1/phv/b/n' tried instead on input line 5. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 12.9599pt on input line 6. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 12.9599pt on input line 6. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 6. -LaTeX Font Info: Font shape `T1/phv/bc/n' will be -(Font) scaled to size 10.79993pt on input line 16. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 16. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 18. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 28. -[5] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 28. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 39. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 50. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 52. -) -LaTeX Info: Redefining \. on input line 145. -LaTeX Info: Redefining \% on input line 145. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 145. +(Font) scaled to size 12.9599pt on input line 5. +LaTeX Font Info: Font shape `OT1/phv/bc/n' will be +(Font) scaled to size 12.9599pt on input line 5. +LaTeX Font Info: Font shape `OT1/phv/bc/n' will be +(Font) scaled to size 10.79993pt on input line 15. + [5]) +LaTeX Info: Redefining \. on input line 77. +LaTeX Info: Redefining \% on input line 77. [6] Cap\'{\i }tulo 4. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 145. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 145. -(./annotated.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 1. -) -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 147. - [7 +(./annotated.tex) [7 ] -LaTeX Info: Redefining \. on input line 147. -LaTeX Info: Redefining \% on input line 147. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 147. +LaTeX Info: Redefining \. on input line 79. +LaTeX Info: Redefining \% on input line 79. [8 ] Cap\'{\i }tulo 5. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 147. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 147. -(./files.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 1. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 1. -) -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. - [9] -LaTeX Info: Redefining \. on input line 149. -LaTeX Info: Redefining \% on input line 149. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. +(./files.tex) [9] +LaTeX Info: Redefining \. on input line 81. +LaTeX Info: Redefining \% on input line 81. [10 ] Cap\'{\i }tulo 6. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. -(./class_server.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. +(./class_socket.tex LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available (Font) Font shape `T1/phv/m/sl' tried instead on input line 17. LaTeX Font Info: Font shape `T1/phv/m/sl' will be (Font) scaled to size 8.09995pt on input line 17. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 46. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 46. [11] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 49. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 54. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 54. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 54. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 54. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 54. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 54. - - -LaTeX Font Warning: Font shape `T1/pcr/bc/n' undefined -(Font) using `T1/pcr/m/n' instead on input line 61. - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 61. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 68. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 68. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 68. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 68. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 68. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 68. -LaTeX Font Info: Font shape `T1/phv/bc/it' in size <10> not available -(Font) Font shape `T1/phv/bc/sl' tried instead on input line 75. -LaTeX Font Info: Font shape `T1/phv/bc/sl' will be -(Font) scaled to size 8.99994pt on input line 75. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 75. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 75. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 75. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 75. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 75. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 75. +LaTeX Font Info: Font shape `OT1/phv/bc/it' in size <10> not available +(Font) Font shape `OT1/phv/bc/sl' tried instead on input line 78. +LaTeX Font Info: Font shape `OT1/phv/bc/sl' will be +(Font) scaled to size 8.99994pt on input line 78. LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available -(Font) Font shape `T1/phv/m/sl' tried instead on input line 82. +(Font) Font shape `T1/phv/m/sl' tried instead on input line 85. LaTeX Font Info: Font shape `T1/phv/m/sl' will be -(Font) scaled to size 8.99994pt on input line 82. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 124. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 124. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 124. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 124. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 124. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 124. -LaTeX Info: Redefining \. on input line 135. -LaTeX Info: Redefining \% on input line 135. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 135. -[12] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 135. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 152. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 166. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 169. - -Overfull \hbox (163.95628pt too wide) in paragraph at lines 174--174 -[]\T1/pcr/m/n/8 Esta variable se encarga de mantener la cuenta de threads activ -os, por tanto, el nmero de conexiones que estan siendo antendidas - [] +(Font) scaled to size 8.99994pt on input line 85. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 178. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 178. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 178. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 178. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 178. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 178. - -Overfull \hbox (149.55627pt too wide) in paragraph at lines 183--183 -[]\T1/pcr/m/n/8 Esta variable controla el apagado del servidor, al ponerla a tr -ue, la siguiente iteracin del bucle que atiende las conexiones +Underfull \vbox (badness 10000) detected at line 87 [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 187. - -Overfull \hbox (159.15628pt too wide) in paragraph at lines 192--192 -[]\T1/pcr/m/n/8 Esta variable contiene el objeto de la clase Socket que la apli -cacin servidor usa para poder atender las peticiones. Su funcin - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 196. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 196. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 196. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 196. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 196. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 196. -LaTeX Info: Redefining \. on input line 205. -LaTeX Info: Redefining \% on input line 205. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 205. -[13] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 205. - -Overfull \hbox (154.35628pt too wide) in paragraph at lines 210--210 -[]\T1/pcr/m/n/8 Esta variable contiene una lista de threads que han finalizado -su ejecucin. A cada iteracin del bucle que atiende conexiones, - [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 214. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 214. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 214. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 214. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 214. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 214. - -Overfull \hbox (183.1563pt too wide) in paragraph at lines 219--219 -[]\T1/pcr/m/n/8 Esta variable contiene el ID del prximo thread que se crear, -por tanto, indica el nmero de conexiones que han sido atendidas desde +Underfull \vbox (badness 10000) detected at line 106 [] -) (./class_socket.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -LaTeX Info: Redefining \. on input line 35. -LaTeX Info: Redefining \% on input line 35. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 35. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 35. - [14] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 64. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 78. - -Overfull \hbox (139.95627pt too wide) in paragraph at lines 83--83 -[]\T1/pcr/m/n/8 Este mtodo bloquea el thread que lo ejecuta hasta que recibe u -na conexin entrante, que almacena como instancia de la clase +LaTeX Info: Redefining \. on input line 130. +LaTeX Info: Redefining \% on input line 130. +[12] +Underfull \vbox (badness 10000) detected at line 136 [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 97. - -Overfull \hbox (111.15625pt too wide) in paragraph at lines 102--102 -[]\T1/pcr/m/n/8 Este mtodo asigna el socket a una direccin IP (y por tanto, a - una interfaz de red en concreto) y un puerto, para que - [] -LaTeX Info: Redefining \. on input line 102. -LaTeX Info: Redefining \% on input line 102. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 102. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 102. -[15] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 117. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 129. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 129. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 129. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 129. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 129. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 129. - -Overfull \hbox (149.55627pt too wide) in paragraph at lines 134--134 -[]\T1/pcr/m/n/8 Este mtodo sirve a los sockets que actan como cliente para po -der efectuar conexiones a otro socket que est escuchando en la +Underfull \vbox (badness 10000) detected at line 174 [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 149. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 160. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 171. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 171. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 171. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 171. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 171. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 171. -LaTeX Info: Redefining \. on input line 177. -LaTeX Info: Redefining \% on input line 177. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 177. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 177. -[16] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 187. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 187. - Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 187. +(hyperref) removing `math shift' on input line 181. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 187. +(hyperref) removing `math shift' on input line 181. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 187. +(hyperref) removing `math shift' on input line 181. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 187. +(hyperref) removing `math shift' on input line 181. -Overfull \hbox (19.95619pt too wide) in paragraph at lines 192--192 -[]\T1/pcr/m/n/8 Este mtodo enva el mensaje que se le proporciona a travs del - Socket con o sin encriptacin segn +Underfull \vbox (badness 10000) detected at line 190 [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 205. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 205. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 205. +(hyperref) removing `math shift' on input line 197. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 205. +(hyperref) removing `math shift' on input line 197. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 205. +(hyperref) removing `math shift' on input line 197. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 205. +(hyperref) removing `math shift' on input line 197. + + +Underfull \vbox (badness 10000) detected at line 206 + [] + +LaTeX Font Info: Try loading font information for OT1+pcr on input line 214. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd +File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. +) +LaTeX Font Warning: Font shape `OT1/pcr/bc/n' undefined +(Font) using `OT1/pcr/m/n' instead on input line 214. -Overfull \hbox (173.55629pt too wide) in paragraph at lines 210--210 -[]\T1/pcr/m/n/8 Este mtodo recibe un mensaje de longitud arbitrria con o sin -encriptacin segn las \ref defines "opciones de compilacin" usando +LaTeX Info: Redefining \. on input line 219. +LaTeX Info: Redefining \% on input line 219. +[13] +Underfull \vbox (badness 10000) detected at line 227 + [] + + +Underfull \vbox (badness 10000) detected at line 248 [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 224. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 245. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 245. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 245. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 245. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 245. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 245. -LaTeX Info: Redefining \. on input line 253. -LaTeX Info: Redefining \% on input line 253. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 253. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 253. -[17] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 261. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 264. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 271. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 271. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 271. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 271. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 271. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 271. ) (./class_socket_exception.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 29. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 34. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 41. -LaTeX Info: Redefining \. on input line 47. -LaTeX Info: Redefining \% on input line 47. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 47. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 47. - [18] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 57. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 57. +LaTeX Info: Redefining \. on input line 17. +LaTeX Info: Redefining \% on input line 17. + [14] +Underfull \vbox (badness 10000) detected at line 50 + [] Package hyperref Warning: Token not allowed in a PDF string (Unicode): @@ -2551,929 +1344,68 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode): Package hyperref Warning: Token not allowed in a PDF string (Unicode): (hyperref) removing `math shift' on input line 57. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 77. ) (./structthread__args.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 30. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 30. -LaTeX Info: Redefining \. on input line 33. -LaTeX Info: Redefining \% on input line 33. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 33. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 33. - [19] -Underfull \hbox (badness 10000) detected at line 33 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 36 -[][][] - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 41. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 44. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 53. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 67. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 74. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 81. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 81. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 81. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 81. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 81. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 81. -) -LaTeX Info: Redefining \. on input line 154. -LaTeX Info: Redefining \% on input line 154. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 154. - [20] +LaTeX Info: Redefining \. on input line 17. +LaTeX Info: Redefining \% on input line 17. + [15]) +LaTeX Info: Redefining \. on input line 85. +LaTeX Info: Redefining \% on input line 85. + [16] Cap\'{\i }tulo 7. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 154. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 154. (./client_8cpp.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. - -Underfull \hbox (badness 10000) in paragraph at lines 9--16 - - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 36. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 36. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 36. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 36. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 36. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 36. - -Underfull \hbox (badness 10000) detected at line 37 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 40 -[][][] - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 45. -[21 - -] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 45. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 59. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 59. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 59. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 59. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 59. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 59. - -Overfull \hbox (197.5563pt too wide) in paragraph at lines 64--64 -[]\T1/pcr/m/n/8 Este mtodo se usa para terminar el cliente immediatamente en e -l caso que el servidor cierre la conexin de forma inesperada, capturando - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 77. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 88. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 91. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 97. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 97. -) (./client_8dox.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 6. - -Underfull \hbox (badness 10000) detected at line 7 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 10 -[][][] - [] - -) (./howto_8dox.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 6. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 6. - -Underfull \hbox (badness 10000) detected at line 7 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 10 -[][][] - [] - -) (./server_8h.tex -Overfull \hbox (17.93839pt too wide) in paragraph at lines 3--3 -[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/ --J-Chat-Client/src/include/server.h - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -LaTeX Info: Redefining \. on input line 9. -LaTeX Info: Redefining \% on input line 9. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 9. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 9. -[22] -Underfull \hbox (badness 10000) in paragraph at lines 9--16 - - [] +Underfull \hbox (badness 10000) in paragraph at lines 9--10 -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 43. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 43. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 43. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 43. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 43. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 43. - -Underfull \hbox (badness 10000) detected at line 44 -[][][] [] +[17 -Underfull \hbox (badness 10000) detected at line 47 -[][][] - [] +]) (./client_8dox.tex +LaTeX Info: Redefining \. on input line 7. +LaTeX Info: Redefining \% on input line 7. + [18]) (./howto_8dox.tex) (./client_8h.tex +Underfull \hbox (badness 10000) in paragraph at lines 4--11 -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 52. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 55. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 55. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 55. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 55. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 55. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 55. -LaTeX Info: Redefining \. on input line 60. -LaTeX Info: Redefining \% on input line 60. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 60. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 60. -[23] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 62. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 62. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 62. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 62. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 62. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 62. - -Overfull \hbox (197.5563pt too wide) in paragraph at lines 67--67 -[]\T1/pcr/m/n/8 Esta constante controla cuantas conexiones puede haber en esper -a o cuantas puede haber establecias en cualquier momento: habr N activas [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 71. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 78. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 94. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 113. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 131. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 131. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 131. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 131. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 131. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 131. -LaTeX Info: Redefining \. on input line 138. -LaTeX Info: Redefining \% on input line 138. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 138. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 138. -[24]) (./_socket_8h.tex +) (./_socket_8h.tex Underfull \hbox (badness 3471) in paragraph at lines 3--3 -[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/ +[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ -J-Chat-Client/src/include/- [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. - -Underfull \hbox (badness 10000) in paragraph at lines 9--17 - [] +Underfull \hbox (badness 10000) in paragraph at lines 9--21 -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 24. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 24. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 24. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 24. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 24. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 24. - -Underfull \hbox (badness 10000) detected at line 25 -[][][] [] -Underfull \hbox (badness 10000) detected at line 28 -[][][] - [] +Underfull \vbox (badness 1077) has occurred while \output is active [] -) (./_socket_exception_8h.tex +LaTeX Info: Redefining \. on input line 21. +LaTeX Info: Redefining \% on input line 21. + [19]) +(./_socket_exception_8h.tex Underfull \hbox (badness 3471) in paragraph at lines 3--3 -[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/ +[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ -J-Chat-Client/src/include/- [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. Underfull \hbox (badness 10000) in paragraph at lines 9--10 [] -LaTeX Info: Redefining \. on input line 14. -LaTeX Info: Redefining \% on input line 14. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 14. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 14. -[25] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 17. - -Underfull \hbox (badness 10000) detected at line 18 -[][][] - [] - - -Underfull \hbox (badness 10000) detected at line 21 -[][][] - [] - -) (./mainpage_8dox.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -) (./makefile_8dox.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. -) (./_socket_8cpp.tex -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 3. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 3. - -Underfull \hbox (badness 10000) in paragraph at lines 9--15 - - [] - -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 17. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 17. - -Underfull \hbox (badness 10000) detected at line 18 -[][][] - [] - +LaTeX Info: Redefining \. on input line 21. +LaTeX Info: Redefining \% on input line 21. +[20]) (./mainpage_8dox.tex) (./makefile_8dox.tex) (./_socket_8cpp.tex +Underfull \hbox (badness 10000) in paragraph at lines 9--10 -Underfull \hbox (badness 10000) detected at line 21 -[][][] [] -) -LaTeX Info: Redefining \. on input line 167. -LaTeX Info: Redefining \% on input line 167. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 167. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 167. - [26] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 169. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 169. - (./refman.ind +) (./refman.ind +LaTeX Info: Redefining \. on input line 1. +LaTeX Info: Redefining \% on input line 1. + [21] Underfull \hbox (badness 10000) in paragraph at lines 5--7 []\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/- [] @@ -3489,9 +1421,9 @@ Underfull \hbox (badness 10000) in paragraph at lines 9--11 [] -Overfull \hbox (33.54895pt too wide) in paragraph at lines 17--19 -[]\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/include/s -erver.- +Overfull \hbox (29.95801pt too wide) in paragraph at lines 17--19 +[]\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/include/c +lient.- [] @@ -3500,84 +1432,38 @@ Overfull \hbox (17.3224pt too wide) in paragraph at lines 19--21 - [] -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 144. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 144. -[27 +[22 ] -LaTeX Info: Redefining \. on input line 242. -LaTeX Info: Redefining \% on input line 242. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand << -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand >> -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "= -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "~ -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "! -(babel) in language on input line 242. -Package babel Info: Redefining spanish shorthand "? -(babel) in language on input line 242. - [28]) -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 172. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 172. +LaTeX Info: Redefining \. on input line 151. +LaTeX Info: Redefining \% on input line 151. + [23 + +]) +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 97. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 97. (./refman.aux -LaTeX Info: Redefining \. on input line 23. -LaTeX Info: Redefining \% on input line 23. +LaTeX Info: Redefining \. on input line 21. +LaTeX Info: Redefining \% on input line 21. ) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 172. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 172. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 97. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 97. Package rerunfilecheck Info: File `refman.out' has not changed. -(rerunfilecheck) Checksum: 74DF7B4A7FDB2AEB75832E36C6B727F0;19029. +(rerunfilecheck) Checksum: DDDDBC43CB7E9CFAA74D492C11EA7B0A;14371. LaTeX Font Warning: Some font shapes were not available, defaults substituted. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 172. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 97. ) Here is how much of TeX's memory you used: - 13249 strings out of 494969 - 185548 string characters out of 6179593 - 269036 words of memory out of 5000000 - 15985 multiletter control sequences out of 15000+600000 - 87263 words of font info for 113 fonts, out of 8000000 for 9000 - 40 hyphenation exceptions out of 8191 - 48i,13n,43p,579b,691s stack positions out of 5000i,500n,10000p,200000b,80000s + 12386 strings out of 495059 + 171405 string characters out of 3182031 + 293523 words of memory out of 3000000 + 15121 multiletter control sequences out of 15000+200000 + 78540 words of font info for 111 fonts, out of 3000000 for 9000 + 14 hyphenation exceptions out of 8191 + 41i,13n,58p,578b,625s stack positions out of 5000i,500n,10000p,200000b,50000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on refman.pdf (34 pages, 155681 bytes). +Output written on refman.pdf (29 pages, 133388 bytes). PDF statistics: - 1108 PDF objects out of 1200 (max. 8388607) - 1053 compressed objects within 11 object streams - 229 named destinations out of 1000 (max. 500000) - 849 words of extra memory for PDF output out of 10000 (max. 10000000) + 804 PDF objects out of 1000 (max. 8388607) + 757 compressed objects within 8 object streams + 173 named destinations out of 1000 (max. 500000) + 601 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/JChatClient/doc/latex/refman.out b/JChatClient/doc/latex/refman.out index 6053ba7..5bc7b0b 100644 --- a/JChatClient/doc/latex/refman.out +++ b/JChatClient/doc/latex/refman.out @@ -5,102 +5,71 @@ \BOOKMARK [2][-]{subsection.3.1.1}{\376\377\000M\000o\000d\000o\000\040\000e\000n\000\040\000t\000e\000x\000t\000o\000\040\000l\000l\000a\000n\000o}{section.3.1}% 5 \BOOKMARK [2][-]{subsection.3.1.2}{\376\377\000E\000n\000v\000\355\000o\000/\000R\000e\000c\000e\000p\000c\000i\000\363\000n\000\040\000d\000e\000\040\000m\000e\000n\000s\000a\000j\000e\000s}{section.3.1}% 6 \BOOKMARK [1][-]{section.3.2}{\376\377\000C\000o\000m\000p\000i\000l\000a\000c\000i\000\363\000n}{chapter.3}% 7 -\BOOKMARK [2][-]{subsection.3.2.1}{\376\377\000O\000p\000c\000i\000o\000n\000e\000s\000\040\000d\000e\000\040\000c\000o\000m\000p\000i\000l\000a\000c\000i\000\363\000n}{section.3.2}% 8 -\BOOKMARK [2][-]{subsection.3.2.2}{\376\377\000F\000l\000a\000g\000s\000\040\000d\000e\000\040\000c\000o\000m\000p\000i\000l\000a\000c\000i\000\363\000n\000\040\000y\000\040\000l\000i\000b\000r\000e\000r\000\355\000a\000s}{section.3.2}% 9 -\BOOKMARK [1][-]{section.3.3}{\376\377\000E\000j\000e\000m\000p\000l\000o\000s}{chapter.3}% 10 -\BOOKMARK [2][-]{subsection.3.3.1}{\376\377\000P\000r\000o\000g\000r\000a\000m\000a\000r\000\040\000u\000n\000\040\000c\000l\000i\000e\000n\000t\000e}{section.3.3}% 11 -\BOOKMARK [0][-]{chapter.4}{\376\377\000\315\000n\000d\000i\000c\000e\000\040\000d\000e\000\040\000c\000l\000a\000s\000e\000s}{}% 12 -\BOOKMARK [1][-]{section.4.1}{\376\377\000L\000i\000s\000t\000a\000\040\000d\000e\000\040\000c\000l\000a\000s\000e\000s}{chapter.4}% 13 -\BOOKMARK [0][-]{chapter.5}{\376\377\000I\000n\000d\000i\000c\000e\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{}% 14 -\BOOKMARK [1][-]{section.5.1}{\376\377\000L\000i\000s\000t\000a\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{chapter.5}% 15 -\BOOKMARK [0][-]{chapter.6}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000c\000l\000a\000s\000e\000s}{}% 16 -\BOOKMARK [1][-]{section.6.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000C\000l\000a\000s\000e\000\040\000S\000e\000r\000v\000e\000r}{chapter.6}% 17 -\BOOKMARK [2][-]{subsection.6.1.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.1}% 18 -\BOOKMARK [2][-]{subsection.6.1.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000l\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000y\000\040\000d\000e\000s\000t\000r\000u\000c\000t\000o\000r}{section.6.1}% 19 -\BOOKMARK [3][-]{subsubsection.6.1.2.1}{\376\377\000S\000e\000r\000v\000e\000r}{subsection.6.1.2}% 20 -\BOOKMARK [2][-]{subsection.6.1.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.1}% 21 -\BOOKMARK [3][-]{subsubsection.6.1.3.1}{\376\377\000f\000r\000e\000e\000R\000A\000M}{subsection.6.1.3}% 22 -\BOOKMARK [3][-]{subsubsection.6.1.3.2}{\376\377\000g\000e\000t\000N\000W\000o\000r\000k\000e\000r\000s}{subsection.6.1.3}% 23 -\BOOKMARK [3][-]{subsubsection.6.1.3.3}{\376\377\000g\000e\000t\000S\000t\000a\000r\000t\000e\000d\000T\000h\000r\000e\000a\000d\000s}{subsection.6.1.3}% 24 -\BOOKMARK [3][-]{subsubsection.6.1.3.4}{\376\377\000g\000e\000t\000S\000t\000o\000p\000p\000e\000d\000T\000h\000r\000e\000a\000d\000s}{subsection.6.1.3}% 25 -\BOOKMARK [3][-]{subsubsection.6.1.3.5}{\376\377\000r\000e\000q\000u\000e\000s\000t\000E\000x\000i\000t}{subsection.6.1.3}% 26 -\BOOKMARK [3][-]{subsubsection.6.1.3.6}{\376\377\000s\000e\000t\000N\000W\000o\000r\000k\000e\000r\000s}{subsection.6.1.3}% 27 -\BOOKMARK [3][-]{subsubsection.6.1.3.7}{\376\377\000s\000t\000a\000r\000t\000S\000e\000r\000v\000e\000r}{subsection.6.1.3}% 28 -\BOOKMARK [2][-]{subsection.6.1.4}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.1}% 29 -\BOOKMARK [3][-]{subsubsection.6.1.4.1}{\376\377\000n\000W\000o\000r\000k\000e\000r\000s}{subsection.6.1.4}% 30 -\BOOKMARK [3][-]{subsubsection.6.1.4.2}{\376\377\000s\000h\000u\000t\000d\000o\000w\000n\000S\000e\000r\000v\000e\000r}{subsection.6.1.4}% 31 -\BOOKMARK [3][-]{subsubsection.6.1.4.3}{\376\377\000s\000s}{subsection.6.1.4}% 32 -\BOOKMARK [3][-]{subsubsection.6.1.4.4}{\376\377\000s\000t\000a\000r\000t\000e\000d\000T\000h\000r\000e\000a\000d\000s}{subsection.6.1.4}% 33 -\BOOKMARK [3][-]{subsubsection.6.1.4.5}{\376\377\000s\000t\000o\000p\000p\000e\000d\000T\000h\000r\000e\000a\000d\000s}{subsection.6.1.4}% 34 -\BOOKMARK [3][-]{subsubsection.6.1.4.6}{\376\377\000w\000o\000r\000k\000e\000r\000I\000D}{subsection.6.1.4}% 35 -\BOOKMARK [1][-]{section.6.2}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000C\000l\000a\000s\000e\000\040\000S\000o\000c\000k\000e\000t}{chapter.6}% 36 -\BOOKMARK [2][-]{subsection.6.2.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.2}% 37 -\BOOKMARK [2][-]{subsection.6.2.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000l\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000y\000\040\000d\000e\000s\000t\000r\000u\000c\000t\000o\000r}{section.6.2}% 38 -\BOOKMARK [3][-]{subsubsection.6.2.2.1}{\376\377\000S\000o\000c\000k\000e\000t}{subsection.6.2.2}% 39 +\BOOKMARK [2][-]{subsection.3.2.1}{\376\377\000F\000l\000a\000g\000s\000\040\000d\000e\000\040\000c\000o\000m\000p\000i\000l\000a\000c\000i\000\363\000n}{section.3.2}% 8 +\BOOKMARK [1][-]{section.3.3}{\376\377\000E\000j\000e\000m\000p\000l\000o\000s}{chapter.3}% 9 +\BOOKMARK [2][-]{subsection.3.3.1}{\376\377\000P\000r\000o\000g\000r\000a\000m\000a\000r\000\040\000u\000n\000\040\000c\000l\000i\000e\000n\000t\000e}{section.3.3}% 10 +\BOOKMARK [0][-]{chapter.4}{\376\377\000\315\000n\000d\000i\000c\000e\000\040\000d\000e\000\040\000c\000l\000a\000s\000e\000s}{}% 11 +\BOOKMARK [1][-]{section.4.1}{\376\377\000L\000i\000s\000t\000a\000\040\000d\000e\000\040\000c\000l\000a\000s\000e\000s}{chapter.4}% 12 +\BOOKMARK [0][-]{chapter.5}{\376\377\000I\000n\000d\000i\000c\000e\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{}% 13 +\BOOKMARK [1][-]{section.5.1}{\376\377\000L\000i\000s\000t\000a\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{chapter.5}% 14 +\BOOKMARK [0][-]{chapter.6}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000c\000l\000a\000s\000e\000s}{}% 15 +\BOOKMARK [1][-]{section.6.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000C\000l\000a\000s\000e\000\040\000S\000o\000c\000k\000e\000t}{chapter.6}% 16 +\BOOKMARK [2][-]{subsection.6.1.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.1}% 17 +\BOOKMARK [2][-]{subsection.6.1.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000l\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000y\000\040\000d\000e\000s\000t\000r\000u\000c\000t\000o\000r}{section.6.1}% 18 +\BOOKMARK [3][-]{subsubsection.6.1.2.1}{\376\377\000S\000o\000c\000k\000e\000t}{subsection.6.1.2}% 19 +\BOOKMARK [2][-]{subsection.6.1.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.1}% 20 +\BOOKMARK [3][-]{subsubsection.6.1.3.1}{\376\377\000A\000c\000c\000e\000p\000t}{subsection.6.1.3}% 21 +\BOOKMARK [3][-]{subsubsection.6.1.3.2}{\376\377\000B\000i\000n\000d}{subsection.6.1.3}% 22 +\BOOKMARK [3][-]{subsubsection.6.1.3.3}{\376\377\000C\000l\000o\000s\000e}{subsection.6.1.3}% 23 +\BOOKMARK [3][-]{subsubsection.6.1.3.4}{\376\377\000C\000o\000n\000n\000e\000c\000t}{subsection.6.1.3}% 24 +\BOOKMARK [3][-]{subsubsection.6.1.3.5}{\376\377\000C\000r\000e\000a\000t\000e}{subsection.6.1.3}% 25 +\BOOKMARK [3][-]{subsubsection.6.1.3.6}{\376\377\000g\000e\000t\000S\000o\000c\000k}{subsection.6.1.3}% 26 +\BOOKMARK [3][-]{subsubsection.6.1.3.7}{\376\377\000L\000i\000s\000t\000e\000n}{subsection.6.1.3}% 27 +\BOOKMARK [3][-]{subsubsection.6.1.3.8}{\376\377\000o\000p\000e\000r\000a\000t\000o\000r\000<\000<}{subsection.6.1.3}% 28 +\BOOKMARK [3][-]{subsubsection.6.1.3.9}{\376\377\000o\000p\000e\000r\000a\000t\000o\000r\000>\000>}{subsection.6.1.3}% 29 +\BOOKMARK [3][-]{subsubsection.6.1.3.10}{\376\377\000R\000e\000c\000e\000i\000v\000e}{subsection.6.1.3}% 30 +\BOOKMARK [3][-]{subsubsection.6.1.3.11}{\376\377\000S\000e\000n\000d}{subsection.6.1.3}% 31 +\BOOKMARK [2][-]{subsection.6.1.4}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.1}% 32 +\BOOKMARK [3][-]{subsubsection.6.1.4.1}{\376\377\000s\000o\000c\000k}{subsection.6.1.4}% 33 +\BOOKMARK [3][-]{subsubsection.6.1.4.2}{\376\377\000s\000o\000c\000k\000A\000d\000d\000r}{subsection.6.1.4}% 34 +\BOOKMARK [1][-]{section.6.2}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000C\000l\000a\000s\000e\000\040\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{chapter.6}% 35 +\BOOKMARK [2][-]{subsection.6.2.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.2}% 36 +\BOOKMARK [2][-]{subsection.6.2.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000l\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000y\000\040\000d\000e\000s\000t\000r\000u\000c\000t\000o\000r}{section.6.2}% 37 +\BOOKMARK [3][-]{subsubsection.6.2.2.1}{\376\377\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{subsection.6.2.2}% 38 +\BOOKMARK [3][-]{subsubsection.6.2.2.2}{\376\377\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{subsection.6.2.2}% 39 \BOOKMARK [2][-]{subsection.6.2.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.2}% 40 -\BOOKMARK [3][-]{subsubsection.6.2.3.1}{\376\377\000A\000c\000c\000e\000p\000t}{subsection.6.2.3}% 41 -\BOOKMARK [3][-]{subsubsection.6.2.3.2}{\376\377\000B\000i\000n\000d}{subsection.6.2.3}% 42 -\BOOKMARK [3][-]{subsubsection.6.2.3.3}{\376\377\000C\000l\000o\000s\000e}{subsection.6.2.3}% 43 -\BOOKMARK [3][-]{subsubsection.6.2.3.4}{\376\377\000C\000o\000n\000n\000e\000c\000t}{subsection.6.2.3}% 44 -\BOOKMARK [3][-]{subsubsection.6.2.3.5}{\376\377\000C\000r\000e\000a\000t\000e}{subsection.6.2.3}% 45 -\BOOKMARK [3][-]{subsubsection.6.2.3.6}{\376\377\000g\000e\000t\000S\000o\000c\000k}{subsection.6.2.3}% 46 -\BOOKMARK [3][-]{subsubsection.6.2.3.7}{\376\377\000L\000i\000s\000t\000e\000n}{subsection.6.2.3}% 47 -\BOOKMARK [3][-]{subsubsection.6.2.3.8}{\376\377\000o\000p\000e\000r\000a\000t\000o\000r\000<\000<}{subsection.6.2.3}% 48 -\BOOKMARK [3][-]{subsubsection.6.2.3.9}{\376\377\000o\000p\000e\000r\000a\000t\000o\000r\000>\000>}{subsection.6.2.3}% 49 -\BOOKMARK [3][-]{subsubsection.6.2.3.10}{\376\377\000R\000e\000c\000e\000i\000v\000e}{subsection.6.2.3}% 50 -\BOOKMARK [3][-]{subsubsection.6.2.3.11}{\376\377\000S\000e\000n\000d}{subsection.6.2.3}% 51 -\BOOKMARK [2][-]{subsection.6.2.4}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.2}% 52 -\BOOKMARK [3][-]{subsubsection.6.2.4.1}{\376\377\000s\000o\000c\000k}{subsection.6.2.4}% 53 -\BOOKMARK [3][-]{subsubsection.6.2.4.2}{\376\377\000s\000o\000c\000k\000A\000d\000d\000r}{subsection.6.2.4}% 54 -\BOOKMARK [1][-]{section.6.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000C\000l\000a\000s\000e\000\040\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{chapter.6}% 55 -\BOOKMARK [2][-]{subsection.6.3.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.3}% 56 -\BOOKMARK [2][-]{subsection.6.3.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000l\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000y\000\040\000d\000e\000s\000t\000r\000u\000c\000t\000o\000r}{section.6.3}% 57 -\BOOKMARK [3][-]{subsubsection.6.3.2.1}{\376\377\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{subsection.6.3.2}% 58 -\BOOKMARK [3][-]{subsubsection.6.3.2.2}{\376\377\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n}{subsection.6.3.2}% 59 -\BOOKMARK [2][-]{subsection.6.3.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.3}% 60 -\BOOKMARK [3][-]{subsubsection.6.3.3.1}{\376\377\000d\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{subsection.6.3.3}% 61 -\BOOKMARK [2][-]{subsection.6.3.4}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.3}% 62 -\BOOKMARK [3][-]{subsubsection.6.3.4.1}{\376\377\000m\000e\000s\000s\000a\000g\000e}{subsection.6.3.4}% 63 -\BOOKMARK [1][-]{section.6.4}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000E\000s\000t\000r\000u\000c\000t\000u\000r\000a\000\040\000t\000h\000r\000e\000a\000d\000\137\000a\000r\000g\000s}{chapter.6}% 64 -\BOOKMARK [2][-]{subsection.6.4.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.4}% 65 -\BOOKMARK [2][-]{subsection.6.4.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.4}% 66 -\BOOKMARK [3][-]{subsubsection.6.4.2.1}{\376\377\000c\000o\000n\000d\000i\000t\000i\000o\000n}{subsection.6.4.2}% 67 -\BOOKMARK [3][-]{subsubsection.6.4.2.2}{\376\377\000i\000d}{subsection.6.4.2}% 68 -\BOOKMARK [3][-]{subsubsection.6.4.2.3}{\376\377\000m\000u\000t\000e\000x}{subsection.6.4.2}% 69 -\BOOKMARK [3][-]{subsubsection.6.4.2.4}{\376\377\000s}{subsection.6.4.2}% 70 -\BOOKMARK [3][-]{subsubsection.6.4.2.5}{\376\377\000s\000e\000r\000v}{subsection.6.4.2}% 71 -\BOOKMARK [3][-]{subsubsection.6.4.2.6}{\376\377\000t\000h\000r\000e\000a\000d}{subsection.6.4.2}% 72 -\BOOKMARK [0][-]{chapter.7}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{}% 73 -\BOOKMARK [1][-]{section.7.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000c\000l\000i\000e\000n\000t\000.\000c\000p\000p}{chapter.7}% 74 -\BOOKMARK [2][-]{subsection.7.1.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.1}% 75 -\BOOKMARK [2][-]{subsection.7.1.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s}{section.7.1}% 76 -\BOOKMARK [3][-]{subsubsection.7.1.2.1}{\376\377\000c\000o\000n\000n\000e\000c\000t}{subsection.7.1.2}% 77 -\BOOKMARK [3][-]{subsubsection.7.1.2.2}{\376\377\000e\000x\000i\000t\000C\000l\000i\000e\000n\000t}{subsection.7.1.2}% 78 -\BOOKMARK [3][-]{subsubsection.7.1.2.3}{\376\377\000m\000a\000i\000n}{subsection.7.1.2}% 79 -\BOOKMARK [3][-]{subsubsection.7.1.2.4}{\376\377\000s\000p\000e\000e\000d\000T\000e\000s\000t}{subsection.7.1.2}% 80 -\BOOKMARK [2][-]{subsection.7.1.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000s}{section.7.1}% 81 -\BOOKMARK [3][-]{subsubsection.7.1.3.1}{\376\377\000c\000o\000n\000n\000e\000c\000t\000e\000d}{subsection.7.1.3}% 82 -\BOOKMARK [3][-]{subsubsection.7.1.3.2}{\376\377\000f\000i\000n\000i\000s\000h\000e\000d}{subsection.7.1.3}% 83 -\BOOKMARK [1][-]{section.7.2}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000c\000l\000i\000e\000n\000t\000.\000d\000o\000x}{chapter.7}% 84 -\BOOKMARK [2][-]{subsection.7.2.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.2}% 85 -\BOOKMARK [1][-]{section.7.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000h\000o\000w\000t\000o\000.\000d\000o\000x}{chapter.7}% 86 -\BOOKMARK [2][-]{subsection.7.3.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.3}% 87 -\BOOKMARK [1][-]{section.7.4}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000s\000e\000r\000v\000e\000r\000.\000h}{chapter.7}% 88 -\BOOKMARK [2][-]{subsection.7.4.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.4}% 89 -\BOOKMARK [2][-]{subsection.7.4.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000'\000d\000e\000f\000i\000n\000e\000s\000'}{section.7.4}% 90 -\BOOKMARK [3][-]{subsubsection.7.4.2.1}{\376\377\000C\000O\000N\000F\000F\000I\000L\000E}{subsection.7.4.2}% 91 -\BOOKMARK [3][-]{subsubsection.7.4.2.2}{\376\377\000N}{subsection.7.4.2}% 92 -\BOOKMARK [2][-]{subsection.7.4.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s}{section.7.4}% 93 -\BOOKMARK [3][-]{subsubsection.7.4.3.1}{\376\377\000k\000i\000l\000l\000T\000h\000r\000e\000a\000d}{subsection.7.4.3}% 94 -\BOOKMARK [3][-]{subsubsection.7.4.3.2}{\376\377\000p\000r\000o\000c\000e\000s\000s\000T\000e\000x\000t}{subsection.7.4.3}% 95 -\BOOKMARK [3][-]{subsubsection.7.4.3.3}{\376\377\000r\000e\000a\000d\000C\000o\000n\000f}{subsection.7.4.3}% 96 -\BOOKMARK [3][-]{subsubsection.7.4.3.4}{\376\377\000W\000o\000r\000k\000e\000r\000T\000h\000r\000e\000a\000d}{subsection.7.4.3}% 97 -\BOOKMARK [1][-]{section.7.5}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000S\000o\000c\000k\000e\000t\000.\000h}{chapter.7}% 98 -\BOOKMARK [2][-]{subsection.7.5.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.5}% 99 -\BOOKMARK [1][-]{section.7.6}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n\000.\000h}{chapter.7}% 100 -\BOOKMARK [2][-]{subsection.7.6.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.6}% 101 -\BOOKMARK [1][-]{section.7.7}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000i\000n\000p\000a\000g\000e\000.\000d\000o\000x}{chapter.7}% 102 -\BOOKMARK [1][-]{section.7.8}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000k\000e\000f\000i\000l\000e\000.\000d\000o\000x}{chapter.7}% 103 -\BOOKMARK [1][-]{section.7.9}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000S\000o\000c\000k\000e\000t\000.\000c\000p\000p}{chapter.7}% 104 -\BOOKMARK [2][-]{subsection.7.9.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.9}% 105 -\BOOKMARK [-1][-]{section*.17}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 106 +\BOOKMARK [3][-]{subsubsection.6.2.3.1}{\376\377\000d\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{subsection.6.2.3}% 41 +\BOOKMARK [2][-]{subsection.6.2.4}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.2}% 42 +\BOOKMARK [3][-]{subsubsection.6.2.4.1}{\376\377\000m\000e\000s\000s\000a\000g\000e}{subsection.6.2.4}% 43 +\BOOKMARK [1][-]{section.6.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000\040\000l\000a\000\040\000E\000s\000t\000r\000u\000c\000t\000u\000r\000a\000\040\000t\000h\000r\000e\000a\000d\000\137\000a\000r\000g\000s}{chapter.6}% 44 +\BOOKMARK [2][-]{subsection.6.3.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.6.3}% 45 +\BOOKMARK [2][-]{subsection.6.3.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000o\000s\000\040\000d\000a\000t\000o\000s\000\040\000m\000i\000e\000m\000b\000r\000o}{section.6.3}% 46 +\BOOKMARK [3][-]{subsubsection.6.3.2.1}{\376\377\000c\000o\000n\000d\000i\000t\000i\000o\000n}{subsection.6.3.2}% 47 +\BOOKMARK [3][-]{subsubsection.6.3.2.2}{\376\377\000m\000u\000t\000e\000x}{subsection.6.3.2}% 48 +\BOOKMARK [3][-]{subsubsection.6.3.2.3}{\376\377\000s}{subsection.6.3.2}% 49 +\BOOKMARK [0][-]{chapter.7}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000a\000r\000c\000h\000i\000v\000o\000s}{}% 50 +\BOOKMARK [1][-]{section.7.1}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000c\000l\000i\000e\000n\000t\000.\000c\000p\000p}{chapter.7}% 51 +\BOOKMARK [2][-]{subsection.7.1.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.1}% 52 +\BOOKMARK [2][-]{subsection.7.1.2}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000f\000u\000n\000c\000i\000o\000n\000e\000s}{section.7.1}% 53 +\BOOKMARK [3][-]{subsubsection.7.1.2.1}{\376\377\000c\000o\000n\000n\000e\000c\000t}{subsection.7.1.2}% 54 +\BOOKMARK [3][-]{subsubsection.7.1.2.2}{\376\377\000k\000i\000l\000l\000T\000h\000r\000e\000a\000d}{subsection.7.1.2}% 55 +\BOOKMARK [3][-]{subsubsection.7.1.2.3}{\376\377\000m\000a\000i\000n}{subsection.7.1.2}% 56 +\BOOKMARK [3][-]{subsubsection.7.1.2.4}{\376\377\000r\000e\000c\000v\000T\000h\000r\000e\000a\000d}{subsection.7.1.2}% 57 +\BOOKMARK [3][-]{subsubsection.7.1.2.5}{\376\377\000s\000e\000n\000d\000T\000h\000r\000e\000a\000d}{subsection.7.1.2}% 58 +\BOOKMARK [2][-]{subsection.7.1.3}{\376\377\000D\000o\000c\000u\000m\000e\000n\000t\000a\000c\000i\000\363\000n\000\040\000d\000e\000\040\000l\000a\000s\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000s}{section.7.1}% 59 +\BOOKMARK [3][-]{subsubsection.7.1.3.1}{\376\377\000c\000o\000n\000n\000e\000c\000t\000e\000d}{subsection.7.1.3}% 60 +\BOOKMARK [3][-]{subsubsection.7.1.3.2}{\376\377\000f\000i\000n\000i\000s\000h\000e\000d}{subsection.7.1.3}% 61 +\BOOKMARK [1][-]{section.7.2}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000c\000l\000i\000e\000n\000t\000.\000d\000o\000x}{chapter.7}% 62 +\BOOKMARK [2][-]{subsection.7.2.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.2}% 63 +\BOOKMARK [1][-]{section.7.3}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000h\000o\000w\000t\000o\000.\000d\000o\000x}{chapter.7}% 64 +\BOOKMARK [2][-]{subsection.7.3.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.3}% 65 +\BOOKMARK [1][-]{section.7.4}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000c\000l\000i\000e\000n\000t\000.\000h}{chapter.7}% 66 +\BOOKMARK [1][-]{section.7.5}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000S\000o\000c\000k\000e\000t\000.\000h}{chapter.7}% 67 +\BOOKMARK [2][-]{subsection.7.5.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.5}% 68 +\BOOKMARK [1][-]{section.7.6}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000i\000n\000c\000l\000u\000d\000e\000/\000S\000o\000c\000k\000e\000t\000E\000x\000c\000e\000p\000t\000i\000o\000n\000.\000h}{chapter.7}% 69 +\BOOKMARK [2][-]{subsection.7.6.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.6}% 70 +\BOOKMARK [1][-]{section.7.7}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000i\000n\000p\000a\000g\000e\000.\000d\000o\000x}{chapter.7}% 71 +\BOOKMARK [1][-]{section.7.8}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000k\000e\000f\000i\000l\000e\000.\000d\000o\000x}{chapter.7}% 72 +\BOOKMARK [1][-]{section.7.9}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000S\000o\000c\000k\000e\000t\000.\000c\000p\000p}{chapter.7}% 73 +\BOOKMARK [2][-]{subsection.7.9.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.9}% 74 +\BOOKMARK [-1][-]{subsection.7.9.1}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 75 diff --git a/JChatClient/doc/latex/refman.pdf b/JChatClient/doc/latex/refman.pdf index b6435c8..a95a63e 100644 Binary files a/JChatClient/doc/latex/refman.pdf and b/JChatClient/doc/latex/refman.pdf differ diff --git a/JChatClient/doc/latex/refman.tex b/JChatClient/doc/latex/refman.tex index b06a5dc..3ad5f14 100644 --- a/JChatClient/doc/latex/refman.tex +++ b/JChatClient/doc/latex/refman.tex @@ -1,137 +1,69 @@ -\documentclass[twoside]{book} - -% Packages required by doxygen -\usepackage{calc} -\usepackage{doxygen} -\usepackage{graphicx} -\usepackage[utf8]{inputenc} +\documentclass{book} +\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry} \usepackage{makeidx} +\usepackage{natbib} +\usepackage{graphicx} \usepackage{multicol} -\usepackage{multirow} -\usepackage{textcomp} +\usepackage{float} +\usepackage{listings} +\usepackage{color} +\usepackage{ifthen} \usepackage[table]{xcolor} - -% NLS support packages +\usepackage{textcomp} +\usepackage{alltt} +\usepackage{ifpdf} +\ifpdf +\usepackage[pdftex, + pagebackref=true, + colorlinks=true, + linkcolor=blue, + unicode + ]{hyperref} +\else +\usepackage[ps2pdf, + pagebackref=true, + colorlinks=true, + linkcolor=blue, + unicode + ]{hyperref} +\usepackage{pspicture} +\fi +\usepackage[utf8]{inputenc} \usepackage[spanish]{babel} -% Font selection -\usepackage[T1]{fontenc} \usepackage{mathptmx} \usepackage[scaled=.90]{helvet} \usepackage{courier} -\usepackage{amssymb} \usepackage{sectsty} +\usepackage{amssymb} +\usepackage[titles]{tocloft} +\usepackage{doxygen} +\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left } +\makeindex +\setcounter{tocdepth}{3} +\renewcommand{\footrulewidth}{0.4pt} \renewcommand{\familydefault}{\sfdefault} -\allsectionsfont{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} -\renewcommand{\DoxyLabelFont}{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} - -% Page & text layout -\usepackage{geometry} -\geometry{% - a4paper,% - top=2.5cm,% - bottom=2.5cm,% - left=2.5cm,% - right=2.5cm% -} -\tolerance=750 \hfuzz=15pt -\hbadness=750 \setlength{\emergencystretch}{15pt} -\setlength{\parindent}{0cm} -\setlength{\parskip}{0.2cm} -\makeatletter -\renewcommand{\paragraph}{% - \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@parafont% - }% -} -\renewcommand{\subparagraph}{% - \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@subparafont% - }% -} -\makeatother - -% Headers & footers -\usepackage{fancyhdr} -\pagestyle{fancyplain} -\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} -\fancyhead[CE]{\fancyplain{}{}} -\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} -\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} -\fancyhead[CO]{\fancyplain{}{}} -\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} -\fancyfoot[LE]{\fancyplain{}{}} -\fancyfoot[CE]{\fancyplain{}{}} -\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Sábado, 7 de Diciembre de 2013 03:17:07 para Socket por Doxygen }} -\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Sábado, 7 de Diciembre de 2013 03:17:07 para Socket por Doxygen }} -\fancyfoot[CO]{\fancyplain{}{}} -\fancyfoot[RO]{\fancyplain{}{}} -\renewcommand{\footrulewidth}{0.4pt} -\renewcommand{\chaptermark}[1]{% - \markboth{#1}{}% -} -\renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}% -} - -% Indices & bibliography -\usepackage{natbib} -\usepackage[titles]{tocloft} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{5} -\makeindex - -% Hyperlinks (required, but should be loaded last) -\usepackage{ifpdf} -\ifpdf - \usepackage[pdftex,pagebackref=true]{hyperref} -\else - \usepackage[ps2pdf,pagebackref=true]{hyperref} -\fi -\hypersetup{% - colorlinks=true,% - linkcolor=blue,% - citecolor=blue,% - unicode% -} - -% Custom commands -\newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}% -} - - -%===== C O N T E N T S ===== - +\hbadness=750 +\tolerance=750 \begin{document} - -% Titlepage & ToC -\hypersetup{pageanchor=false} -\pagenumbering{roman} +\hypersetup{pageanchor=false,citecolor=blue} \begin{titlepage} \vspace*{7cm} -\begin{center}% +\begin{center} {\Large Socket }\\ \vspace*{1cm} -{\large Generado por Doxygen 1.8.4}\\ +{\large Generado por Doxygen 1.8.3.1}\\ \vspace*{0.5cm} -{\small Sábado, 7 de Diciembre de 2013 03:17:07}\\ +{\small Martes, 10 de Diciembre de 2013 04:23:31}\\ \end{center} \end{titlepage} \clearemptydoublepage +\pagenumbering{roman} \tableofcontents \clearemptydoublepage \pagenumbering{arabic} -\hypersetup{pageanchor=true} - -%--- Begin generated contents --- +\hypersetup{pageanchor=true,citecolor=blue} \chapter{Página principal} \label{index}\hypertarget{index}{}\input{index} \chapter{Client} @@ -147,7 +79,6 @@ \chapter{Indice de archivos} \input{files} \chapter{Documentación de las clases} -\input{class_server} \input{class_socket} \input{class_socket_exception} \input{structthread__args} @@ -155,18 +86,12 @@ \input{client_8cpp} \input{client_8dox} \input{howto_8dox} -\input{server_8h} +\input{client_8h} \input{_socket_8h} \input{_socket_exception_8h} \input{mainpage_8dox} \input{makefile_8dox} \input{_socket_8cpp} -%--- End generated contents --- - -% Index -\newpage -\phantomsection \addcontentsline{toc}{part}{Índice} \printindex - \end{document} diff --git a/JChatClient/doc/latex/refman.toc b/JChatClient/doc/latex/refman.toc index 1733999..8ad365d 100644 --- a/JChatClient/doc/latex/refman.toc +++ b/JChatClient/doc/latex/refman.toc @@ -6,8 +6,7 @@ \contentsline {subsection}{\numberline {3.1.1}Modo en texto llano}{5}{subsection.3.1.1} \contentsline {subsection}{\numberline {3.1.2}Env\IeC {\'\i }o/\discretionary {-}{}{}Recepci\IeC {\'o}n de mensajes}{5}{subsection.3.1.2} \contentsline {section}{\numberline {3.2}Compilaci\IeC {\'o}n}{6}{section.3.2} -\contentsline {subsection}{\numberline {3.2.1}Opciones de compilaci\IeC {\'o}n}{6}{subsection.3.2.1} -\contentsline {subsection}{\numberline {3.2.2}Flags de compilaci\IeC {\'o}n y librer\IeC {\'\i }as}{6}{subsection.3.2.2} +\contentsline {subsection}{\numberline {3.2.1}Flags de compilaci\IeC {\'o}n}{6}{subsection.3.2.1} \contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3} \contentsline {subsection}{\numberline {3.3.1}Programar un cliente}{6}{subsection.3.3.1} \contentsline {chapter}{\numberline {4}\IeC {\'I}ndice de clases}{7}{chapter.4} @@ -15,93 +14,63 @@ \contentsline {chapter}{\numberline {5}Indice de archivos}{9}{chapter.5} \contentsline {section}{\numberline {5.1}Lista de archivos}{9}{section.5.1} \contentsline {chapter}{\numberline {6}Documentaci\IeC {\'o}n de las clases}{11}{chapter.6} -\contentsline {section}{\numberline {6.1}Referencia de la Clase Server}{11}{section.6.1} +\contentsline {section}{\numberline {6.1}Referencia de la Clase Socket}{11}{section.6.1} \contentsline {subsection}{\numberline {6.1.1}Descripci\IeC {\'o}n detallada}{12}{subsection.6.1.1} \contentsline {subsection}{\numberline {6.1.2}Documentaci\IeC {\'o}n del constructor y destructor}{12}{subsection.6.1.2} -\contentsline {subsubsection}{\numberline {6.1.2.1}Server}{12}{subsubsection.6.1.2.1} +\contentsline {subsubsection}{\numberline {6.1.2.1}Socket}{12}{subsubsection.6.1.2.1} \contentsline {subsection}{\numberline {6.1.3}Documentaci\IeC {\'o}n de las funciones miembro}{12}{subsection.6.1.3} -\contentsline {subsubsection}{\numberline {6.1.3.1}free\discretionary {-}{}{}R\discretionary {-}{}{}A\discretionary {-}{}{}M}{12}{subsubsection.6.1.3.1} -\contentsline {subsubsection}{\numberline {6.1.3.2}get\discretionary {-}{}{}N\discretionary {-}{}{}Workers}{12}{subsubsection.6.1.3.2} -\contentsline {subsubsection}{\numberline {6.1.3.3}get\discretionary {-}{}{}Started\discretionary {-}{}{}Threads}{12}{subsubsection.6.1.3.3} -\contentsline {subsubsection}{\numberline {6.1.3.4}get\discretionary {-}{}{}Stopped\discretionary {-}{}{}Threads}{12}{subsubsection.6.1.3.4} -\contentsline {subsubsection}{\numberline {6.1.3.5}request\discretionary {-}{}{}Exit}{12}{subsubsection.6.1.3.5} -\contentsline {subsubsection}{\numberline {6.1.3.6}set\discretionary {-}{}{}N\discretionary {-}{}{}Workers}{13}{subsubsection.6.1.3.6} -\contentsline {subsubsection}{\numberline {6.1.3.7}start\discretionary {-}{}{}Server}{13}{subsubsection.6.1.3.7} -\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{13}{subsection.6.1.4} -\contentsline {subsubsection}{\numberline {6.1.4.1}n\discretionary {-}{}{}Workers}{13}{subsubsection.6.1.4.1} -\contentsline {subsubsection}{\numberline {6.1.4.2}shutdown\discretionary {-}{}{}Server}{13}{subsubsection.6.1.4.2} -\contentsline {subsubsection}{\numberline {6.1.4.3}ss}{13}{subsubsection.6.1.4.3} -\contentsline {subsubsection}{\numberline {6.1.4.4}started\discretionary {-}{}{}Threads}{14}{subsubsection.6.1.4.4} -\contentsline {subsubsection}{\numberline {6.1.4.5}stopped\discretionary {-}{}{}Threads}{14}{subsubsection.6.1.4.5} -\contentsline {subsubsection}{\numberline {6.1.4.6}worker\discretionary {-}{}{}I\discretionary {-}{}{}D}{14}{subsubsection.6.1.4.6} -\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket}{14}{section.6.2} +\contentsline {subsubsection}{\numberline {6.1.3.1}Accept}{12}{subsubsection.6.1.3.1} +\contentsline {subsubsection}{\numberline {6.1.3.2}Bind}{12}{subsubsection.6.1.3.2} +\contentsline {subsubsection}{\numberline {6.1.3.3}Close}{12}{subsubsection.6.1.3.3} +\contentsline {subsubsection}{\numberline {6.1.3.4}Connect}{13}{subsubsection.6.1.3.4} +\contentsline {subsubsection}{\numberline {6.1.3.5}Create}{13}{subsubsection.6.1.3.5} +\contentsline {subsubsection}{\numberline {6.1.3.6}get\discretionary {-}{}{}Sock}{13}{subsubsection.6.1.3.6} +\contentsline {subsubsection}{\numberline {6.1.3.7}Listen}{13}{subsubsection.6.1.3.7} +\contentsline {subsubsection}{\numberline {6.1.3.8}operator$<$$<$}{13}{subsubsection.6.1.3.8} +\contentsline {subsubsection}{\numberline {6.1.3.9}operator$>$$>$}{13}{subsubsection.6.1.3.9} +\contentsline {subsubsection}{\numberline {6.1.3.10}Receive}{14}{subsubsection.6.1.3.10} +\contentsline {subsubsection}{\numberline {6.1.3.11}Send}{14}{subsubsection.6.1.3.11} +\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{14}{subsection.6.1.4} +\contentsline {subsubsection}{\numberline {6.1.4.1}sock}{14}{subsubsection.6.1.4.1} +\contentsline {subsubsection}{\numberline {6.1.4.2}sock\discretionary {-}{}{}Addr}{14}{subsubsection.6.1.4.2} +\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{14}{section.6.2} \contentsline {subsection}{\numberline {6.2.1}Descripci\IeC {\'o}n detallada}{15}{subsection.6.2.1} \contentsline {subsection}{\numberline {6.2.2}Documentaci\IeC {\'o}n del constructor y destructor}{15}{subsection.6.2.2} -\contentsline {subsubsection}{\numberline {6.2.2.1}Socket}{15}{subsubsection.6.2.2.1} +\contentsline {subsubsection}{\numberline {6.2.2.1}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.1} +\contentsline {subsubsection}{\numberline {6.2.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.2} \contentsline {subsection}{\numberline {6.2.3}Documentaci\IeC {\'o}n de las funciones miembro}{15}{subsection.6.2.3} -\contentsline {subsubsection}{\numberline {6.2.3.1}Accept}{15}{subsubsection.6.2.3.1} -\contentsline {subsubsection}{\numberline {6.2.3.2}Bind}{16}{subsubsection.6.2.3.2} -\contentsline {subsubsection}{\numberline {6.2.3.3}Close}{16}{subsubsection.6.2.3.3} -\contentsline {subsubsection}{\numberline {6.2.3.4}Connect}{16}{subsubsection.6.2.3.4} -\contentsline {subsubsection}{\numberline {6.2.3.5}Create}{16}{subsubsection.6.2.3.5} -\contentsline {subsubsection}{\numberline {6.2.3.6}get\discretionary {-}{}{}Sock}{16}{subsubsection.6.2.3.6} -\contentsline {subsubsection}{\numberline {6.2.3.7}Listen}{16}{subsubsection.6.2.3.7} -\contentsline {subsubsection}{\numberline {6.2.3.8}operator$<$$<$}{17}{subsubsection.6.2.3.8} -\contentsline {subsubsection}{\numberline {6.2.3.9}operator$>$$>$}{17}{subsubsection.6.2.3.9} -\contentsline {subsubsection}{\numberline {6.2.3.10}Receive}{17}{subsubsection.6.2.3.10} -\contentsline {subsubsection}{\numberline {6.2.3.11}Send}{17}{subsubsection.6.2.3.11} -\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{18}{subsection.6.2.4} -\contentsline {subsubsection}{\numberline {6.2.4.1}sock}{18}{subsubsection.6.2.4.1} -\contentsline {subsubsection}{\numberline {6.2.4.2}sock\discretionary {-}{}{}Addr}{18}{subsubsection.6.2.4.2} -\contentsline {section}{\numberline {6.3}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{18}{section.6.3} -\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{18}{subsection.6.3.1} -\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n del constructor y destructor}{18}{subsection.6.3.2} -\contentsline {subsubsection}{\numberline {6.3.2.1}Socket\discretionary {-}{}{}Exception}{18}{subsubsection.6.3.2.1} -\contentsline {subsubsection}{\numberline {6.3.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{19}{subsubsection.6.3.2.2} -\contentsline {subsection}{\numberline {6.3.3}Documentaci\IeC {\'o}n de las funciones miembro}{19}{subsection.6.3.3} -\contentsline {subsubsection}{\numberline {6.3.3.1}description}{19}{subsubsection.6.3.3.1} -\contentsline {subsection}{\numberline {6.3.4}Documentaci\IeC {\'o}n de los datos miembro}{19}{subsection.6.3.4} -\contentsline {subsubsection}{\numberline {6.3.4.1}message}{19}{subsubsection.6.3.4.1} -\contentsline {section}{\numberline {6.4}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{19}{section.6.4} -\contentsline {subsection}{\numberline {6.4.1}Descripci\IeC {\'o}n detallada}{19}{subsection.6.4.1} -\contentsline {subsection}{\numberline {6.4.2}Documentaci\IeC {\'o}n de los datos miembro}{20}{subsection.6.4.2} -\contentsline {subsubsection}{\numberline {6.4.2.1}condition}{20}{subsubsection.6.4.2.1} -\contentsline {subsubsection}{\numberline {6.4.2.2}id}{20}{subsubsection.6.4.2.2} -\contentsline {subsubsection}{\numberline {6.4.2.3}mutex}{20}{subsubsection.6.4.2.3} -\contentsline {subsubsection}{\numberline {6.4.2.4}s}{20}{subsubsection.6.4.2.4} -\contentsline {subsubsection}{\numberline {6.4.2.5}serv}{20}{subsubsection.6.4.2.5} -\contentsline {subsubsection}{\numberline {6.4.2.6}thread}{20}{subsubsection.6.4.2.6} -\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{21}{chapter.7} -\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{21}{section.7.1} -\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.1.1} -\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{22}{subsection.7.1.2} -\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{22}{subsubsection.7.1.2.1} -\contentsline {subsubsection}{\numberline {7.1.2.2}exit\discretionary {-}{}{}Client}{22}{subsubsection.7.1.2.2} -\contentsline {subsubsection}{\numberline {7.1.2.3}main}{22}{subsubsection.7.1.2.3} -\contentsline {subsubsection}{\numberline {7.1.2.4}speed\discretionary {-}{}{}Test}{22}{subsubsection.7.1.2.4} -\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{22}{subsection.7.1.3} -\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{22}{subsubsection.7.1.3.1} -\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{22}{subsubsection.7.1.3.2} -\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{22}{section.7.2} -\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{22}{subsection.7.2.1} -\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{22}{section.7.3} -\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{22}{subsection.7.3.1} -\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/server.h}{23}{section.7.4} -\contentsline {subsection}{\numberline {7.4.1}Descripci\IeC {\'o}n detallada}{23}{subsection.7.4.1} -\contentsline {subsection}{\numberline {7.4.2}Documentaci\IeC {\'o}n de los 'defines'}{24}{subsection.7.4.2} -\contentsline {subsubsection}{\numberline {7.4.2.1}C\discretionary {-}{}{}O\discretionary {-}{}{}N\discretionary {-}{}{}F\discretionary {-}{}{}F\discretionary {-}{}{}I\discretionary {-}{}{}L\discretionary {-}{}{}E}{24}{subsubsection.7.4.2.1} -\contentsline {subsubsection}{\numberline {7.4.2.2}N}{24}{subsubsection.7.4.2.2} -\contentsline {subsection}{\numberline {7.4.3}Documentaci\IeC {\'o}n de las funciones}{24}{subsection.7.4.3} -\contentsline {subsubsection}{\numberline {7.4.3.1}kill\discretionary {-}{}{}Thread}{24}{subsubsection.7.4.3.1} -\contentsline {subsubsection}{\numberline {7.4.3.2}process\discretionary {-}{}{}Text}{24}{subsubsection.7.4.3.2} -\contentsline {subsubsection}{\numberline {7.4.3.3}read\discretionary {-}{}{}Conf}{24}{subsubsection.7.4.3.3} -\contentsline {subsubsection}{\numberline {7.4.3.4}Worker\discretionary {-}{}{}Thread}{24}{subsubsection.7.4.3.4} -\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{25}{section.7.5} -\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{25}{subsection.7.5.1} -\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{25}{section.7.6} -\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{26}{subsection.7.6.1} -\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{26}{section.7.7} -\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{26}{section.7.8} -\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{26}{section.7.9} -\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{26}{subsection.7.9.1} -\contentsline {part}{\IeC {\'I}ndice}{27}{section*.17} +\contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1} +\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4} +\contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1} +\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3} +\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1} +\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2} +\contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1} +\contentsline {subsubsection}{\numberline {6.3.2.2}mutex}{16}{subsubsection.6.3.2.2} +\contentsline {subsubsection}{\numberline {6.3.2.3}s}{16}{subsubsection.6.3.2.3} +\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{17}{chapter.7} +\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{17}{section.7.1} +\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{17}{subsection.7.1.1} +\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{18}{subsection.7.1.2} +\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{18}{subsubsection.7.1.2.1} +\contentsline {subsubsection}{\numberline {7.1.2.2}kill\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.2} +\contentsline {subsubsection}{\numberline {7.1.2.3}main}{18}{subsubsection.7.1.2.3} +\contentsline {subsubsection}{\numberline {7.1.2.4}recv\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.4} +\contentsline {subsubsection}{\numberline {7.1.2.5}send\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.5} +\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{18}{subsection.7.1.3} +\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{18}{subsubsection.7.1.3.1} +\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{18}{subsubsection.7.1.3.2} +\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{19}{section.7.2} +\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.2.1} +\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{19}{section.7.3} +\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.3.1} +\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.h}{19}{section.7.4} +\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{19}{section.7.5} +\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.5.1} +\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{20}{section.7.6} +\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.6.1} +\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{21}{section.7.7} +\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8} +\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9} +\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1} +\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1} diff --git a/JChatClient/doc/latex/structthread__args.tex b/JChatClient/doc/latex/structthread__args.tex index d9c7818..1aaf349 100644 --- a/JChatClient/doc/latex/structthread__args.tex +++ b/JChatClient/doc/latex/structthread__args.tex @@ -8,7 +8,7 @@ Argumentos de los threads. -{\ttfamily \#include $<$server.\-h$>$} +{\ttfamily \#include $<$client.\-h$>$} \subsection*{Atributos públicos} \begin{DoxyCompactItemize} @@ -17,14 +17,8 @@ pthread\-\_\-mutex\-\_\-t $\ast$ \hyperlink{structthread__args_ad5d64499f5f6e2df \begin{DoxyCompactList}\small\item\em Variable de control de la exclusión mútua entre threads. \end{DoxyCompactList}\item pthread\-\_\-cond\-\_\-t $\ast$ \hyperlink{structthread__args_a96ee28beaed4175257db3d8794245f25}{condition} \begin{DoxyCompactList}\small\item\em Variable de notificación a otros threads. \end{DoxyCompactList}\item -pthread\-\_\-t $\ast$ \hyperlink{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{thread} -\begin{DoxyCompactList}\small\item\em Puntero al thread. \end{DoxyCompactList}\item \hyperlink{class_socket}{Socket} $\ast$ \hyperlink{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{s} -\begin{DoxyCompactList}\small\item\em Puntero al socket. \end{DoxyCompactList}\item -\hyperlink{class_server}{Server} $\ast$ \hyperlink{structthread__args_ab29508135b033282f374d0fb47028fbd}{serv} -\begin{DoxyCompactList}\small\item\em Puntero al servidor. \end{DoxyCompactList}\item -int \hyperlink{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{id} -\begin{DoxyCompactList}\small\item\em I\-D del thread. \end{DoxyCompactList}\end{DoxyCompactItemize} +\begin{DoxyCompactList}\small\item\em Puntero al socket. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Descripción detallada} @@ -48,14 +42,7 @@ Variable de notificación a otros threads. Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones. -Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.$\ast$ \hypertarget{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{\index{thread\-\_\-args@{thread\-\_\-args}!id@{id}} -\index{id@{id}!thread_args@{thread\-\_\-args}} -\subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}int thread\-\_\-args\-::id}}\label{structthread__args_a6322b3468fd88f8f49977a6439e9f352} - - -I\-D del thread. - -Identifica al thread con un I\-D único \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}} +{\itshape Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.} \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}} \index{mutex@{mutex}!thread_args@{thread\-\_\-args}} \subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520} @@ -69,22 +56,8 @@ Esta variable se usa para bloquear otros threads en operaciones de exclusion mú Puntero al socket. -Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread puede recibir y enviar los datos. \hypertarget{structthread__args_ab29508135b033282f374d0fb47028fbd}{\index{thread\-\_\-args@{thread\-\_\-args}!serv@{serv}} -\index{serv@{serv}!thread_args@{thread\-\_\-args}} -\subsubsection[{serv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Server}$\ast$ thread\-\_\-args\-::serv}}\label{structthread__args_ab29508135b033282f374d0fb47028fbd} - - -Puntero al servidor. - -Esta variable representa el puntero al servidor de la aplicación. Con este puntero, los threads se mueven a la pila de threads terminados una vez terminan la ejecución para que el thread principal (el propio servidor), vaya liberando la memoria asignada. \hypertarget{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{\index{thread\-\_\-args@{thread\-\_\-args}!thread@{thread}} -\index{thread@{thread}!thread_args@{thread\-\_\-args}} -\subsubsection[{thread}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-t$\ast$ thread\-\_\-args\-::thread}}\label{structthread__args_acdcd2db4307e5e75d5110067e196a70e} - - -Puntero al thread. - -Esta variable representa el puntero del propio thread. Al finalizar, este enviará su puntero a la lista de threads terminados, donde la memoria asignada al thread se destruirá. +Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread puede recibir y enviar los datos. La documentación para esta estructura fue generada a partir del siguiente fichero\-:\begin{DoxyCompactItemize} \item -/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{server_8h}{server.\-h}\end{DoxyCompactItemize} +/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{client_8h}{client.\-h}\end{DoxyCompactItemize} diff --git a/JChatClient/src/client.cpp b/JChatClient/src/client.cpp index aac1016..509e0a5 100644 --- a/JChatClient/src/client.cpp +++ b/JChatClient/src/client.cpp @@ -4,25 +4,19 @@ * \date 13/06/2013 * * En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket. +* REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT */ #include "client.h" using namespace std; -bool connected, finished; - -//! Método para terminar el cliente -/*! Este método se usa para terminar el cliente immediatamente en el caso que el servidor cierre la conexión de forma inesperada, capturando -el signal SIGPIPE. */ -void exitClient(int signal/*!> port;*/ + cin >> port; + cin.ignore(); cout << "Nickname: "; getline(cin,nick); host = "localhost"; @@ -88,6 +85,8 @@ bool connect(Socket& s) return true; } +//! Thread de envío de mensajes +/*! Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. */ void* sendThread(void* args) { string send; @@ -116,6 +115,8 @@ void* sendThread(void* args) killThread(t_arg); } +//! Thread de recepción de mensajes +/*! Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias .*/ void* recvThread(void* args) { string recv; @@ -130,7 +131,8 @@ void* recvThread(void* args) { connected = false; cout << e.description() << endl; - (t_arg->s)->Close(); + cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl; + pthread_cond_signal(t_arg->condition); break; } if(recv == "DISC_OK") @@ -160,15 +162,13 @@ void* recvThread(void* args) /*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/ int main() { - signal(SIGPIPE, exitClient); + //signal(SIGPIPE, exitClient); UNUSED Socket s; connected = finished = false; pthread_mutex_t mutex; pthread_mutex_init(&mutex,0); pthread_cond_t condition; pthread_cond_init(&condition,0); - thread_args *sArgs = new thread_args; - thread_args *rArgs = new thread_args; pthread_t recv, send; pthread_attr_t attr; pthread_attr_init(&attr); @@ -186,6 +186,8 @@ int main() cout << "Couldn't connect to chatroom, retrying..." << endl; } pthread_mutex_lock(&mutex); + thread_args *sArgs = new thread_args; + thread_args *rArgs = new thread_args; sArgs->mutex = &mutex; sArgs->condition = &condition; sArgs->s = &s; @@ -209,8 +211,3 @@ int main() pthread_cond_destroy(&condition); pthread_mutex_destroy(&mutex); } - -/* TODO - * - * CTRL+C - */ \ No newline at end of file diff --git a/JChatClient/src/howto.dox b/JChatClient/src/howto.dox index 6f55d0e..052257f 100644 --- a/JChatClient/src/howto.dox +++ b/JChatClient/src/howto.dox @@ -4,9 +4,10 @@ \page howto HOWTO \brief Descripción de funcionamiento y uso de la librería. +A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso. +

    + \tableofcontents - A continuación se desglosan las instrucciones para el desarrollo con esta libería y su posterior uso. -

    \section proto Descripción del protocolo En las comunicaciones con Sockets hay un problema, es fácil saber la longitud del mensaje que vas a enviar, pero cuesta saber la longitud del mensaje que deseas recibir, ya que la transmisión se puede detener por llegar al fin del mensaje o bien por que hay problemas en la red. @@ -23,8 +24,8 @@ \subsection send Envío/Recepción de mensajes El mensaje se transmite de la siguiente forma: - -# Bob le quiere mandar a Alice un mensaje, primero primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter NULL ('\0') y lo manda. - -# Bob transmite el mensaje íntegro. + -# Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter NULL ('\0'). + -# Bob añade el mensaje íntegro y lo manda todo junto. -# Alice lee uno a uno los carácteres del socket hasta encontrar un carácter NULL ('\0'), entonces lee lo que ha recibido, que es la longitud del mensaje real. -# Alice pasa a extraer los N bytes que ha leído que recibiría y obtiene el mensaje final.
    @@ -33,21 +34,10 @@ \section compile Compilación A continuación se detallan las opciones e instrucciones necesarias para compilar esta librería.
    - \subsection defines Opciones de compilación - Los siguientes #defines establecen la configuración en tiempo de compilación - - \ref RSALENGTH : La longitud de la llave RSA que se usará. - - \ref AESLENGTH : La longitud de la llave AES que se usará. - - \ref CONFFILE : La ruta absoluta o relativa al fichero de configuración del servidor (véase: \ref conf). - - \ref PUBLICKEY : La ruta absoluta o relativa a la llave pública RSA. Existe en server.h y client.cpp - - \ref PRIVATEKEY : La ruta absoluta o relativa a la llave pública RSA. Existe en server.h y client.cpp -
    - \subsection flags Flags de compilación y librerías + \subsection flags Flags de compilación Flags de compilación necesarios: - - -I/carpeta/con/cabeceras_de/crypto++ -I/carpeta/con/cabeceras/de_la/librería/Socket - - -L/carpeta/con/la_librería/crypto++ - - -lcryptopp -lpthread + - -lpthread - Véase: \ref makefile


    -- libgit2 0.22.2