diff --git a/JChatClient/bin/client b/JChatClient/bin/client index b22e356..1d75fb1 100755 --- a/JChatClient/bin/client +++ b/JChatClient/bin/client diff --git a/JChatClient/doc/html/_socket_8cpp.html b/JChatClient/doc/html/_socket_8cpp.html index 67347fc..ca97c7d 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 @@ - + @@ -90,20 +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"

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 a64f8b8..d23ef98 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 @@
- + @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
-

Header de la clase Socket. +

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

#include <iostream>
#include <sstream>
@@ -116,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 93a8f1d..077c7ef 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 @@
- + @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
10 
11 #include <iostream>
12 #include <sstream>
-
13 #include "SocketException.h"
+
13 #include "SocketException.h"
14 #include <sys/socket.h>
15 #include <sys/types.h>
16 #include <netinet/in.h>
@@ -109,11 +109,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
24 using namespace std;
25 
27 
-
31 class Socket
+
31 class Socket
32 {
33  private:
35 
-
36  int sock;
+
36  int sock;
38 
39  struct sockaddr_in sockAddr;
41 
@@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
52 
53  public:
55 
-
56  Socket();
+
56  Socket();
58 
59  void Create();
61 
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
65 
66  void Listen(int backlog);
68 
-
70  void Accept(Socket &clientSock);
+
70  void Accept(Socket &clientSock);
72 
74  void Connect(string hostname, int port);
76 
@@ -139,17 +139,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
79 
80  int getSock();
82 
-
84  const Socket& operator << ( const string& );
+
84  const Socket& operator << ( const string& );
86 
-
88  const Socket& operator >> ( string& );
+
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 061f17c..8cea032 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 @@ - + @@ -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 1648367..0d8d148 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 @@ - + @@ -98,24 +98,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
14 using namespace std;
15 
17 
-
20 class SocketException
+
20 class SocketException
21 {
22  public:
24 
-
25  SocketException ( string m ) : message ( m ) {};
+
25  SocketException ( string m ) : message ( m ) {};
26  ~SocketException (){};
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 6daabcf..6eb8a95 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 @@ - + @@ -88,17 +88,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
Lista de las clases, estructuras, uniones e interfaces con una breve descripción:
- - - + + +
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 7fbecc6..0334d40 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 @@ - + @@ -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 702bb9b..b443f9e 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 @@ - + @@ -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,17 +179,18 @@ 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
@@ -221,7 +222,8 @@ 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
@@ -239,7 +241,7 @@ Atributos privados - +
addressDirección IP asignada
void Socket::Close ())
@@ -275,7 +277,8 @@ 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
@@ -293,7 +296,7 @@ Atributos privados - +
hostnameHostname al que conectarse
void Socket::Create ())
@@ -311,7 +314,7 @@ Atributos privados int Socket::getSock ( - ) + ) @@ -330,7 +333,7 @@ Atributos privados void Socket::Listen ( int  - backlog) + backlog) @@ -355,14 +358,15 @@ 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
@@ -380,14 +384,15 @@ 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 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 \ref defines "opciones de compilación" usando
+

el protocolo implementado.

Parámetros
@@ -541,9 +546,9 @@ Atributos privados diff --git a/JChatClient/doc/html/class_socket_exception-members.html b/JChatClient/doc/html/class_socket_exception-members.html index 6e3e3e4..2da48d8 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
- + @@ -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 d946c7e..4115ba4 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 @@ - + @@ -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 2c7c751..81d8307 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 @@ - + @@ -100,9 +100,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/client_8cpp.html b/JChatClient/doc/html/client_8cpp.html index bc4b395..d726e42 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 @@ - + @@ -128,7 +128,7 @@ Variables

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. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT

+

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

@@ -138,7 +138,7 @@ Variables bool connect ( Socket &  - s) + s) @@ -157,7 +157,7 @@ Variables void killThread ( thread_args *  - t_arg) + t_arg) @@ -175,14 +175,14 @@ 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.

@@ -194,7 +194,7 @@ Variables void* recvThread ( void *  - args) + args) @@ -213,7 +213,7 @@ Variables void* sendThread ( void *  - args) + args) @@ -256,9 +256,9 @@ Variables diff --git a/JChatClient/doc/html/client_8dox.html b/JChatClient/doc/html/client_8dox.html index f63d1a9..e3e29ef 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 @@ - + @@ -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 index bc3f6b0..8f6314b 100644 --- a/JChatClient/doc/html/client_8h.html +++ b/JChatClient/doc/html/client_8h.html @@ -3,7 +3,7 @@ - + Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h @@ -31,7 +31,7 @@ - + @@ -110,9 +110,9 @@ Clases diff --git a/JChatClient/doc/html/client_8h_source.html b/JChatClient/doc/html/client_8h_source.html index 4083f2b..f988e95 100644 --- a/JChatClient/doc/html/client_8h_source.html +++ b/JChatClient/doc/html/client_8h_source.html @@ -3,7 +3,7 @@ - + Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h @@ -31,7 +31,7 @@ - + @@ -92,23 +92,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); Ir a la documentación de este archivo.
1 #ifndef CLIENT_H_
2 #define CLIENT_H_
3 
-
4 #include "Socket.h"
+
4 #include "Socket.h"
5 #include <iostream>
-
6 #include "SocketException.h"
+
6 #include "SocketException.h"
7 #include <sstream>
8 #include <signal.h>
9 #include <cstdlib>
10 #include <sys/time.h>
11 
13 
-
17 struct thread_args
+
17 struct thread_args
18 {
20 
-
21  pthread_mutex_t *mutex;
+
21  pthread_mutex_t *mutex;
23 
-
27  pthread_cond_t *condition;
+
27  pthread_cond_t *condition;
29 
-
31  Socket *s;
+
31  Socket *s;
32 };
33 
34 
@@ -117,9 +117,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
diff --git a/JChatClient/doc/html/client_code.html b/JChatClient/doc/html/client_code.html index 08c91e1..caa0312 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 @@ - + @@ -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>
@@ -96,21 +96,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
exit(-1);
}
-
int main()
+
int main()
{
signal(SIGPIPE, exitClient);
signal(SIGINT, exitClient);
-
Socket s;
+
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 46bf1ef..8b7eae0 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 @@
- + @@ -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 d3ef8f4..637332b 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html b/JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html index 5b57b93..b05222d 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html b/JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html index 86c6b4b..3cd39d7 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html b/JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html index a662bdc..f2f4acc 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html b/JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html index b5e3eb2..3a9c86e 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html b/JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html index 46e1d51..8ee1aae 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 @@ - + @@ -89,7 +89,7 @@ Archivos 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.
@@ -98,9 +98,9 @@ Archivos diff --git a/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html b/JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html index efd0c90..ec7c488 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 @@ - + @@ -92,9 +92,9 @@ Directorios diff --git a/JChatClient/doc/html/doxygen.css b/JChatClient/doc/html/doxygen.css index dabaff2..3ac2851 100644 --- a/JChatClient/doc/html/doxygen.css +++ b/JChatClient/doc/html/doxygen.css @@ -1,7 +1,7 @@ -/* The standard CSS for doxygen 1.8.3.1 */ +/* The standard CSS for doxygen 1.8.4 */ body, table, div, p, dl { - font: 400 14px/19px Roboto,sans-serif; + font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ @@ -11,6 +11,7 @@ h1.groupheader { } .title { + font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; @@ -168,8 +169,8 @@ pre.fragment { } div.fragment { - padding: 4px; - margin: 4px; + padding: 0px; + margin: 0px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } @@ -687,6 +688,7 @@ div.directory { .directory td.entry { white-space: nowrap; padding-right: 6px; + padding-top: 3px; } .directory td.entry a { @@ -787,7 +789,7 @@ table.fieldtable { } .fieldtable td.fieldname { - padding-top: 5px; + padding-top: 3px; } .fieldtable td.fielddoc { @@ -796,7 +798,7 @@ table.fieldtable { } .fieldtable td.fielddoc p:first-child { - margin-top: 2px; + margin-top: 0px; } .fieldtable td.fielddoc p:last-child { diff --git a/JChatClient/doc/html/files.html b/JChatClient/doc/html/files.html index 5c21a56..86b09bb 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 @@ - + @@ -96,18 +96,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar');       \-src        o-include        |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 +       |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 059f6a9..320bff4 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 @@ - + @@ -157,9 +157,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/functions_func.html b/JChatClient/doc/html/functions_func.html index 2c63757..46a1b8c 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 @@ - + @@ -139,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 445fa37..83f7d2f 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 @@ - + @@ -112,9 +112,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/globals.html b/JChatClient/doc/html/globals.html index 9cc58ae..5004614 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 @@ - + @@ -114,9 +114,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/globals_func.html b/JChatClient/doc/html/globals_func.html index 1a37b4e..de0c700 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 @@ - + @@ -108,9 +108,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/globals_vars.html b/JChatClient/doc/html/globals_vars.html index f887544..2a7910c 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 @@ - + @@ -99,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 74d32f1..6586d5e 100644 --- a/JChatClient/doc/html/howto.html +++ b/JChatClient/doc/html/howto.html @@ -3,7 +3,7 @@ - + Socket: HOWTO @@ -31,7 +31,7 @@ - + @@ -146,9 +146,9 @@ Programar un cliente diff --git a/JChatClient/doc/html/howto_8dox.html b/JChatClient/doc/html/howto_8dox.html index 274ac55..23240dd 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 @@ - + @@ -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 7c9c8d3..df43ad6 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 @@ - + @@ -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 63939e7..c197801 100644 --- a/JChatClient/doc/html/jquery.js +++ b/JChatClient/doc/html/jquery.js @@ -1,8 +1,31 @@ -/*! 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); +/*! + * 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); diff --git a/JChatClient/doc/html/mainpage_8dox.html b/JChatClient/doc/html/mainpage_8dox.html index e0ec01d..1328dfd 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 @@
- + @@ -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 eb4cced..f75c8b0 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 @@ - + @@ -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 8b0814c..1c0d4b0 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 @@ - + @@ -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 a89287e..f0d7d69 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 ba79ca5..2dbad36 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 f86180f..6bdafeb 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_64.html b/JChatClient/doc/html/search/all_64.html index 2fecc27..10af933 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 83b3930..28fc78f 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_67.html b/JChatClient/doc/html/search/all_67.html index 9f2e88b..b26b1c6 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_68.html b/JChatClient/doc/html/search/all_68.html index 4e070aa..2f2fdb2 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 f5a875a..4fcecd5 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_6c.html b/JChatClient/doc/html/search/all_6c.html index c4afb9a..e6a44cc 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 8087110..727fefc 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 d790b62..c157ff4 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 76420c3..01863c3 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_72.html b/JChatClient/doc/html/search/all_72.html index 3157ef9..5140de9 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_73.html b/JChatClient/doc/html/search/all_73.html index 922305a..5e44988 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_74.html b/JChatClient/doc/html/search/all_74.html index 924c35a..1010f9a 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_7e.html b/JChatClient/doc/html/search/all_7e.html index b499059..86c9855 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 bea334e..f837a2b 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_74.html b/JChatClient/doc/html/search/classes_74.html index 96e7f73..f831645 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 40e5ead..58ee113 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_68.html b/JChatClient/doc/html/search/files_68.html index 3fc9719..851b09b 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 d0a6c12..ecb629e 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 de69534..5231fbe 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/functions_61.html b/JChatClient/doc/html/search/functions_61.html index 2b43fac..ddda24f 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 8429cb8..56f7b60 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 6c18d84..a03c5ed 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 ba595bc..66695e8 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 d3a6198..7a4f735 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_6b.html b/JChatClient/doc/html/search/functions_6b.html index 04900a1..87d1381 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_6c.html b/JChatClient/doc/html/search/functions_6c.html index 02109a0..c61fe64 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 fb5348b..2e25df2 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 5a463ad..6af25dc 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 bb678ae..a2008f2 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_73.html b/JChatClient/doc/html/search/functions_73.html index b8ef62c..fa9be7e 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_7e.html b/JChatClient/doc/html/search/functions_7e.html index 8735f30..e3a9a7d 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 c5612f7..a657909 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 49958c2..5f7c246 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 1d1142a..27620eb 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 5b208ed..4d7612f 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:116px; + width:111px; margin-left:20px; padding-left:4px; color: #909090; diff --git a/JChatClient/doc/html/search/variables_63.html b/JChatClient/doc/html/search/variables_63.html index 5f9e802..f72f9f6 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 2de9d4d..5a4db86 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 4f3a2e8..3de1b53 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 bd33d86..a6e61de 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/structthread__args-members.html b/JChatClient/doc/html/structthread__args-members.html index cd74ae0..23ccaf1 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 @@ - + @@ -95,9 +95,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); diff --git a/JChatClient/doc/html/structthread__args.html b/JChatClient/doc/html/structthread__args.html index 30f3b36..6c664d7 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 @@ - + @@ -125,7 +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.

+

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.*

@@ -165,9 +165,9 @@ Atributos públicos diff --git a/JChatClient/doc/latex/Makefile b/JChatClient/doc/latex/Makefile index 083d8b1..3cc085f 100644 --- a/JChatClient/doc/latex/Makefile +++ b/JChatClient/doc/latex/Makefile @@ -13,6 +13,8 @@ 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/class_socket.tex b/JChatClient/doc/latex/class_socket.tex index b35fff9..be093fe 100644 --- a/JChatClient/doc/latex/class_socket.tex +++ b/JChatClient/doc/latex/class_socket.tex @@ -80,7 +80,9 @@ Inicializa el file descriptor del socket y prepara la memoria donde se almacenar 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 \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento. +\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. \begin{DoxyParams}{Parámetros} {\em client\-Sock} & Instáncia de \hyperlink{class_socket}{Socket} que comunica con el cliente entrante \\ \hline @@ -97,7 +99,9 @@ Este método bloquea el thread que lo ejecuta hasta que recibe una conexión ent Método para hacer bind a una dirección y puerto. -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{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. \begin{DoxyParams}{Parámetros} {\em address} & Dirección I\-P asignada \\ \hline @@ -127,7 +131,9 @@ Este método cierra el socket para que no se pueda escribir ni leer más en él, 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. +\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. \begin{DoxyParams}{Parámetros} {\em hostname} & Hostname al que conectarse \\ \hline @@ -183,7 +189,9 @@ Este método configura el socket para que se ponga en modo escucha y así pueda Método para enviar mensajes. -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{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 opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado. \begin{DoxyParams}{Parámetros} {\em text} & Mensaje a enviar \\ \hline @@ -199,7 +207,9 @@ Este método envía el mensaje que se le proporciona a través del \hyperlink{cl Método para recibir mensajes. -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{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. \begin{DoxyParams}{Parámetros} {\em text} & Mensaje a recibir \\ \hline diff --git a/JChatClient/doc/latex/doxygen.sty b/JChatClient/doc/latex/doxygen.sty index e67c505..199abf8 100644 --- a/JChatClient/doc/latex/doxygen.sty +++ b/JChatClient/doc/latex/doxygen.sty @@ -5,78 +5,43 @@ \RequirePackage{alltt} \RequirePackage{array} \RequirePackage{calc} -\RequirePackage{color} -\RequirePackage{fancyhdr} -\RequirePackage{longtable} -\RequirePackage{verbatim} +\RequirePackage{float} \RequirePackage{ifthen} -\RequirePackage{xtab} -\RequirePackage{multirow} +\RequirePackage{verbatim} \RequirePackage[table]{xcolor} +\RequirePackage{xtab} -% 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 + \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}% + }% + }% } -% 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}{40pt}% - \setlength{\leftmargin}{\labelwidth}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% \setlength{\parsep}{0pt}% - \setlength{\itemsep}{-4pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% \renewcommand{\makelabel}{\entrylabel}% }% \item[#1]% @@ -84,6 +49,21 @@ \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
 ... 
@@ -97,11 +77,12 @@ % Used by @code ... @endcode \newenvironment{DoxyCode}{% - - -\begin{scriptsize}\begin{alltt}% + \par% + \scriptsize% + \begin{alltt}% }{% -\end{alltt}\end{scriptsize}% + \end{alltt}% + \normalsize% } % Used by @example, @include, @includelineno and @dontinclude @@ -148,13 +129,13 @@ \enddescription% } -% Used by @image, @dotfile, and @dot ... @enddot +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc % (only if caption is specified) \newenvironment{DoxyImage}{% \begin{figure}[H]% - \begin{center}% + \begin{center}% }{% - \end{center}% + \end{center}% \end{figure}% } @@ -227,7 +208,7 @@ \end{DoxyDesc}% } -% Used by @return +% Used by @return and @returns \newenvironment{DoxyReturn}[1]{% \begin{DoxyDesc}{#1}% }{% @@ -270,8 +251,7 @@ % Used by @par and @paragraph \newenvironment{DoxyParagraph}[1]{% - \begin{list}{}% - {% + \begin{list}{}{% \settowidth{\labelwidth}{40pt}% \setlength{\leftmargin}{\labelwidth}% \setlength{\parsep}{0pt}% @@ -285,192 +265,192 @@ % Used by parameter lists \newenvironment{DoxyParams}[2][]{% - \begin{DoxyDesc}{#2}% - \item[] \hspace{\fill} \vspace{-40pt}% - \settowidth{\labelwidth}{40pt}% - \setlength{\LTleft}{0pt}% - \setlength{\tabcolsep}{0.01\textwidth}% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablefirsthead{}% + \tablehead{}% \ifthenelse{\equal{#1}{}}% - {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.815\textwidth}|}}% + {\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}|}}% {\ifthenelse{\equal{#1}{1}}% - {\begin{longtable}{|>{\centering}p{0.10\textwidth}|% + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.685\textwidth}|}}% - {\begin{longtable}{|>{\centering}p{0.10\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}|% >{\centering\hspace{0pt}}p{0.15\textwidth}|% >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% - p{0.515\textwidth}|}}% + p{0.501\textwidth}|}}% }\hline% }{% - \end{longtable}% - \end{DoxyDesc}% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% } % Used for fields of simple structs \newenvironment{DoxyFields}[1]{% - \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}|% + \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}|% p{0.15\textwidth}|% - p{0.635\textwidth}|}% + p{0.63\textwidth}|}% \hline% }{% - \end{longtable}% - \end{DoxyDesc}% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% } -% is used for parameters within a detailed function description +% Used for parameters within a detailed function description \newenvironment{DoxyParamCaption}{% \renewcommand{\item}[2][]{##1 {\em ##2}}% - }{% +}{% } % Used by return value lists \newenvironment{DoxyRetVals}[1]{% - \begin{DoxyDesc}{#1}% - \begin{description}% - \item[] \hspace{\fill} \vspace{-25pt}% - \setlength{\tabcolsep}{0.01\textwidth}% - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + \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}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{longtable}% - \end{description}% - \end{DoxyDesc}% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% } % Used by exception lists \newenvironment{DoxyExceptions}[1]{% - \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}|% + \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}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{longtable}% - \end{description}% - \end{DoxyDesc}% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% } % Used by template parameter lists \newenvironment{DoxyTemplParams}[1]{% - \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}|% + \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}|% p{0.705\textwidth}|}% - \hline% + \hline% }{% - \end{longtable}% - \end{description}% - \end{DoxyDesc}% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% } -\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 member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% } -{\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}}}% - }}% + +% 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}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) \newenvironment{DoxyRefList}{% \begin{list}{}{% \setlength{\labelwidth}{10pt}% \setlength{\leftmargin}{\labelwidth}% \addtolength{\leftmargin}{\labelsep}% \renewcommand{\makelabel}{\xreflabel}% - }% }% -{\end{list}} -\newenvironment{DoxyRefDesc}[1] +}{% + \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} {\begin{list}{}{% - \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} + \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 \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/howto.tex b/JChatClient/doc/latex/howto.tex index 5ea3bcd..ae8b2ca 100644 --- a/JChatClient/doc/latex/howto.tex +++ b/JChatClient/doc/latex/howto.tex @@ -16,8 +16,6 @@ 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 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. diff --git a/JChatClient/doc/latex/refman.aux b/JChatClient/doc/latex/refman.aux index 3fdc9f7..7985f45 100644 --- a/JChatClient/doc/latex/refman.aux +++ b/JChatClient/doc/latex/refman.aux @@ -1,4 +1,9 @@ \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 @@ -14,10 +19,7 @@ \global\let\hyper@last\relax \gdef\HyperFirstAtBeginDocument#1{#1} \providecommand\HyField@AuxAddToFields[1]{} -\catcode`"\active -\catcode`<\active -\catcode`>\active -\@nameuse{es@quoting} +\providecommand\HyField@AuxAddToCoFields[2]{} \select@language{spanish} \@writefile{toc}{\select@language{spanish}} \@writefile{lof}{\select@language{spanish}} @@ -25,29 +27,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\relax }{chapter.1}{}} +\newlabel{index}{{1}{1}{Página principal}{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\relax }{chapter.2}{}} +\newlabel{client_code}{{2}{3}{Client}{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\relax }{chapter.3}{}} +\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O}{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\relax }{section.3.1}{}} +\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo}{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\relax }{subsection.3.1.1}{}} +\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano}{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\relax }{subsection.3.1.2}{}} +\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes}{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\relax }{section.3.2}{}} +\newlabel{howto_compile}{{3.2}{6}{Compilación}{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}{}} +\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación}{subsection.3.2.1}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3}} -\newlabel{howto_examples}{{3.3}{6}{Ejemplos\relax }{section.3.3}{}} +\newlabel{howto_examples}{{3.3}{6}{Ejemplos}{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\relax }{subsection.3.3.1}{}} +\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente}{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@ }} @@ -60,131 +62,113 @@ \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@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}} +\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket}{section.6.1}{}} +\gdef \PWST@i{1} +\gdef \PWST@ii{1} \@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}Socket}{12}{subsubsection.6.1.2.1}} -\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket\relax }{subsubsection.6.1.2.1}{}} +\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket}{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}Accept}{12}{subsubsection.6.1.3.1}} -\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept\relax }{subsubsection.6.1.3.1}{}} +\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept}{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}{}} +\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind}{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}} +\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close}{subsubsection.6.1.3.3}{}} +\gdef \PWST@iii{1} +\gdef \PWST@iv{1} +\gdef \PWST@v{1} \@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}{}} +\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect}{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}{}} +\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create}{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}{}} +\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock}{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}{}} +\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen}{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}{}} +\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$}{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}} +\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$}{subsubsection.6.1.3.9}{}} +\gdef \PWST@vi{1} +\gdef \PWST@vii{1} +\gdef \PWST@viii{1} \@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}{}} +\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive}{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}{}} +\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send}{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}{}} +\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock}{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}{}} +\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr}{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}} +\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception}{section.6.2}{}} +\gdef \PWST@ix{1} \@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\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}{}} +\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception}{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}{}} +\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception}{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}description}{15}{subsubsection.6.2.3.1}} -\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description\relax }{subsubsection.6.2.3.1}{}} +\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description}{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}{}} +\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message}{subsubsection.6.2.4.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{section.6.3}} +\newlabel{structthread__args}{{6.3}{16}{Referencia de la Estructura thread\-\_\-args}{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}{}} +\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition}{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}{}} +\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex}{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}{}} +\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s}{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}{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}{}} +\newlabel{client_8cpp}{{7.1}{17}{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}{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}{}} +\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect}{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}{}} +\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread}{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}{}} +\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main}{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}{}} +\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread}{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}{}} +\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread}{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}{}} +\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected}{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}{}} +\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{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}{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}{}} +\newlabel{client_8dox}{{7.2}{19}{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}{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}{}} +\newlabel{howto_8dox}{{7.3}{19}{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}{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}{}} +\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h}{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}{}} +\newlabel{_socket_8h}{{7.5}{19}{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}{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}{}} +\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}{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}{}} +\newlabel{mainpage_8dox}{{7.7}{21}{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}{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}{}} +\newlabel{makefile_8dox}{{7.8}{21}{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}{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}{}} +\newlabel{_socket_8cpp}{{7.9}{21}{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}{21}{subsection.7.9.1}} -\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1}} +\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13}} diff --git a/JChatClient/doc/latex/refman.idx b/JChatClient/doc/latex/refman.idx index 10f648c..0da5941 100644 --- a/JChatClient/doc/latex/refman.idx +++ b/JChatClient/doc/latex/refman.idx @@ -19,8 +19,8 @@ \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}!Receive@{Receive}|hyperpage}{14} +\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{14} \indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{14} \indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{14} \indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{14} @@ -36,7 +36,7 @@ \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}|hyperpage}{16} \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} diff --git a/JChatClient/doc/latex/refman.ilg b/JChatClient/doc/latex/refman.ilg index 5083e79..3ab2229 100644 --- a/JChatClient/doc/latex/refman.ilg +++ b/JChatClient/doc/latex/refman.ilg @@ -1,4 +1,4 @@ -This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support). +This is makeindex, version 2.15 [TeX Live 2013] (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). diff --git a/JChatClient/doc/latex/refman.ind b/JChatClient/doc/latex/refman.ind index 22d9167..c4b43fe 100644 --- a/JChatClient/doc/latex/refman.ind +++ b/JChatClient/doc/latex/refman.ind @@ -100,7 +100,7 @@ \indexspace \item {Receive} - \subitem {Socket}, \hyperpage{13} + \subitem {Socket}, \hyperpage{14} \item {recv\discretionary {-}{}{}Thread} \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} @@ -127,7 +127,7 @@ \subitem {Listen}, \hyperpage{13} \subitem {operator$<$$<$}, \hyperpage{13} \subitem {operator$>$$>$}, \hyperpage{13} - \subitem {Receive}, \hyperpage{13} + \subitem {Receive}, \hyperpage{14} \subitem {Send}, \hyperpage{14} \subitem {sock}, \hyperpage{14} \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{14} @@ -143,7 +143,7 @@ \indexspace \item {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, - \hyperpage{15} + \hyperpage{16} \subitem {condition}, \hyperpage{16} \subitem {mutex}, \hyperpage{16} \subitem {s}, \hyperpage{16} diff --git a/JChatClient/doc/latex/refman.log b/JChatClient/doc/latex/refman.log index 3af0cd0..b309c7f 100644 --- a/JChatClient/doc/latex/refman.log +++ b/JChatClient/doc/latex/refman.log @@ -1,12 +1,11 @@ -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 +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.12.7) 12 DEC 2013 17:44 entering extended mode restricted \write18 enabled. %&-line parsing enabled. **refman (./refman.tex LaTeX2e <2011/06/27> -Babel and hyphenation patterns for english, dumylang, nohyphenation, lo -aded. +Babel <3.9f> and hyphenation patterns for 5 languages loaded. (/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 @@ -25,60 +24,56 @@ File: bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) \belowcaptionskip=\skip42 \bibindent=\dimen102 ) -(/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/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/graphics/keyval.sty -Package: keyval 1999/03/16 v1.13 key=value parser (DPC) -\KV@toks@=\toks14 -) -(/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/latex/base/alltt.sty +Package: alltt 1997/06/16 v2.0g defines alltt environment ) -(/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/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 ) -\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/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/latex/base/makeidx.sty -Package: makeidx 2000/03/29 v1.0m Standard LaTeX package +(/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/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/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 ) -(/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/graphics/graphics.sty -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) +(/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/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive ) -Package graphics Info: Driver file: pdftex.def on input line 91. +Package xcolor Info: Driver file: pdftex.def on input line 225. (/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX @@ -90,126 +85,13 @@ 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) - -(/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 +\everycr=\toks19 +\minrowclearance=\skip48 ) -LaTeX Info: Redefining \color on input line 702. -\rownum=\count111 +\rownum=\count93 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. @@ -220,204 +102,59 @@ 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/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 -) -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. -) -(/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/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 -) -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: 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) -) -\@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) +(/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 ) -\Hy@SavedSpaceFactor=\count114 +(/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/hyperref.cfg -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +(/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 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/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2012/05/13 v6.82q Hyperref: PDF Unicode definition (HO) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) ) -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. +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live ) -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 graphics Info: Driver file: pdftex.def on input line 91. ) - -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 +\Gin@req@height=\dimen122 +\Gin@req@width=\dimen123 ) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty Package: inputenc 2008/03/30 v1.1d Input encoding file @@ -625,6 +362,88 @@ 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 @@ -699,47 +518,97 @@ 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) -) -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) )) +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. +) (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2008/07/08 v3.8m The Babel package +Package: babel 2013/05/16 v3.9f The Babel package -(/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-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/babel.def -File: babel.def 2008/07/08 v3.8m Babel common definitions -\babel@savecnt=\count122 -\U@D=\dimen130 +File: babel.def 2013/05/16 v3.9f Babel common definitions +\babel@savecnt=\count110 +\U@D=\dimen133 ) - -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@datefmt=\count111 \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 +\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: 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' @@ -781,203 +650,302 @@ 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 2009/06/22 v3.00 +Package: amssymb 2013/01/14 v3.01 AMS font symbols (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support +Package: amsfonts 2013/01/14 v3.01 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 96. +(Font) U/euf/m/n --> U/euf/b/n on input line 106. )) -(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty -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/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/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 +(/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=\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 +\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/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/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/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/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 ) -(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty -\bigstrutjot=\dimen149 +\@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) + + +(/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 +) +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/auxhook.sty +Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (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) ) -\tmplength=\skip104 -\xrefbox=\box61 -\xreflength=\skip105 +\@linkdim=\dimen142 +\Hy@linkcounter=\count119 +\Hy@pagecounter=\count120 -(/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/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/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 +(/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/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/lstmisc.sty -File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +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 ) -\@indexfile=\write3 -\openout3 = `refman.idx'. +Package hyperref Message: Driver: hpdftex. -Writing index file refman.idx -(./refman.aux -LaTeX Info: Redefining \. on input line 21. -LaTeX Info: Redefining \% on input line 21. +(/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. ) \openout1 = `refman.aux'. -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 +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 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions ) -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. +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. (/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 49. +(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 *geometry* driver: auto-detecting *geometry* detected driver: pdftex @@ -1013,85 +981,72 @@ LaTeX Font Info: Font shape `T1/phv/m/n' will be * \@reversemarginfalse * (1in=72.27pt=25.4mm, 1cm=28.453pt) -(/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. - +\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/latex/hyperref/nameref.sty -Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section +Package: nameref 2012/10/27 v2.43 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=\count149 +\c@section@level=\count135 ) -LaTeX Info: Redefining \ref on input line 49. -LaTeX Info: Redefining \pageref on input line 49. -LaTeX Info: Redefining \nameref on input line 49. +LaTeX Info: Redefining \ref on input line 113. +LaTeX Info: Redefining \pageref on input line 113. +LaTeX Info: Redefining \nameref on input line 113. (./refman.out) (./refman.out) \@outlinefile=\write4 \openout4 = `refman.out'. -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. +Package hyperref Info: Option `pageanchor' set `false' on input line 116. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 12.9599pt on input line 54. +(Font) scaled to size 12.9599pt on input line 121. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 10.79993pt on input line 56. +(Font) scaled to size 10.79993pt on input line 123. LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 8.09995pt on input line 58. +(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. [1 -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 +{/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 ] LaTeX Font Info: Font shape `T1/phv/m/n' will be -(Font) scaled to size 22.39185pt on input line 63. +(Font) scaled to size 22.39185pt on input line 129. 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 63. +(Font) Font shape `T1/phv/b/n' tried instead on input line 129. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(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 +(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 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 @@ -1100,7 +1055,8 @@ 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. @@ -1132,7 +1088,19 @@ 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. - [1 +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 ] LaTeX Font Info: Font shape `T1/phv/bx/sc' in size <10> not available @@ -1145,7 +1113,19 @@ 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 70. LaTeX Font Info: Font shape `T1/phv/b/n' will be (Font) scaled to size 6.29996pt on input line 70. - [2] +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 70. + [4] 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 76. LaTeX Font Info: Font shape `T1/phv/b/n' will be @@ -1160,177 +1140,1017 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available \tf@toc=\write5 \openout5 = `refman.toc'. -LaTeX Info: Redefining \. on input line 64. -LaTeX Info: Redefining \% on input line 64. - [3] -[4 +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 ] -Package hyperref Info: Option `pageanchor' set `true' on input line 66. +Package hyperref Info: Option `pageanchor' set `true' on input line 132. 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 67. +(Font) scaled to size 18.66588pt on input line 135. 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 67. +(Font) Font shape `T1/phv/b/n' tried instead on input line 135. LaTeX Font Info: Font shape `T1/phv/b/n' will be -(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. +(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. (./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 `OT1/phv/bc/n' will be +LaTeX Font Info: Font shape `T1/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 +[][][] + [] + ) -[1 +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 ] -LaTeX Info: Redefining \. on input line 69. -LaTeX Info: Redefining \% on input line 69. +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. [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. -) [3] -LaTeX Info: Redefining \. on input line 73. -LaTeX Info: Redefining \% on input line 73. +) +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. [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/bx/n' in size <14.4> not available (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 5. -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be +LaTeX Font Info: Font shape `T1/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 +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 5. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 5. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 5. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 5. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 5. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 5. +LaTeX Font Info: Font shape `T1/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. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 15. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 15. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 15. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 15. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 15. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 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. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 27. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 27. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 27. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 27. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 27. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 27. +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 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. + [5] +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 38. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 40. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 40. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 40. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 40. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 40. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 40. +) +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. [6] Cap\'{\i }tulo 4. -(./annotated.tex) [7 +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 ] -LaTeX Info: Redefining \. on input line 79. -LaTeX Info: Redefining \% on input line 79. +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. [8 ] Cap\'{\i }tulo 5. -(./files.tex) [9] -LaTeX Info: Redefining \. on input line 81. -LaTeX Info: Redefining \% on input line 81. +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. [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_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 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 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. [11] -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 +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. +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 78. +LaTeX Font Info: Font shape `T1/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 85. -LaTeX Font Info: Font shape `T1/phv/m/sl' will be -(Font) scaled to size 8.99994pt on input line 85. +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. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 7.19995pt on input line 83. -Underfull \vbox (badness 10000) detected at line 87 +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 [] - -Underfull \vbox (badness 10000) detected at line 106 +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 87. +LaTeX Font Info: Font shape `T1/phv/m/sl' will be +(Font) scaled to size 8.99994pt on input line 87. +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 130. -LaTeX Info: Redefining \% on input line 130. +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. +LaTeX Info: Redefining \. on input line 129. +LaTeX Info: Redefining \% 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. +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. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 129. [12] -Underfull \vbox (badness 10000) detected at line 136 - [] - - -Underfull \vbox (badness 10000) detected at line 174 +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 [] +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. +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 181. +(hyperref) removing `math shift' on input line 187. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 181. +(hyperref) removing `math shift' on input line 187. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 181. +(hyperref) removing `math shift' on input line 187. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 181. +(hyperref) removing `math shift' on input line 187. -Underfull \vbox (badness 10000) detected at line 190 +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 [] +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 197. +(hyperref) removing `math shift' on input line 205. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 197. +(hyperref) removing `math shift' on input line 205. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 197. +(hyperref) removing `math shift' on input line 205. Package hyperref Warning: Token not allowed in a PDF string (Unicode): -(hyperref) removing `math shift' on input line 197. +(hyperref) removing `math shift' on input line 205. -Underfull \vbox (badness 10000) detected at line 206 +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 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. - -LaTeX Info: Redefining \. on input line 219. -LaTeX Info: Redefining \% on input line 219. +LaTeX Info: Redefining \. on input line 213. +LaTeX Info: Redefining \% on input line 213. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 213. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 213. [13] -Underfull \vbox (badness 10000) detected at line 227 - [] - - -Underfull \vbox (badness 10000) detected at line 248 - [] +LaTeX Font Warning: Font shape `T1/pcr/bc/n' undefined +(Font) using `T1/pcr/m/n' instead 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 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. +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 -LaTeX Info: Redefining \. on input line 17. -LaTeX Info: Redefining \% on input line 17. +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 13. +LaTeX Info: Redefining \% on input line 13. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 13. [14] -Underfull \vbox (badness 10000) detected at line 50 - [] +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. +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 hyperref Warning: Token not allowed in a PDF string (Unicode): @@ -1344,68 +2164,747 @@ 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 -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. +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 13. +LaTeX Info: Redefining \% on input line 13. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 13. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 13. + [15] +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 27 +[][][] + [] + + +Underfull \hbox (badness 10000) detected at line 30 +[][][] + [] + +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 38. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 38. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 38. +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 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 Info: Redefining \. on input line 153. +LaTeX Info: Redefining \% on input line 153. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 153. [16] Cap\'{\i }tulo 7. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 153. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 153. (./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--10 [] +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 32. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 32. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 32. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 32. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 32. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 32. + +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 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. [17 -]) (./client_8dox.tex +] +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 48. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 48. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 48. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 48. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 48. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 48. +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. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 70. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 70. +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. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 92. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 99. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 99. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 99. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 99. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 99. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 99. +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 109. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 109. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 109. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 109. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 109. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 109. +) (./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. LaTeX Info: Redefining \. on input line 7. LaTeX Info: Redefining \% on input line 7. - [18]) (./howto_8dox.tex) (./client_8h.tex +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 7. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 7. + [18] +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 +[][][] + [] + +) (./client_8h.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 4--11 [] ) (./_socket_8h.tex Underfull \hbox (badness 3471) in paragraph at lines 3--3 -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-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--21 [] -Underfull \vbox (badness 1077) has occurred while \output is active [] +Underfull \vbox (badness 1087) has occurred while \output is active [] LaTeX Info: Redefining \. on input line 21. LaTeX Info: Redefining \% on input line 21. - [19]) -(./_socket_exception_8h.tex +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 21. + [19] +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. + +Underfull \hbox (badness 10000) detected at line 29 +[][][] + [] + + +Underfull \hbox (badness 10000) detected at line 32 +[][][] + [] + +) (./_socket_exception_8h.tex Underfull \hbox (badness 3471) in paragraph at lines 3--3 -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-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 [] +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 +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 21. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 21. +[20] +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--10 [] -) (./refman.ind -LaTeX Info: Redefining \. on input line 1. -LaTeX Info: Redefining \% on input line 1. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 12. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 12. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 12. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 12. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 12. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 12. + +Underfull \hbox (badness 10000) detected at line 13 +[][][] + [] + + +Underfull \hbox (badness 10000) detected at line 16 +[][][] + [] + +) +LaTeX Info: Redefining \. on input line 166. +LaTeX Info: Redefining \% 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 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 166. [21] +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 168. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 168. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 168. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 168. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 168. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 168. + (./refman.ind 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/- [] @@ -1432,38 +2931,86 @@ Overfull \hbox (17.3224pt too wide) in paragraph at lines 19--21 - [] +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 134. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 134. [22 ] LaTeX Info: Redefining \. on input line 151. LaTeX Info: Redefining \% on input line 151. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "? +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand << +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand >> +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "= +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "~ +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "! +(babel) in language on input line 151. +Package babel Info: Redefining spanish shorthand "? +(babel) in language 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. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 171. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 171. (./refman.aux -LaTeX Info: Redefining \. on input line 21. -LaTeX Info: Redefining \% on input line 21. +LaTeX Info: Redefining \. on input line 23. +LaTeX Info: Redefining \% on input line 23. ) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 97. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 97. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 171. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 171. Package rerunfilecheck Info: File `refman.out' has not changed. -(rerunfilecheck) Checksum: DDDDBC43CB7E9CFAA74D492C11EA7B0A;14371. +(rerunfilecheck) Checksum: 90DE45FB725CFE1F61E3D4F1E8F376EA;14366. LaTeX Font Warning: Some font shapes were not available, defaults substituted. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 97. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 171. ) Here is how much of TeX's memory you used: - 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 + 13117 strings out of 494969 + 181938 string characters out of 6179593 + 267729 words of memory out of 5000000 + 15919 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,578b,691s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on refman.pdf (29 pages, 133388 bytes). +Output written on refman.pdf (29 pages, 133189 bytes). PDF statistics: - 804 PDF objects out of 1000 (max. 8388607) - 757 compressed objects within 8 object streams - 173 named destinations out of 1000 (max. 500000) + 794 PDF objects out of 1000 (max. 8388607) + 747 compressed objects within 8 object streams + 165 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 5bc7b0b..ce6ce8a 100644 --- a/JChatClient/doc/latex/refman.out +++ b/JChatClient/doc/latex/refman.out @@ -72,4 +72,4 @@ \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 +\BOOKMARK [-1][-]{section*.13}{\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 a95a63e..fe34d34 100644 --- a/JChatClient/doc/latex/refman.pdf +++ b/JChatClient/doc/latex/refman.pdf diff --git a/JChatClient/doc/latex/refman.tex b/JChatClient/doc/latex/refman.tex index 3ad5f14..e0e55e8 100644 --- a/JChatClient/doc/latex/refman.tex +++ b/JChatClient/doc/latex/refman.tex @@ -1,69 +1,137 @@ -\documentclass{book} -\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry} -\usepackage{makeidx} -\usepackage{natbib} +\documentclass[twoside]{book} + +% Packages required by doxygen +\usepackage{calc} +\usepackage{doxygen} \usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} \usepackage{multicol} -\usepackage{float} -\usepackage{listings} -\usepackage{color} -\usepackage{ifthen} -\usepackage[table]{xcolor} +\usepackage{multirow} \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[table]{xcolor} + +% NLS support packages \usepackage[spanish]{babel} +% Font selection +\usepackage[T1]{fontenc} \usepackage{mathptmx} \usepackage[scaled=.90]{helvet} \usepackage{courier} -\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} +\usepackage{sectsty} \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 -\setlength{\emergencystretch}{15pt} \hbadness=750 -\tolerance=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 Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Jueves, 12 de Diciembre de 2013 17:44:34 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 ===== + \begin{document} -\hypersetup{pageanchor=false,citecolor=blue} + +% Titlepage & ToC +\hypersetup{pageanchor=false} +\pagenumbering{roman} \begin{titlepage} \vspace*{7cm} -\begin{center} +\begin{center}% {\Large Socket }\\ \vspace*{1cm} -{\large Generado por Doxygen 1.8.3.1}\\ +{\large Generado por Doxygen 1.8.4}\\ \vspace*{0.5cm} -{\small Martes, 10 de Diciembre de 2013 04:23:31}\\ +{\small Jueves, 12 de Diciembre de 2013 17:44:34}\\ \end{center} \end{titlepage} \clearemptydoublepage -\pagenumbering{roman} \tableofcontents \clearemptydoublepage \pagenumbering{arabic} -\hypersetup{pageanchor=true,citecolor=blue} +\hypersetup{pageanchor=true} + +%--- Begin generated contents --- \chapter{Página principal} \label{index}\hypertarget{index}{}\input{index} \chapter{Client} @@ -92,6 +160,12 @@ \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 8ad365d..9821094 100644 --- a/JChatClient/doc/latex/refman.toc +++ b/JChatClient/doc/latex/refman.toc @@ -42,7 +42,7 @@ \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 {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{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} @@ -73,4 +73,4 @@ \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} +\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13} diff --git a/JChatClient/doc/latex/structthread__args.tex b/JChatClient/doc/latex/structthread__args.tex index 1aaf349..a5040d9 100644 --- a/JChatClient/doc/latex/structthread__args.tex +++ b/JChatClient/doc/latex/structthread__args.tex @@ -42,7 +42,7 @@ Variable de notificación a otros threads. Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones. -{\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}} +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_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} diff --git a/JChatClient/src/client.cpp b/JChatClient/src/client.cpp index 304a3ed..1f47b52 100644 --- a/JChatClient/src/client.cpp +++ b/JChatClient/src/client.cpp @@ -40,9 +40,6 @@ bool connect(Socket& s) cin.ignore(); cout << "Nickname: "; getline(cin,nick); - host = "localhost"; - port = 3001; - try { s.Create(); diff --git a/JChatServer/bin/pad/prac2/Connection.class b/JChatServer/bin/pad/prac2/Connection.class index 891b892..53b85cd 100644 --- a/JChatServer/bin/pad/prac2/Connection.class +++ b/JChatServer/bin/pad/prac2/Connection.class diff --git a/JChatServer/src/pad/prac2/Connection.java b/JChatServer/src/pad/prac2/Connection.java index 5002a5d..3d8c263 100644 --- a/JChatServer/src/pad/prac2/Connection.java +++ b/JChatServer/src/pad/prac2/Connection.java @@ -96,7 +96,7 @@ public class Connection extends Thread { try { - str = ""; + str = "/disconnect"; str = socket.recvMsg(); if(str.equals("/disconnect")) { @@ -132,11 +132,6 @@ public class Connection extends Thread socket.sendMsg(cE.getMessage()); } } - else if(str.equals("")) - { - System.out.println(serv.getNickname(this) + " disconnected"); - break; - } else { System.out.println("FROM " + serv.getNickname(this) + ": " + str); diff --git a/QChatClient/QChatClient.pro b/QChatClient/QChatClient.pro index e8759ac..7423386 100644 --- a/QChatClient/QChatClient.pro +++ b/QChatClient/QChatClient.pro @@ -15,20 +15,21 @@ TEMPLATE = app SOURCES += main.cpp\ chatwindow.cpp \ loginscreen.cpp \ - chatroomselect.cpp \ chatroom.cpp \ Socket.cpp \ - client.cpp + client.cpp \ + chatwidget.cpp HEADERS += chatwindow.h \ loginscreen.h \ - chatroomselect.h \ chatroom.h \ SocketException.h \ Socket.h \ - client.h + client.h \ + chatwidget.h FORMS += chatwindow.ui \ loginscreen.ui \ - chatroomselect.ui \ chatroom.ui + +LIBS += -lpthread diff --git a/QChatClient/QChatClient.pro.user b/QChatClient/QChatClient.pro.user index a6254cb..cce2f63 100644 --- a/QChatClient/QChatClient.pro.user +++ b/QChatClient/QChatClient.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget @@ -53,7 +53,7 @@ Desktop Desktop - {d6a12d1a-dee4-4341-8f4f-e2749eba145e} + {430bae4e-c8d6-488c-936e-c89fd5587cd0} 0 0 0 @@ -189,6 +189,7 @@ ProjectExplorer.DefaultDeployConfiguration 1 + true @@ -246,7 +247,7 @@ ProjectExplorer.Project.Updater.EnvironmentId - {fd24a9a9-cdbc-49b3-845c-b174fda2a7ac} + {0fd5067a-d849-4d4e-9457-800baef2de83} ProjectExplorer.Project.Updater.FileVersion diff --git a/QChatClient/QChatClient.pro.user.fd24a9a b/QChatClient/QChatClient.pro.user.fd24a9a new file mode 100644 index 0000000..a6254cb --- /dev/null +++ b/QChatClient/QChatClient.pro.user.fd24a9a @@ -0,0 +1,255 @@ + + + + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + true + 1 + true + 0 + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + {d6a12d1a-dee4-4341-8f4f-e2749eba145e} + 0 + 0 + 0 + + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + /home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Debug + true + + + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + /home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Release + true + + 2 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + + false + false + false + false + true + 0.01 + 10 + true + 25 + + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + QChatClient + + Qt4ProjectManager.Qt4RunConfiguration:/home/imanol/devel/eclipse/PAD/QChatClient/QChatClient.pro + 2 + + QChatClient.pro + false + false + + + 3768 + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.EnvironmentId + {fd24a9a9-cdbc-49b3-845c-b174fda2a7ac} + + + ProjectExplorer.Project.Updater.FileVersion + 12 + + diff --git a/QChatClient/chatroom.cpp b/QChatClient/chatroom.cpp index 823ea04..b76abde 100644 --- a/QChatClient/chatroom.cpp +++ b/QChatClient/chatroom.cpp @@ -6,6 +6,133 @@ Chatroom::Chatroom(QWidget *parent) : ui(new Ui::Chatroom) { ui->setupUi(this); + QList chatSizes; + QList splitSizes; + chatSizes.push_front(ui->chatText->height()); + chatSizes.push_front(100); + splitSizes.push_front(ui->chatWindow->width()); + splitSizes.push_front(200); + ui->chatSplitter->setSizes(chatSizes); + ui->windowSplitter->setSizes(splitSizes); + connected = false; +} + +void killThread(thread_args *t_arg) +{ + if(t_arg != 0) + { + delete t_arg; + t_arg = 0; + } + pthread_exit(NULL); +} + +void *sendThread(void* args) +{ + string send; + struct thread_args *t_arg = (struct thread_args*)args; + while(connected) + { + cout << "> "; + getline(cin,send); + if(cin.eof()) + { + send = "/exit"; + } + try + { + *(t_arg->s) << send; + if(send == "/disconnect" || send == "/exit") + { + break; + } + } + catch(SocketException& e) + { + cout << e.description() << endl; + } + } + killThread(t_arg); +} + +void *recvThread(void* args) +{ + string recv; + struct thread_args *t_arg = (struct thread_args*)args; + while(true) + { + try + { + *(t_arg->s) >> recv; + } + catch(SocketException &e) + { + connected = false; + cout << e.description() << endl; + 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") + { + cout << "Disconnecting" << endl; + connected = false; + pthread_cond_signal(t_arg->condition); + break; + } + else if(recv == "EXIT_OK") + { + cout << "Exiting" << endl; + connected = false; + pthread_cond_signal(t_arg->condition); + break; + } + else + { + cout << recv << endl; + } + } + killThread(t_arg); +} + +void Chatroom::start() +{ + Socket s; + connected = false; + pthread_mutex_t mutex; + pthread_mutex_init(&mutex,0); + pthread_cond_t condition; + pthread_cond_init(&condition,0); + pthread_t recv, send; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); + 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; + + rArgs->mutex = &mutex; + rArgs->condition = &condition; + rArgs->s = &s; + + pthread_create(&send,&attr,sendThread,(void *)sArgs); + pthread_create(&recv,&attr,recvThread,(void *)rArgs); + + while(connected) + { + pthread_cond_wait(&condition,&mutex); + } + pthread_mutex_unlock(&mutex); + pthread_join(recv,NULL); + pthread_join(send,NULL); + s.Close(); + pthread_cond_destroy(&condition); + pthread_mutex_destroy(&mutex); + + //LAUNCH LOGINSCREEN } Chatroom::~Chatroom() diff --git a/QChatClient/chatroom.h b/QChatClient/chatroom.h index 213e465..d0d31b4 100644 --- a/QChatClient/chatroom.h +++ b/QChatClient/chatroom.h @@ -2,6 +2,14 @@ #define CHATROOM_H #include +#include "Socket.h" + +struct thread_args +{ + pthread_mutex_t *mutex; + pthread_cond_t *condition; + Socket *s; +}; namespace Ui { class Chatroom; @@ -17,6 +25,12 @@ public: private: Ui::Chatroom *ui; + void start(); + bool connected; }; +void *sendThread(void* args); +void *recvThread(void* args); +void killThread(thread_args *t_arg); + #endif // CHATROOM_H diff --git a/QChatClient/chatroom.ui b/QChatClient/chatroom.ui index e2cbb71..688ada8 100644 --- a/QChatClient/chatroom.ui +++ b/QChatClient/chatroom.ui @@ -13,9 +13,90 @@ MainWindow - - + + + + + + Qt::Horizontal + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + + true + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + + + + + + ChatWidget + QTextEdit +
chatwidget.h
+
+
diff --git a/QChatClient/chatroomselect.cpp b/QChatClient/chatroomselect.cpp deleted file mode 100644 index ab1a51e..0000000 --- a/QChatClient/chatroomselect.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "chatroomselect.h" -#include "ui_chatroomselect.h" - -ChatroomSelect::ChatroomSelect(QWidget *parent) : - QDialog(parent), - ui(new Ui::ChatroomSelect) -{ - ui->setupUi(this); -} - -ChatroomSelect::~ChatroomSelect() -{ - delete ui; -} diff --git a/QChatClient/chatroomselect.h b/QChatClient/chatroomselect.h deleted file mode 100644 index b59a683..0000000 --- a/QChatClient/chatroomselect.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef CHATROOMSELECT_H -#define CHATROOMSELECT_H - -#include - -namespace Ui { -class ChatroomSelect; -} - -class ChatroomSelect : public QDialog -{ - Q_OBJECT - -public: - explicit ChatroomSelect(QWidget *parent = 0); - ~ChatroomSelect(); - -private: - Ui::ChatroomSelect *ui; -}; - -#endif // CHATROOMSELECT_H diff --git a/QChatClient/chatroomselect.ui b/QChatClient/chatroomselect.ui deleted file mode 100644 index bcfa2d1..0000000 --- a/QChatClient/chatroomselect.ui +++ /dev/null @@ -1,174 +0,0 @@ - - - ChatroomSelect - - - - 0 - 0 - 555 - 379 - - - - - 0 - 0 - - - - Dialog - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 5 - - - - - - - - - - - OK - - - - - - - Cancel - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 5 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 20 - - - - - - - - - - - Select one chatroom from the list: - - - - - - - - - - Edit - - - - - - - Delete - - - - - - - Add - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - - diff --git a/QChatClient/chatwidget.cpp b/QChatClient/chatwidget.cpp new file mode 100644 index 0000000..6dc6814 --- /dev/null +++ b/QChatClient/chatwidget.cpp @@ -0,0 +1,23 @@ +#include "chatwidget.h" + +ChatWidget::ChatWidget(QWidget *parent) : + QTextEdit(parent) +{ + +} + +void ChatWidget::printServerMsg(QString &str) +{ + this->append("

" + str + "

"); +} + +void ChatWidget::printMsg(QString &str) +{ + this->append(str); +} + +void ChatWidget::printStatusMsg(QString &str) +{ + this->append("

" + str + "

"); +} + diff --git a/QChatClient/chatwidget.h b/QChatClient/chatwidget.h new file mode 100644 index 0000000..6805494 --- /dev/null +++ b/QChatClient/chatwidget.h @@ -0,0 +1,21 @@ +#ifndef CHATWIDGET_H +#define CHATWIDGET_H + +#include + +class ChatWidget : public QTextEdit +{ + Q_OBJECT +public: + explicit ChatWidget(QWidget *parent = 0); + void printServerMsg(QString &str); + void printMsg(QString& str); + void printStatusMsg(QString& str); + +signals: + +public slots: + +}; + +#endif // CHATWIDGET_H diff --git a/QChatClient/chatwindow.cpp b/QChatClient/chatwindow.cpp index 835b08b..effe099 100644 --- a/QChatClient/chatwindow.cpp +++ b/QChatClient/chatwindow.cpp @@ -8,6 +8,10 @@ ChatWindow::ChatWindow(QWidget *parent) : ui(new Ui::ChatWindow) { ui->setupUi(this); + QList sizes; + sizes.push_front(ui->chatText->height()); + sizes.push_front(100); + ui->splitter->setSizes(sizes); } ChatWindow::~ChatWindow() diff --git a/QChatClient/chatwindow.ui b/QChatClient/chatwindow.ui index 6ed6f15..5cc3eb8 100644 --- a/QChatClient/chatwindow.ui +++ b/QChatClient/chatwindow.ui @@ -7,7 +7,7 @@ 0 0 400 - 449 + 502 @@ -24,54 +24,45 @@ - - - - - - - Qt::Vertical - - - - - 0 - 0 - - - - - - true - - - - 0 - 0 - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - - 0 - 0 - - - - - - + + + + Qt::Vertical + + + + true + + + + + true + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + 0 + 0 + + + @@ -88,6 +79,13 @@
+ + + ChatWidget + QTextEdit +
chatwidget.h
+
+
diff --git a/QChatClient/client.cpp b/QChatClient/client.cpp index ab17560..bcd17e5 100644 --- a/QChatClient/client.cpp +++ b/QChatClient/client.cpp @@ -1,214 +1,7 @@ -/** @file -* \brief Fichero de implementación de un cliente -* \author Imanol Barba Sabariego -* \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; -//! Variable de estado del programa. -bool connected; -//! Variable de estado del programa. -bool finished; - -//! 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. */ -void killThread(thread_args *t_arg) -{ - if(t_arg != 0) - { - delete t_arg; - t_arg = 0; - } - pthread_exit(NULL); -} - -//! Método de conexión -/*! Este método conecta el cliente a una sala de chat. */ -bool connect(Socket& s) -{ - string host, nick, response; - int port; - cout << "Hostname: "; - getline(cin,host); - cout << "Port: "; - cin >> port; - cin.ignore(); - cout << "Nickname: "; - getline(cin,nick); - host = "localhost"; - port = 3001; - - try - { - s.Create(); - s.Connect(host,port); - cout << "Connected" << endl; - connected = true; - s << nick; - s >> response; - while(response == "CHATNICKINVALID") - { - cout << "Spaces not allowed in nicknames, please enter another nickname: "; - getline(cin,nick); - s << nick; - s >> response; - } - while(response == "CHATNICKEXIST") - { - cout << "Nickname in use, please enter another nickname: "; - getline(cin,nick); - s << nick; - s >> response; - } - while(response == "CHATFULL") - { - cout << "Chatroom is full, please wait..." << endl; - s.Close(); - return false; - } - if(response != "CHATOK") - { - cout << "Error: " << response << endl; - s.Close(); - return false; - } - } - catch(SocketException& e) - { - cout << e.description() << endl; - exit(-1); - } - 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; - struct thread_args *t_arg = (struct thread_args*)args; - while(connected) - { - cout << "> "; - getline(cin,send); - if(cin.eof()) - { - send = "/exit"; - } - try - { - *(t_arg->s) << send; - if(send == "/disconnect" || send == "/exit") - { - break; - } - } - catch(SocketException& e) - { - cout << e.description() << endl; - } - } - 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; - struct thread_args *t_arg = (struct thread_args*)args; - while(true) - { - try - { - *(t_arg->s) >> recv; - } - catch(SocketException &e) - { - connected = false; - cout << e.description() << endl; - 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") - { - cout << "Disconnecting" << endl; - connected = false; - pthread_cond_signal(t_arg->condition); - break; - } - else if(recv == "EXIT_OK") - { - cout << "Exiting" << endl; - connected = false; - finished = true; - pthread_cond_signal(t_arg->condition); - break; - } - else - { - cout << recv << endl; - } - } - killThread(t_arg); -} - //! 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.*/ -/*int main() -{ - //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); - pthread_t recv, send; - pthread_attr_t attr; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); - int retries = 3; - while (!finished) - { - while(!connect(s)) - { - if((--retries) <= 0) - { - cout << "Exiting" << endl; - exit(-1); - } - 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; - - rArgs->mutex = &mutex; - rArgs->condition = &condition; - rArgs->s = &s; - - pthread_create(&send,&attr,sendThread,(void *)sArgs); - pthread_create(&recv,&attr,recvThread,(void *)rArgs); - - while(connected) - { - pthread_cond_wait(&condition,&mutex); - } - pthread_mutex_unlock(&mutex); - pthread_join(recv,NULL); - pthread_join(send,NULL); - s.Close(); - } - pthread_cond_destroy(&condition); - pthread_mutex_destroy(&mutex); -}*/ +/ diff --git a/QChatClient/client.h b/QChatClient/client.h index 5d6182e..448e0b2 100644 --- a/QChatClient/client.h +++ b/QChatClient/client.h @@ -14,23 +14,8 @@ \brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante \author Imanol Barba Sabariego \date 11/06/2013 */ -struct thread_args -{ - //! Variable de control de la exclusión mútua entre threads - /** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */ - pthread_mutex_t *mutex; - //! Variable de notificación a otros threads - /*! \brief 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.* */ - pthread_cond_t *condition; - //! Puntero al socket - /*! \brief 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. */ - Socket *s; -}; -#endif /* CLIENT_H_ */ \ No newline at end of file +#endif /* CLIENT_H_ */ diff --git a/QChatClient/loginscreen.cpp b/QChatClient/loginscreen.cpp index d62f269..e1e75f6 100644 --- a/QChatClient/loginscreen.cpp +++ b/QChatClient/loginscreen.cpp @@ -6,6 +6,61 @@ LoginScreen::LoginScreen(QWidget *parent) : ui(new Ui::LoginScreen) { ui->setupUi(this); + ui->nickEdit->setPlaceholderText("Nickname"); + ui->serverURLEdit->setPlaceholderText("Server hostname:port"); +} + +void LoginScreen::parseURL(QString host, int port, QString URL) +{ + +} + +bool LoginScreen::validateURL(QString& url) +{ + +} + +bool LoginScreen::connect(Socket& s) +{ + QString host, nick; + string response; + int port; + parseURL(host,port,ui->serverURLEdit->text()); + nick = ui->nickEdit->text(); + try + { + s.Create(); + s.Connect(host.toStdString(),port); + s << nick.toStdString(); + s >> response; + if(response == "CHATNICKINVALID") + { + cout << "Spaces not allowed in nicknames, please enter another nickname: "; + } + else if(response == "CHATNICKEXIST") + { + cout << "Nickname in use, please enter another nickname: "; + } + else if(response == "CHATFULL") + { + cout << "Chatroom is full, please wait..." << endl; + } + else if(response != "CHATOK") + { + cout << "Error: " << response << endl; + } + else + { + return true; + } + s.Close(); + return false; + } + catch(SocketException& e) + { + cout << e.description() << endl; + exit(-1); + } } LoginScreen::~LoginScreen() diff --git a/QChatClient/loginscreen.h b/QChatClient/loginscreen.h index b434e15..63dd44d 100644 --- a/QChatClient/loginscreen.h +++ b/QChatClient/loginscreen.h @@ -2,6 +2,7 @@ #define LOGINSCREEN_H #include +#include "Socket.h" namespace Ui { class LoginScreen; @@ -13,6 +14,9 @@ class LoginScreen : public QDialog public: explicit LoginScreen(QWidget *parent = 0); + bool connect(Socket& s); + bool validateURL(QString& url); + void parseURL(QString host, int port, QString URL); ~LoginScreen(); private: diff --git a/QChatClient/loginscreen.ui b/QChatClient/loginscreen.ui index 69c46e0..b2e9fbc 100644 --- a/QChatClient/loginscreen.ui +++ b/QChatClient/loginscreen.ui @@ -7,7 +7,7 @@ 0 0 402 - 204 + 173 @@ -20,61 +20,6 @@ Login - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 10 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 10 - 20 - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 5 - - - - @@ -94,7 +39,7 @@ - + @@ -133,6 +78,38 @@ + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + @@ -150,10 +127,26 @@ - + - + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 10 + 20 + + + diff --git a/QChatClient/main.cpp b/QChatClient/main.cpp index ca6117f..735d840 100644 --- a/QChatClient/main.cpp +++ b/QChatClient/main.cpp @@ -6,8 +6,8 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); - ChatWindow l; - l.show(); + Chatroom c; + c.show(); return a.exec(); } diff --git a/build-QChatClient-Desktop-Debug/Makefile b/build-QChatClient-Desktop-Debug/Makefile index fb2d4f5..d6540bc 100644 --- a/build-QChatClient-Desktop-Debug/Makefile +++ b/build-QChatClient-Desktop-Debug/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: QChatClient -# Generated by qmake (3.0) (Qt 5.0.1) on: jue dic 12 02:20:27 2013 +# Generated by qmake (3.0) (Qt 5.0.2) on: mi dic 18 16:05:46 2013 # Project: ../QChatClient/QChatClient.pro # Template: app # Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro @@ -48,24 +48,24 @@ OBJECTS_DIR = ./ SOURCES = ../QChatClient/main.cpp \ ../QChatClient/chatwindow.cpp \ ../QChatClient/loginscreen.cpp \ - ../QChatClient/chatroomselect.cpp \ ../QChatClient/chatroom.cpp \ ../QChatClient/Socket.cpp \ - ../QChatClient/client.cpp moc_chatwindow.cpp \ + ../QChatClient/client.cpp \ + ../QChatClient/chatwidget.cpp moc_chatwindow.cpp \ moc_loginscreen.cpp \ - moc_chatroomselect.cpp \ - moc_chatroom.cpp + moc_chatroom.cpp \ + moc_chatwidget.cpp OBJECTS = main.o \ chatwindow.o \ loginscreen.o \ - chatroomselect.o \ chatroom.o \ Socket.o \ client.o \ + chatwidget.o \ moc_chatwindow.o \ moc_loginscreen.o \ - moc_chatroomselect.o \ - moc_chatroom.o + moc_chatroom.o \ + moc_chatwidget.o DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ /usr/share/qt5/mkspecs/common/shell-unix.conf \ /usr/share/qt5/mkspecs/common/unix.conf \ @@ -84,14 +84,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/share/qt5/mkspecs/features/qt_functions.prf \ @@ -101,9 +95,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ /usr/share/qt5/mkspecs/features/default_pre.prf \ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ - /usr/share/qt5/mkspecs/features/debug.prf \ + /usr/share/qt5/mkspecs/features/resolve_config.prf \ /usr/share/qt5/mkspecs/features/default_post.prf \ - /usr/share/qt5/mkspecs/features/shared.prf \ /usr/share/qt5/mkspecs/features/qml_debug.prf \ /usr/share/qt5/mkspecs/features/declarative_debug.prf \ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ @@ -150,7 +143,7 @@ first: all all: Makefile $(TARGET) -$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h $(OBJECTS) +$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroom.h $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true @@ -172,14 +165,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ /usr/share/qt5/mkspecs/features/qt_functions.prf \ @@ -189,9 +176,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ /usr/share/qt5/mkspecs/features/default_pre.prf \ /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ - /usr/share/qt5/mkspecs/features/debug.prf \ + /usr/share/qt5/mkspecs/features/resolve_config.prf \ /usr/share/qt5/mkspecs/features/default_post.prf \ - /usr/share/qt5/mkspecs/features/shared.prf \ /usr/share/qt5/mkspecs/features/qml_debug.prf \ /usr/share/qt5/mkspecs/features/declarative_debug.prf \ /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ @@ -230,14 +216,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri: /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri: /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri: /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri: /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri: -/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri: /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri: /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri: /usr/share/qt5/mkspecs/features/qt_functions.prf: @@ -247,9 +227,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma /usr/share/qt5/mkspecs/features/exclusive_builds.prf: /usr/share/qt5/mkspecs/features/default_pre.prf: /usr/share/qt5/mkspecs/features/unix/default_pre.prf: -/usr/share/qt5/mkspecs/features/debug.prf: +/usr/share/qt5/mkspecs/features/resolve_config.prf: /usr/share/qt5/mkspecs/features/default_post.prf: -/usr/share/qt5/mkspecs/features/shared.prf: /usr/share/qt5/mkspecs/features/qml_debug.prf: /usr/share/qt5/mkspecs/features/declarative_debug.prf: /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf: @@ -275,8 +254,8 @@ qmake: FORCE qmake_all: FORCE dist: - @test -d .tmp/QChatClient1.0.0 || $(MKDIR) .tmp/QChatClient1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroomselect.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroomselect.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroomselect.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0 + @test -d .tmp/QChatClient1.0.0 || mkdir -p .tmp/QChatClient1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h ../QChatClient/chatwidget.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp ../QChatClient/chatwidget.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0 clean:compiler_clean @@ -303,9 +282,9 @@ compiler_wayland-server-header_make_all: compiler_wayland-server-header_clean: compiler_wayland-client-header_make_all: compiler_wayland-client-header_clean: -compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp +compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp + -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ /usr/include/qt5/QtWidgets/qmainwindow.h \ /usr/include/qt5/QtWidgets/qwidget.h \ @@ -339,6 +318,7 @@ moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -451,6 +431,7 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -525,11 +506,13 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h \ ../QChatClient/loginscreen.h /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp -moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ - /usr/include/qt5/QtWidgets/qdialog.h \ +moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ /usr/include/qt5/QtWidgets/qwidget.h \ /usr/include/qt5/QtGui/qwindowdefs.h \ /usr/include/qt5/QtCore/qglobal.h \ @@ -561,6 +544,7 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -635,11 +619,17 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ - ../QChatClient/chatroomselect.h - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroomselect.h -o moc_chatroomselect.cpp + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h \ + ../QChatClient/chatroom.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp -moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ - /usr/include/qt5/QtWidgets/qmainwindow.h \ +moc_chatwidget.cpp: /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ /usr/include/qt5/QtWidgets/qwidget.h \ /usr/include/qt5/QtGui/qwindowdefs.h \ /usr/include/qt5/QtCore/qglobal.h \ @@ -671,6 +661,7 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -745,28 +736,260 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ - /usr/include/qt5/QtWidgets/qtabwidget.h \ - /usr/include/qt5/QtGui/qicon.h \ - ../QChatClient/chatroom.h - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h \ + ../QChatClient/chatwidget.h + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatwidget.h -o moc_chatwidget.cpp compiler_wayland-code_make_all: compiler_wayland-code_clean: compiler_moc_source_make_all: compiler_moc_source_clean: -compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h +compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroom.h compiler_uic_clean: - -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h -ui_chatwindow.h: ../QChatClient/chatwindow.ui + -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroom.h +ui_chatwindow.h: ../QChatClient/chatwindow.ui \ + ../QChatClient/chatwidget.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h ui_loginscreen.h: ../QChatClient/loginscreen.ui /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h -ui_chatroomselect.h: ../QChatClient/chatroomselect.ui - /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroomselect.ui -o ui_chatroomselect.h - -ui_chatroom.h: ../QChatClient/chatroom.ui +ui_chatroom.h: ../QChatClient/chatroom.ui \ + ../QChatClient/chatwidget.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtWidgets/qwidget.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qmargins.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qpalette.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/qbrush.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qfont.h \ + /usr/include/qt5/QtGui/qfontmetrics.h \ + /usr/include/qt5/QtGui/qfontinfo.h \ + /usr/include/qt5/QtWidgets/qsizepolicy.h \ + /usr/include/qt5/QtGui/qcursor.h \ + /usr/include/qt5/QtGui/qkeysequence.h \ + /usr/include/qt5/QtGui/qevent.h \ + /usr/include/qt5/QtCore/qvariant.h \ + /usr/include/qt5/QtCore/qmap.h \ + /usr/include/qt5/QtCore/qdebug.h \ + /usr/include/qt5/QtCore/qtextstream.h \ + /usr/include/qt5/QtCore/qlocale.h \ + /usr/include/qt5/QtCore/qset.h \ + /usr/include/qt5/QtCore/qcontiguouscache.h \ + /usr/include/qt5/QtCore/qurl.h \ + /usr/include/qt5/QtCore/qurlquery.h \ + /usr/include/qt5/QtCore/qfile.h \ + /usr/include/qt5/QtCore/qfiledevice.h \ + /usr/include/qt5/QtGui/qvector2d.h \ + /usr/include/qt5/QtGui/qtouchdevice.h \ + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h compiler_yacc_decl_make_all: @@ -813,6 +1036,7 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -887,6 +1111,8 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h \ ../QChatClient/chatroom.h \ /usr/include/qt5/QtWidgets/QMainWindow \ /usr/include/qt5/QtWidgets/qmainwindow.h \ @@ -936,6 +1162,7 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -1052,16 +1279,15 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \ /usr/include/qt5/QtWidgets/qmenu.h \ /usr/include/qt5/QtWidgets/QSplitter \ /usr/include/qt5/QtWidgets/qsplitter.h \ - /usr/include/qt5/QtWidgets/QTextBrowser \ - /usr/include/qt5/QtWidgets/qtextbrowser.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ /usr/include/qt5/QtWidgets/qtextedit.h \ /usr/include/qt5/QtGui/qtextdocument.h \ /usr/include/qt5/QtGui/qtextoption.h \ /usr/include/qt5/QtGui/qtextcursor.h \ /usr/include/qt5/QtGui/qtextformat.h \ /usr/include/qt5/QtGui/qpen.h \ - /usr/include/qt5/QtWidgets/QTextEdit \ - /usr/include/qt5/QtWidgets/QWidget + /usr/include/qt5/QtWidgets/QWidget \ + ../QChatClient/chatwidget.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1098,6 +1324,7 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -1172,6 +1399,8 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h \ ui_loginscreen.h \ /usr/include/qt5/QtCore/QVariant \ /usr/include/qt5/QtWidgets/QAction \ @@ -1187,20 +1416,6 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtGui/qinputmethod.h \ /usr/include/qt5/QtWidgets/QButtonGroup \ /usr/include/qt5/QtWidgets/qbuttongroup.h \ - /usr/include/qt5/QtWidgets/QComboBox \ - /usr/include/qt5/QtWidgets/qcombobox.h \ - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ - /usr/include/qt5/QtWidgets/qstyleoption.h \ - /usr/include/qt5/QtWidgets/qabstractspinbox.h \ - /usr/include/qt5/QtGui/qvalidator.h \ - /usr/include/qt5/QtWidgets/qslider.h \ - /usr/include/qt5/QtWidgets/qabstractslider.h \ - /usr/include/qt5/QtWidgets/qstyle.h \ - /usr/include/qt5/QtWidgets/qtabbar.h \ - /usr/include/qt5/QtWidgets/qtabwidget.h \ - /usr/include/qt5/QtWidgets/qrubberband.h \ - /usr/include/qt5/QtWidgets/qframe.h \ - /usr/include/qt5/QtCore/qabstractitemmodel.h \ /usr/include/qt5/QtWidgets/QGridLayout \ /usr/include/qt5/QtWidgets/qgridlayout.h \ /usr/include/qt5/QtWidgets/qlayout.h \ @@ -1210,7 +1425,19 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtWidgets/qheaderview.h \ /usr/include/qt5/QtWidgets/qabstractitemview.h \ /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ + /usr/include/qt5/QtCore/qabstractitemmodel.h \ /usr/include/qt5/QtCore/qitemselectionmodel.h \ + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ + /usr/include/qt5/QtWidgets/qstyleoption.h \ + /usr/include/qt5/QtWidgets/qabstractspinbox.h \ + /usr/include/qt5/QtGui/qvalidator.h \ + /usr/include/qt5/QtWidgets/qslider.h \ + /usr/include/qt5/QtWidgets/qabstractslider.h \ + /usr/include/qt5/QtWidgets/qstyle.h \ + /usr/include/qt5/QtWidgets/qtabbar.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtWidgets/qrubberband.h \ /usr/include/qt5/QtWidgets/QLabel \ /usr/include/qt5/QtWidgets/qlabel.h \ /usr/include/qt5/QtWidgets/QLineEdit \ @@ -1226,9 +1453,9 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ /usr/include/qt5/QtWidgets/QWidget $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp -chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselect.h \ - /usr/include/qt5/QtWidgets/QDialog \ - /usr/include/qt5/QtWidgets/qdialog.h \ +chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ + /usr/include/qt5/QtWidgets/QMainWindow \ + /usr/include/qt5/QtWidgets/qmainwindow.h \ /usr/include/qt5/QtWidgets/qwidget.h \ /usr/include/qt5/QtGui/qwindowdefs.h \ /usr/include/qt5/QtCore/qglobal.h \ @@ -1260,6 +1487,7 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -1334,11 +1562,14 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ - ui_chatroomselect.h \ + /usr/include/qt5/QtWidgets/qtabwidget.h \ + /usr/include/qt5/QtGui/qicon.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h \ + ui_chatroom.h \ /usr/include/qt5/QtCore/QVariant \ /usr/include/qt5/QtWidgets/QAction \ /usr/include/qt5/QtWidgets/qaction.h \ - /usr/include/qt5/QtGui/qicon.h \ /usr/include/qt5/QtWidgets/qactiongroup.h \ /usr/include/qt5/QtWidgets/QApplication \ /usr/include/qt5/QtWidgets/qapplication.h \ @@ -1349,8 +1580,13 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec /usr/include/qt5/QtGui/qinputmethod.h \ /usr/include/qt5/QtWidgets/QButtonGroup \ /usr/include/qt5/QtWidgets/qbuttongroup.h \ - /usr/include/qt5/QtWidgets/QColumnView \ - /usr/include/qt5/QtWidgets/qcolumnview.h \ + /usr/include/qt5/QtWidgets/QGridLayout \ + /usr/include/qt5/QtWidgets/qgridlayout.h \ + /usr/include/qt5/QtWidgets/qlayout.h \ + /usr/include/qt5/QtWidgets/qlayoutitem.h \ + /usr/include/qt5/QtWidgets/qboxlayout.h \ + /usr/include/qt5/QtWidgets/QHeaderView \ + /usr/include/qt5/QtWidgets/qheaderview.h \ /usr/include/qt5/QtWidgets/qabstractitemview.h \ /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ /usr/include/qt5/QtWidgets/qframe.h \ @@ -1364,27 +1600,37 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec /usr/include/qt5/QtWidgets/qabstractslider.h \ /usr/include/qt5/QtWidgets/qstyle.h \ /usr/include/qt5/QtWidgets/qtabbar.h \ - /usr/include/qt5/QtWidgets/qtabwidget.h \ /usr/include/qt5/QtWidgets/qrubberband.h \ - /usr/include/qt5/QtWidgets/QGridLayout \ - /usr/include/qt5/QtWidgets/qgridlayout.h \ - /usr/include/qt5/QtWidgets/qlayout.h \ - /usr/include/qt5/QtWidgets/qlayoutitem.h \ - /usr/include/qt5/QtWidgets/qboxlayout.h \ - /usr/include/qt5/QtWidgets/QHeaderView \ - /usr/include/qt5/QtWidgets/qheaderview.h \ - /usr/include/qt5/QtWidgets/QLabel \ - /usr/include/qt5/QtWidgets/qlabel.h \ - /usr/include/qt5/QtWidgets/QPushButton \ - /usr/include/qt5/QtWidgets/qpushbutton.h \ - /usr/include/qt5/QtWidgets/qabstractbutton.h \ - /usr/include/qt5/QtWidgets/QSpacerItem \ - /usr/include/qt5/QtWidgets/QWidget - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroomselect.o ../QChatClient/chatroomselect.cpp + /usr/include/qt5/QtWidgets/QListWidget \ + /usr/include/qt5/QtWidgets/qlistwidget.h \ + /usr/include/qt5/QtWidgets/qlistview.h \ + /usr/include/qt5/QtWidgets/QSplitter \ + /usr/include/qt5/QtWidgets/qsplitter.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtGui/qtextdocument.h \ + /usr/include/qt5/QtGui/qtextoption.h \ + /usr/include/qt5/QtGui/qtextcursor.h \ + /usr/include/qt5/QtGui/qtextformat.h \ + /usr/include/qt5/QtGui/qpen.h \ + /usr/include/qt5/QtWidgets/QWidget \ + ../QChatClient/chatwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp -chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ - /usr/include/qt5/QtWidgets/QMainWindow \ - /usr/include/qt5/QtWidgets/qmainwindow.h \ +Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp + +client.o: ../QChatClient/client.cpp ../QChatClient/client.h \ + ../QChatClient/Socket.h \ + ../QChatClient/SocketException.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp + +chatwidget.o: ../QChatClient/chatwidget.cpp ../QChatClient/chatwidget.h \ + /usr/include/qt5/QtWidgets/QTextEdit \ + /usr/include/qt5/QtWidgets/qtextedit.h \ + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ + /usr/include/qt5/QtWidgets/qframe.h \ /usr/include/qt5/QtWidgets/qwidget.h \ /usr/include/qt5/QtGui/qwindowdefs.h \ /usr/include/qt5/QtCore/qglobal.h \ @@ -1416,6 +1662,7 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ /usr/include/qt5/QtCore/qoldbasicatomic.h \ /usr/include/qt5/QtCore/qatomic_vxworks.h \ /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_aarch64.h \ /usr/include/qt5/QtCore/qatomic_alpha.h \ /usr/include/qt5/QtCore/qatomic_armv7.h \ /usr/include/qt5/QtCore/qatomic_armv6.h \ @@ -1490,69 +1737,12 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ /usr/include/qt5/QtCore/qfiledevice.h \ /usr/include/qt5/QtGui/qvector2d.h \ /usr/include/qt5/QtGui/qtouchdevice.h \ - /usr/include/qt5/QtWidgets/qtabwidget.h \ - /usr/include/qt5/QtGui/qicon.h \ - ui_chatroom.h \ - /usr/include/qt5/QtCore/QVariant \ - /usr/include/qt5/QtWidgets/QAction \ - /usr/include/qt5/QtWidgets/qaction.h \ - /usr/include/qt5/QtWidgets/qactiongroup.h \ - /usr/include/qt5/QtWidgets/QApplication \ - /usr/include/qt5/QtWidgets/qapplication.h \ - /usr/include/qt5/QtCore/qcoreapplication.h \ - /usr/include/qt5/QtCore/qeventloop.h \ - /usr/include/qt5/QtWidgets/qdesktopwidget.h \ - /usr/include/qt5/QtGui/qguiapplication.h \ - /usr/include/qt5/QtGui/qinputmethod.h \ - /usr/include/qt5/QtWidgets/QButtonGroup \ - /usr/include/qt5/QtWidgets/qbuttongroup.h \ - /usr/include/qt5/QtWidgets/QFrame \ - /usr/include/qt5/QtWidgets/qframe.h \ - /usr/include/qt5/QtWidgets/QGridLayout \ - /usr/include/qt5/QtWidgets/qgridlayout.h \ - /usr/include/qt5/QtWidgets/qlayout.h \ - /usr/include/qt5/QtWidgets/qlayoutitem.h \ - /usr/include/qt5/QtWidgets/qboxlayout.h \ - /usr/include/qt5/QtWidgets/QHeaderView \ - /usr/include/qt5/QtWidgets/qheaderview.h \ - /usr/include/qt5/QtWidgets/qabstractitemview.h \ - /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ - /usr/include/qt5/QtCore/qabstractitemmodel.h \ - /usr/include/qt5/QtCore/qitemselectionmodel.h \ - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \ - /usr/include/qt5/QtWidgets/qstyleoption.h \ - /usr/include/qt5/QtWidgets/qabstractspinbox.h \ - /usr/include/qt5/QtGui/qvalidator.h \ - /usr/include/qt5/QtWidgets/qslider.h \ - /usr/include/qt5/QtWidgets/qabstractslider.h \ - /usr/include/qt5/QtWidgets/qstyle.h \ - /usr/include/qt5/QtWidgets/qtabbar.h \ - /usr/include/qt5/QtWidgets/qrubberband.h \ - /usr/include/qt5/QtWidgets/QListView \ - /usr/include/qt5/QtWidgets/qlistview.h \ - /usr/include/qt5/QtWidgets/QMenuBar \ - /usr/include/qt5/QtWidgets/qmenubar.h \ - /usr/include/qt5/QtWidgets/qmenu.h \ - /usr/include/qt5/QtWidgets/QTextBrowser \ - /usr/include/qt5/QtWidgets/qtextbrowser.h \ - /usr/include/qt5/QtWidgets/qtextedit.h \ /usr/include/qt5/QtGui/qtextdocument.h \ /usr/include/qt5/QtGui/qtextoption.h \ /usr/include/qt5/QtGui/qtextcursor.h \ /usr/include/qt5/QtGui/qtextformat.h \ - /usr/include/qt5/QtGui/qpen.h \ - /usr/include/qt5/QtWidgets/QTextEdit \ - /usr/include/qt5/QtWidgets/QWidget - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp - -Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \ - ../QChatClient/SocketException.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp - -client.o: ../QChatClient/client.cpp ../QChatClient/client.h \ - ../QChatClient/Socket.h \ - ../QChatClient/SocketException.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp + /usr/include/qt5/QtGui/qpen.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwidget.o ../QChatClient/chatwidget.cpp moc_chatwindow.o: moc_chatwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp @@ -1560,12 +1750,12 @@ moc_chatwindow.o: moc_chatwindow.cpp moc_loginscreen.o: moc_loginscreen.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp -moc_chatroomselect.o: moc_chatroomselect.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroomselect.o moc_chatroomselect.cpp - moc_chatroom.o: moc_chatroom.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp +moc_chatwidget.o: moc_chatwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwidget.o moc_chatwidget.cpp + ####### Install install: FORCE diff --git a/build-QChatClient-Desktop-Debug/QChatClient b/build-QChatClient-Desktop-Debug/QChatClient index 909c103..1d95cd0 100755 --- a/build-QChatClient-Desktop-Debug/QChatClient +++ b/build-QChatClient-Desktop-Debug/QChatClient diff --git a/build-QChatClient-Desktop-Debug/Socket.o b/build-QChatClient-Desktop-Debug/Socket.o new file mode 100644 index 0000000..9bc7c19 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/Socket.o diff --git a/build-QChatClient-Desktop-Debug/chatroomselect.o b/build-QChatClient-Desktop-Debug/chatroomselect.o new file mode 100644 index 0000000..eec8b69 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/chatroomselect.o diff --git a/build-QChatClient-Desktop-Debug/chatwidget.o b/build-QChatClient-Desktop-Debug/chatwidget.o new file mode 100644 index 0000000..d52d43f --- /dev/null +++ b/build-QChatClient-Desktop-Debug/chatwidget.o diff --git a/build-QChatClient-Desktop-Debug/chatwindow.o b/build-QChatClient-Desktop-Debug/chatwindow.o new file mode 100644 index 0000000..ac59618 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/chatwindow.o diff --git a/build-QChatClient-Desktop-Debug/client.o b/build-QChatClient-Desktop-Debug/client.o new file mode 100644 index 0000000..5b4ee4c --- /dev/null +++ b/build-QChatClient-Desktop-Debug/client.o diff --git a/build-QChatClient-Desktop-Debug/customtextedit.o b/build-QChatClient-Desktop-Debug/customtextedit.o new file mode 100644 index 0000000..0dc9c4d --- /dev/null +++ b/build-QChatClient-Desktop-Debug/customtextedit.o diff --git a/build-QChatClient-Desktop-Debug/loginscreen.o b/build-QChatClient-Desktop-Debug/loginscreen.o new file mode 100644 index 0000000..a96cbf1 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/loginscreen.o diff --git a/build-QChatClient-Desktop-Debug/main.o b/build-QChatClient-Desktop-Debug/main.o new file mode 100644 index 0000000..2ad5da7 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/main.o diff --git a/build-QChatClient-Desktop-Debug/moc_chatroom.o b/build-QChatClient-Desktop-Debug/moc_chatroom.o new file mode 100644 index 0000000..2120d98 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatroom.o diff --git a/build-QChatClient-Desktop-Debug/moc_chatroomselect.o b/build-QChatClient-Desktop-Debug/moc_chatroomselect.o new file mode 100644 index 0000000..4a94289 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatroomselect.o diff --git a/build-QChatClient-Desktop-Debug/moc_chatwidget.cpp b/build-QChatClient-Desktop-Debug/moc_chatwidget.cpp new file mode 100644 index 0000000..0c66a61 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatwidget.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'chatwidget.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/chatwidget.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'chatwidget.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_ChatWidget_t { + QByteArrayData data[1]; + char stringdata[12]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_ChatWidget_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_ChatWidget_t qt_meta_stringdata_ChatWidget = { + { +QT_MOC_LITERAL(0, 0, 10) + }, + "ChatWidget\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_ChatWidget[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void ChatWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject ChatWidget::staticMetaObject = { + { &QTextEdit::staticMetaObject, qt_meta_stringdata_ChatWidget.data, + qt_meta_data_ChatWidget, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *ChatWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *ChatWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ChatWidget.stringdata)) + return static_cast(const_cast< ChatWidget*>(this)); + return QTextEdit::qt_metacast(_clname); +} + +int ChatWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QTextEdit::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/moc_chatwidget.o b/build-QChatClient-Desktop-Debug/moc_chatwidget.o new file mode 100644 index 0000000..33e1fa7 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatwidget.o diff --git a/build-QChatClient-Desktop-Debug/moc_chatwindow.o b/build-QChatClient-Desktop-Debug/moc_chatwindow.o new file mode 100644 index 0000000..c9820ef --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_chatwindow.o diff --git a/build-QChatClient-Desktop-Debug/moc_customtextedit.cpp b/build-QChatClient-Desktop-Debug/moc_customtextedit.cpp new file mode 100644 index 0000000..0e015d4 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_customtextedit.cpp @@ -0,0 +1,88 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'customtextedit.h' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "../QChatClient/customtextedit.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'customtextedit.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.0.2. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_customTextEdit_t { + QByteArrayData data[1]; + char stringdata[16]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + offsetof(qt_meta_stringdata_customTextEdit_t, stringdata) + ofs \ + - idx * sizeof(QByteArrayData) \ + ) +static const qt_meta_stringdata_customTextEdit_t qt_meta_stringdata_customTextEdit = { + { +QT_MOC_LITERAL(0, 0, 14) + }, + "customTextEdit\0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_customTextEdit[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +void customTextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObject customTextEdit::staticMetaObject = { + { &QTextEdit::staticMetaObject, qt_meta_stringdata_customTextEdit.data, + qt_meta_data_customTextEdit, qt_static_metacall, 0, 0} +}; + + +const QMetaObject *customTextEdit::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *customTextEdit::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_customTextEdit.stringdata)) + return static_cast(const_cast< customTextEdit*>(this)); + return QTextEdit::qt_metacast(_clname); +} + +int customTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QTextEdit::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/build-QChatClient-Desktop-Debug/moc_customtextedit.o b/build-QChatClient-Desktop-Debug/moc_customtextedit.o new file mode 100644 index 0000000..0fdc314 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_customtextedit.o diff --git a/build-QChatClient-Desktop-Debug/moc_loginscreen.o b/build-QChatClient-Desktop-Debug/moc_loginscreen.o new file mode 100644 index 0000000..d5c9b09 --- /dev/null +++ b/build-QChatClient-Desktop-Debug/moc_loginscreen.o diff --git a/build-QChatClient-Desktop-Debug/ui_chatroom.h b/build-QChatClient-Desktop-Debug/ui_chatroom.h index 95745bd..75ea0dd 100644 --- a/build-QChatClient-Desktop-Debug/ui_chatroom.h +++ b/build-QChatClient-Desktop-Debug/ui_chatroom.h @@ -13,15 +13,14 @@ #include #include #include -#include #include #include -#include +#include #include -#include -#include +#include #include #include +#include "chatwidget.h" QT_BEGIN_NAMESPACE @@ -29,12 +28,14 @@ class Ui_Chatroom { public: QWidget *centralwidget; + QGridLayout *gridLayout_2; + QSplitter *windowSplitter; + QWidget *chatWindow; QGridLayout *gridLayout; - QListView *listView; - QTextBrowser *textBrowser; - QTextEdit *textEdit; - QFrame *frame; - QMenuBar *menubar; + QSplitter *chatSplitter; + ChatWidget *chatText; + QTextEdit *inputText; + QListWidget *userList; void setupUi(QMainWindow *Chatroom) { @@ -43,48 +44,51 @@ public: Chatroom->resize(800, 600); centralwidget = new QWidget(Chatroom); centralwidget->setObjectName(QStringLiteral("centralwidget")); - gridLayout = new QGridLayout(centralwidget); + gridLayout_2 = new QGridLayout(centralwidget); + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); + windowSplitter = new QSplitter(centralwidget); + windowSplitter->setObjectName(QStringLiteral("windowSplitter")); + windowSplitter->setOrientation(Qt::Horizontal); + chatWindow = new QWidget(windowSplitter); + chatWindow->setObjectName(QStringLiteral("chatWindow")); + gridLayout = new QGridLayout(chatWindow); + gridLayout->setSpacing(0); gridLayout->setObjectName(QStringLiteral("gridLayout")); - listView = new QListView(centralwidget); - listView->setObjectName(QStringLiteral("listView")); - QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); + gridLayout->setContentsMargins(0, 0, 0, 0); + chatSplitter = new QSplitter(chatWindow); + chatSplitter->setObjectName(QStringLiteral("chatSplitter")); + chatSplitter->setOrientation(Qt::Vertical); + chatText = new ChatWidget(chatSplitter); + chatText->setObjectName(QStringLiteral("chatText")); + chatText->setReadOnly(true); + chatSplitter->addWidget(chatText); + inputText = new QTextEdit(chatSplitter); + inputText->setObjectName(QStringLiteral("inputText")); + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); - sizePolicy.setHeightForWidth(listView->sizePolicy().hasHeightForWidth()); - listView->setSizePolicy(sizePolicy); - listView->setMaximumSize(QSize(150, 16777215)); + sizePolicy.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth()); + inputText->setSizePolicy(sizePolicy); + inputText->setMaximumSize(QSize(16777215, 16777215)); + chatSplitter->addWidget(inputText); - gridLayout->addWidget(listView, 0, 2, 1, 1); + gridLayout->addWidget(chatSplitter, 0, 0, 1, 1); - textBrowser = new QTextBrowser(centralwidget); - textBrowser->setObjectName(QStringLiteral("textBrowser")); - - gridLayout->addWidget(textBrowser, 0, 1, 1, 1); - - textEdit = new QTextEdit(centralwidget); - textEdit->setObjectName(QStringLiteral("textEdit")); - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed); + windowSplitter->addWidget(chatWindow); + userList = new QListWidget(windowSplitter); + userList->setObjectName(QStringLiteral("userList")); + QSizePolicy sizePolicy1(QSizePolicy::Ignored, QSizePolicy::Expanding); sizePolicy1.setHorizontalStretch(0); sizePolicy1.setVerticalStretch(0); - sizePolicy1.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth()); - textEdit->setSizePolicy(sizePolicy1); - textEdit->setMinimumSize(QSize(0, 100)); - textEdit->setMaximumSize(QSize(16777215, 100)); - - gridLayout->addWidget(textEdit, 2, 1, 1, 2); - - frame = new QFrame(centralwidget); - frame->setObjectName(QStringLiteral("frame")); - frame->setFrameShape(QFrame::StyledPanel); - frame->setFrameShadow(QFrame::Raised); + sizePolicy1.setHeightForWidth(userList->sizePolicy().hasHeightForWidth()); + userList->setSizePolicy(sizePolicy1); + userList->setMinimumSize(QSize(0, 0)); + userList->setMaximumSize(QSize(16777215, 16777215)); + windowSplitter->addWidget(userList); - gridLayout->addWidget(frame, 1, 1, 1, 1); + gridLayout_2->addWidget(windowSplitter, 0, 0, 1, 1); Chatroom->setCentralWidget(centralwidget); - menubar = new QMenuBar(Chatroom); - menubar->setObjectName(QStringLiteral("menubar")); - menubar->setGeometry(QRect(0, 0, 800, 25)); - Chatroom->setMenuBar(menubar); retranslateUi(Chatroom); diff --git a/build-QChatClient-Desktop-Debug/ui_chatroomselect.h b/build-QChatClient-Desktop-Debug/ui_chatroomselect.h index ceef2c6..8cabd83 100644 --- a/build-QChatClient-Desktop-Debug/ui_chatroomselect.h +++ b/build-QChatClient-Desktop-Debug/ui_chatroomselect.h @@ -51,6 +51,11 @@ public: if (ChatroomSelect->objectName().isEmpty()) ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect")); ChatroomSelect->resize(555, 379); + QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(ChatroomSelect->sizePolicy().hasHeightForWidth()); + ChatroomSelect->setSizePolicy(sizePolicy); gridLayout = new QGridLayout(ChatroomSelect); gridLayout->setObjectName(QStringLiteral("gridLayout")); listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); diff --git a/build-QChatClient-Desktop-Debug/ui_chatwindow.h b/build-QChatClient-Desktop-Debug/ui_chatwindow.h index 6ccba73..84991b1 100644 --- a/build-QChatClient-Desktop-Debug/ui_chatwindow.h +++ b/build-QChatClient-Desktop-Debug/ui_chatwindow.h @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading UI file 'chatwindow.ui' ** -** Created by: Qt User Interface Compiler version 5.0.1 +** Created by: Qt User Interface Compiler version 5.0.2 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! ********************************************************************************/ @@ -18,9 +18,9 @@ #include #include #include -#include #include #include +#include "chatwidget.h" QT_BEGIN_NAMESPACE @@ -29,10 +29,8 @@ class Ui_ChatWindow public: QWidget *centralWidget; QGridLayout *gridLayout; - QWidget *widget; - QGridLayout *gridLayout_2; QSplitter *splitter; - QTextBrowser *chatText; + ChatWidget *chatText; QTextEdit *inputText; QMenuBar *menuBar; @@ -40,7 +38,7 @@ public: { if (ChatWindow->objectName().isEmpty()) ChatWindow->setObjectName(QStringLiteral("ChatWindow")); - ChatWindow->resize(400, 449); + ChatWindow->resize(400, 502); centralWidget = new QWidget(ChatWindow); centralWidget->setObjectName(QStringLiteral("centralWidget")); centralWidget->setEnabled(true); @@ -53,40 +51,27 @@ public: gridLayout->setSpacing(6); gridLayout->setContentsMargins(11, 11, 11, 11); gridLayout->setObjectName(QStringLiteral("gridLayout")); - widget = new QWidget(centralWidget); - widget->setObjectName(QStringLiteral("widget")); - gridLayout_2 = new QGridLayout(widget); - gridLayout_2->setSpacing(6); - gridLayout_2->setContentsMargins(11, 11, 11, 11); - gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); - splitter = new QSplitter(widget); + splitter = new QSplitter(centralWidget); splitter->setObjectName(QStringLiteral("splitter")); splitter->setOrientation(Qt::Vertical); - chatText = new QTextBrowser(splitter); + chatText = new ChatWidget(splitter); chatText->setObjectName(QStringLiteral("chatText")); - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored); - sizePolicy1.setHorizontalStretch(0); - sizePolicy1.setVerticalStretch(0); - sizePolicy1.setHeightForWidth(chatText->sizePolicy().hasHeightForWidth()); - chatText->setSizePolicy(sizePolicy1); + chatText->setReadOnly(true); splitter->addWidget(chatText); inputText = new QTextEdit(splitter); inputText->setObjectName(QStringLiteral("inputText")); inputText->setEnabled(true); - QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Preferred); - sizePolicy2.setHorizontalStretch(0); - sizePolicy2.setVerticalStretch(0); - sizePolicy2.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth()); - inputText->setSizePolicy(sizePolicy2); + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth()); + inputText->setSizePolicy(sizePolicy1); inputText->setMinimumSize(QSize(0, 0)); inputText->setMaximumSize(QSize(16777215, 16777215)); inputText->setBaseSize(QSize(0, 0)); splitter->addWidget(inputText); - gridLayout_2->addWidget(splitter, 0, 0, 1, 1); - - - gridLayout->addWidget(widget, 1, 0, 1, 1); + gridLayout->addWidget(splitter, 0, 0, 1, 1); ChatWindow->setCentralWidget(centralWidget); menuBar = new QMenuBar(ChatWindow); diff --git a/build-QChatClient-Desktop-Debug/ui_loginscreen.h b/build-QChatClient-Desktop-Debug/ui_loginscreen.h index 07e9ccd..615a5e3 100644 --- a/build-QChatClient-Desktop-Debug/ui_loginscreen.h +++ b/build-QChatClient-Desktop-Debug/ui_loginscreen.h @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -29,59 +28,46 @@ class Ui_LoginScreen { public: QGridLayout *gridLayout; - QComboBox *chatroomBox; - QSpacerItem *verticalSpacer; - QSpacerItem *rightSpacer; - QSpacerItem *topSpacer; QLabel *titleLabel; QWidget *buttonBox; QGridLayout *gridLayout_2; QPushButton *cancelButton; QPushButton *connectButton; QSpacerItem *buttonHorizSpacer; + QSpacerItem *verticalSpacer; + QSpacerItem *topSpacer; QSpacerItem *leftSpacer; - QLineEdit *userEdit; - QLineEdit *passwordEdit; + QLineEdit *nickEdit; + QLineEdit *serverURLEdit; + QSpacerItem *rightSpacer; void setupUi(QDialog *LoginScreen) { if (LoginScreen->objectName().isEmpty()) LoginScreen->setObjectName(QStringLiteral("LoginScreen")); - LoginScreen->resize(402, 204); + LoginScreen->resize(402, 173); + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(LoginScreen->sizePolicy().hasHeightForWidth()); + LoginScreen->setSizePolicy(sizePolicy); gridLayout = new QGridLayout(LoginScreen); gridLayout->setObjectName(QStringLiteral("gridLayout")); - chatroomBox = new QComboBox(LoginScreen); - chatroomBox->setObjectName(QStringLiteral("chatroomBox")); - - gridLayout->addWidget(chatroomBox, 5, 1, 1, 1); - - verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed); - - gridLayout->addItem(verticalSpacer, 2, 1, 1, 1); - - rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); - - gridLayout->addItem(rightSpacer, 4, 2, 1, 1); - - topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); - - gridLayout->addItem(topSpacer, 0, 1, 1, 1); - titleLabel = new QLabel(LoginScreen); titleLabel->setObjectName(QStringLiteral("titleLabel")); - QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); - sizePolicy.setHorizontalStretch(0); - sizePolicy.setVerticalStretch(0); - sizePolicy.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth()); - titleLabel->setSizePolicy(sizePolicy); + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Maximum); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth()); + titleLabel->setSizePolicy(sizePolicy1); titleLabel->setMaximumSize(QSize(16777215, 20)); gridLayout->addWidget(titleLabel, 1, 1, 1, 1); buttonBox = new QWidget(LoginScreen); buttonBox->setObjectName(QStringLiteral("buttonBox")); - sizePolicy.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth()); - buttonBox->setSizePolicy(sizePolicy); + sizePolicy1.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth()); + buttonBox->setSizePolicy(sizePolicy1); gridLayout_2 = new QGridLayout(buttonBox); gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); cancelButton = new QPushButton(buttonBox); @@ -99,21 +85,33 @@ public: gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1); - gridLayout->addWidget(buttonBox, 6, 1, 1, 1); + gridLayout->addWidget(buttonBox, 7, 1, 1, 1); + + verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1); + + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); + + gridLayout->addItem(topSpacer, 0, 1, 1, 1); leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); gridLayout->addItem(leftSpacer, 3, 0, 1, 1); - userEdit = new QLineEdit(LoginScreen); - userEdit->setObjectName(QStringLiteral("userEdit")); + nickEdit = new QLineEdit(LoginScreen); + nickEdit->setObjectName(QStringLiteral("nickEdit")); - gridLayout->addWidget(userEdit, 3, 1, 1, 1); + gridLayout->addWidget(nickEdit, 3, 1, 1, 1); - passwordEdit = new QLineEdit(LoginScreen); - passwordEdit->setObjectName(QStringLiteral("passwordEdit")); + serverURLEdit = new QLineEdit(LoginScreen); + serverURLEdit->setObjectName(QStringLiteral("serverURLEdit")); - gridLayout->addWidget(passwordEdit, 4, 1, 1, 1); + gridLayout->addWidget(serverURLEdit, 4, 1, 1, 1); + + rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); + + gridLayout->addItem(rightSpacer, 4, 2, 1, 1); retranslateUi(LoginScreen); @@ -124,7 +122,6 @@ public: void retranslateUi(QDialog *LoginScreen) { LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0)); - chatroomBox->setCurrentText(QString()); titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0)); cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0)); connectButton->setText(QApplication::translate("LoginScreen", "OK", 0));