瀏覽代碼

initial commit

Jose Ortiz 9 年之前
當前提交
c81900256f
共有 100 個文件被更改,包括 7592 次插入0 次删除
  1. 79
    0
      File.cpp
  2. 66
    0
      Filter.cpp
  3. 32
    0
      NetworkAnalyzer.pro
  4. 441
    0
      README.md
  5. 81
    0
      Sort.cpp
  6. 184
    0
      doc/en/html/_file_8cpp.html
  7. 244
    0
      doc/en/html/_filter_8cpp.html
  8. 214
    0
      doc/en/html/_sort_8cpp.html
  9. 103
    0
      doc/en/html/annotated.html
  10. 二進制
      doc/en/html/arrowdown.png
  11. 二進制
      doc/en/html/arrowright.png
  12. 二進制
      doc/en/html/bc_s.png
  13. 二進制
      doc/en/html/bdwn.png
  14. 118
    0
      doc/en/html/class_main_window-members.html
  15. 190
    0
      doc/en/html/class_main_window.html
  16. 二進制
      doc/en/html/class_main_window.png
  17. 124
    0
      doc/en/html/class_packet-members.html
  18. 636
    0
      doc/en/html/class_packet.html
  19. 107
    0
      doc/en/html/classes.html
  20. 二進制
      doc/en/html/closed.png
  21. 二進制
      doc/en/html/doc.png
  22. 1449
    0
      doc/en/html/doxygen.css
  23. 二進制
      doc/en/html/doxygen.png
  24. 97
    0
      doc/en/html/dynsections.js
  25. 104
    0
      doc/en/html/files.html
  26. 二進制
      doc/en/html/folderclosed.png
  27. 二進制
      doc/en/html/folderopen.png
  28. 245
    0
      doc/en/html/functions.html
  29. 177
    0
      doc/en/html/functions_func.html
  30. 123
    0
      doc/en/html/functions_vars.html
  31. 129
    0
      doc/en/html/globals.html
  32. 129
    0
      doc/en/html/globals_func.html
  33. 104
    0
      doc/en/html/hierarchy.html
  34. 89
    0
      doc/en/html/index.html
  35. 68
    0
      doc/en/html/jquery.js
  36. 194
    0
      doc/en/html/mainwindow_8h_source.html
  37. 二進制
      doc/en/html/nav_f.png
  38. 二進制
      doc/en/html/nav_g.png
  39. 二進制
      doc/en/html/nav_h.png
  40. 二進制
      doc/en/html/open.png
  41. 157
    0
      doc/en/html/packet_8h_source.html
  42. 26
    0
      doc/en/html/search/all_0.html
  43. 6
    0
      doc/en/html/search/all_0.js
  44. 26
    0
      doc/en/html/search/all_1.html
  45. 5
    0
      doc/en/html/search/all_1.js
  46. 26
    0
      doc/en/html/search/all_2.html
  47. 10
    0
      doc/en/html/search/all_2.js
  48. 26
    0
      doc/en/html/search/all_3.html
  49. 8
    0
      doc/en/html/search/all_3.js
  50. 26
    0
      doc/en/html/search/all_4.html
  51. 4
    0
      doc/en/html/search/all_4.js
  52. 26
    0
      doc/en/html/search/all_5.html
  53. 13
    0
      doc/en/html/search/all_5.js
  54. 26
    0
      doc/en/html/search/all_6.html
  55. 5
    0
      doc/en/html/search/all_6.js
  56. 26
    0
      doc/en/html/search/all_7.html
  57. 4
    0
      doc/en/html/search/all_7.js
  58. 26
    0
      doc/en/html/search/all_8.html
  59. 16
    0
      doc/en/html/search/all_8.js
  60. 26
    0
      doc/en/html/search/all_9.html
  61. 4
    0
      doc/en/html/search/all_9.js
  62. 26
    0
      doc/en/html/search/classes_0.html
  63. 4
    0
      doc/en/html/search/classes_0.js
  64. 26
    0
      doc/en/html/search/classes_1.html
  65. 4
    0
      doc/en/html/search/classes_1.js
  66. 二進制
      doc/en/html/search/close.png
  67. 26
    0
      doc/en/html/search/files_0.html
  68. 5
    0
      doc/en/html/search/files_0.js
  69. 26
    0
      doc/en/html/search/files_1.html
  70. 4
    0
      doc/en/html/search/files_1.js
  71. 26
    0
      doc/en/html/search/functions_0.html
  72. 4
    0
      doc/en/html/search/functions_0.js
  73. 26
    0
      doc/en/html/search/functions_1.html
  74. 4
    0
      doc/en/html/search/functions_1.js
  75. 26
    0
      doc/en/html/search/functions_2.html
  76. 8
    0
      doc/en/html/search/functions_2.js
  77. 26
    0
      doc/en/html/search/functions_3.html
  78. 8
    0
      doc/en/html/search/functions_3.js
  79. 26
    0
      doc/en/html/search/functions_4.html
  80. 4
    0
      doc/en/html/search/functions_4.js
  81. 26
    0
      doc/en/html/search/functions_5.html
  82. 12
    0
      doc/en/html/search/functions_5.js
  83. 26
    0
      doc/en/html/search/functions_6.html
  84. 4
    0
      doc/en/html/search/functions_6.js
  85. 26
    0
      doc/en/html/search/functions_7.html
  86. 4
    0
      doc/en/html/search/functions_7.js
  87. 26
    0
      doc/en/html/search/functions_8.html
  88. 13
    0
      doc/en/html/search/functions_8.js
  89. 26
    0
      doc/en/html/search/functions_9.html
  90. 4
    0
      doc/en/html/search/functions_9.js
  91. 二進制
      doc/en/html/search/mag_sel.png
  92. 12
    0
      doc/en/html/search/nomatches.html
  93. 271
    0
      doc/en/html/search/search.css
  94. 791
    0
      doc/en/html/search/search.js
  95. 二進制
      doc/en/html/search/search_l.png
  96. 二進制
      doc/en/html/search/search_m.png
  97. 二進制
      doc/en/html/search/search_r.png
  98. 27
    0
      doc/en/html/search/searchdata.js
  99. 26
    0
      doc/en/html/search/variables_0.html
  100. 0
    0
      doc/en/html/search/variables_0.js

+ 79
- 0
File.cpp 查看文件

@@ -0,0 +1,79 @@
1
+#include "packet.h"
2
+#include <string>
3
+#include <fstream>
4
+#include <vector>
5
+
6
+/// \file
7
+
8
+using namespace std ;
9
+
10
+/// \fn bool ReadFile(string fname, vector<Packet> & netdata)
11
+/// \~English
12
+/// \brief Function that reads a file and return a boolean
13
+/// that determines if the file was succesfully opened and read or not.
14
+/// \param fname  String that contains the filename of the file.
15
+/// \param netdata  Vector of packets.
16
+/// \return true if successfuly read a file, false otherwise
17
+/// \~Spanish
18
+/// \brief Funcion que lee un archivo y devuelve un booleano que determina
19
+/// si el archivo abrio y se leyo con exito o no.
20
+/// \param fname  Cadena de caracteres que contiene el nombre del archivo.
21
+/// \param netdata  Vector de paquetes.
22
+/// \return cierto si leyo el archivo con exito, false de lo contrario
23
+bool ReadFile(string fname, vector<Packet> & netdata){
24
+
25
+    ifstream infile;
26
+    string sa ; // temp source address
27
+    string da ; // temp dest address
28
+    int sp ;    // temp src port (puerto fuente)
29
+    int dp ;    // temp dst port (puerto destino)
30
+    int oct ;   // temp octets (octetos)
31
+    int pkt ;   // temp packets (paquetes)
32
+
33
+    infile.open(fname.c_str());
34
+
35
+    if(!infile.is_open())
36
+       return false ;
37
+
38
+    while(infile>> sa >> da >> sp >> dp >> oct >>pkt ){
39
+        Packet p(sa, da, sp, dp, oct, pkt) ;
40
+        netdata.push_back(p) ;
41
+    }
42
+
43
+    infile.close() ;
44
+    return true ;
45
+}
46
+
47
+/// \fn bool SaveFile(string fname, vector<Packet> netdata)
48
+/// \~English
49
+/// \brief Function that saves a file to the computer.
50
+/// It returns true when the file was succesfully saved and false
51
+/// if an error occurred.
52
+/// \param fname  String that contains the filename of the file.
53
+/// \param netdata  Vector of packets.
54
+/// \return true if successfuly read a file, false otherwise
55
+/// \~Spanish
56
+/// \brief Funcion que guarda un archivo en la computadora.
57
+/// Devuelve cierto cuando el archivo se guardo con exito y falso si
58
+/// ocurre error
59
+/// \param fname  Cadena de caracteres que contiene el nombre del archivo.
60
+/// \param netdata  Vector de paquetes.
61
+/// \return cierto si guardo el archivo con exito, false de lo contrario
62
+bool SaveFile(string fname, vector<Packet> netdata){
63
+
64
+    ofstream outfile;
65
+
66
+    outfile.open(fname.c_str());
67
+
68
+    if(!outfile.is_open())
69
+       return false ;
70
+
71
+    for(unsigned int i = 0; i < netdata.size(); i++){
72
+        outfile << netdata.at(i).getSrcAddr() << " " << netdata.at(i).getDstAddr() << " "
73
+                << netdata.at(i).getSrcPort() << " " << netdata.at(i).getDstPort() << " "
74
+                << netdata.at(i).getOctects() << " " << netdata.at(i).getPackets() << endl ;
75
+    }
76
+
77
+    outfile.close() ;
78
+    return true ;
79
+}

+ 66
- 0
Filter.cpp 查看文件

@@ -0,0 +1,66 @@
1
+#include <vector>
2
+#include "packet.h"
3
+
4
+/// \file
5
+
6
+/// \fn void FilterBySrcAddr(vector<Packet> &netdata, string address)
7
+/// \~English
8
+/// Function that filters the packets in the netflow by the source address
9
+/// \param netdata packets vector
10
+/// \param address key address to filter
11
+/// \~Spanish
12
+/// Funcion que filtra los paquetes en el flujo de red por la direccion fuente
13
+/// \param netdata vector de paquetes
14
+/// \param address direccion llave para el fitro
15
+void FilterBySrcAddr(vector<Packet> &netdata, string address){
16
+    
17
+     // YOUR CODE HERE
18
+
19
+
20
+}
21
+
22
+/// \fn void FilterByDstAddr(vector<Packet> &netdata, string address)
23
+/// \~English
24
+/// Function that filters the packets in the netflow by the destination address
25
+/// \param netdata packets vector
26
+/// \param address key address to filter
27
+/// \~Spanish
28
+/// Funcion que filtra los paquetes en el flujo de red por la direccion destino
29
+/// \param netdata vector de paquetes
30
+/// \param address direccion llave para el fitro
31
+void FilterByDstAddr(vector<Packet> &netdata, string address){
32
+    
33
+     // YOUR CODE HERE
34
+
35
+}
36
+
37
+/// \fn void FilterBySrcPort(vector<Packet> &netdata, int port)
38
+/// \~English
39
+/// Function that filters the packets in the netflow by the source port
40
+/// \param netdata packets vector
41
+/// \param port key port to filter
42
+/// \~Spanish
43
+/// Funcion que filtra los paquetes en el flujo de red por el puerto fuente
44
+/// \param netdata vector de paquetes
45
+/// \param port puerto llave para el fitro
46
+void FilterBySrcPort(vector<Packet> &netdata, int port){
47
+    
48
+     // YOUR CODE HERE
49
+
50
+
51
+}
52
+
53
+/// \fn void FilterByDstPort(vector<Packet> &netdata, int port)
54
+/// \~English
55
+/// Function that filters the packets in the netflow by the destination port
56
+/// \param netdata packets vector
57
+/// \param port key port to filter
58
+/// \~Spanish
59
+/// Funcion que filtra los paquetes en el flujo de red por el puerto destino
60
+/// \param netdata vector de paquetes
61
+/// \param port puerto llave para el fitro
62
+void FilterByDstPort(vector<Packet> &netdata, int port){
63
+
64
+     // YOUR CODE HERE
65
+
66
+}

+ 32
- 0
NetworkAnalyzer.pro 查看文件

@@ -0,0 +1,32 @@
1
+#-------------------------------------------------
2
+#
3
+# Project created by QtCreator 2014-05-27T16:16:36
4
+#
5
+#-------------------------------------------------
6
+
7
+QT       += core gui
8
+
9
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
10
+
11
+TARGET = NetworkAnalyzer
12
+TEMPLATE = app
13
+
14
+
15
+SOURCES += main.cpp\
16
+        mainwindow.cpp \
17
+    packet.cpp \
18
+    File.cpp \
19
+    Filter.cpp \
20
+    Sort.cpp
21
+
22
+HEADERS  += mainwindow.h \
23
+    packet.h
24
+
25
+FORMS    += mainwindow.ui
26
+
27
+OTHER_FILES += \
28
+    logo.png
29
+
30
+RESOURCES += \
31
+    images.qrc \
32
+    styles.qrc

+ 441
- 0
README.md 查看文件

@@ -0,0 +1,441 @@
1
+[English](#markdown-header-searching-and-sorting-algorithms-network-filter) | [Español](#markdown-header-algoritmos-de-busqueda-y-ordenamiento-filtro-de-red)
2
+
3
+#Algoritmos de búsqueda y ordenamiento - Filtro de Red
4
+
5
+![main1.png](images/main1.png)
6
+![main2.png](images/main2.png)
7
+![main3.png](images/main3.png)
8
+
9
+Dos tareas comunes cuando se trabaja con arreglos de datos son el buscar datos y el organizar los datos usando algún orden, ascendente o descendente, alfabéticamente o numéricamente. Para realizar estas tareas eficientemente se siguen algoritmos de búsqueda y de ordenamiento. Un algoritmo sencillo para hacer búsquedas es el de búsqueda lineal. Dos algoritmos de ordenamiento sencillos y bien conocidos son el ordenamiento de selección (Selection sort) y el ordenamiento por burbujas (Bubble sort). En esta experiencia de laboratorio completarás una aplicación para el monitoreo de flujo de redes para practicar la implementación del algoritmo de búsqueda lineal y algoritmos de búsqueda.
10
+
11
+
12
+##Objetivos:
13
+
14
+1. Implementar una modificación del algoritmo de búsqueda lineal.
15
+
16
+2. Practicar el ordenamiento de arreglos por selección y por método de "burbuja".
17
+
18
+3. Practicar el uso de objetos, estructuras de decisión y repetición.
19
+
20
+4. Aprender algunos métodos de la clase `vector` de C++.
21
+
22
+
23
+##Pre-Lab:
24
+
25
+Antes de llegar al laboratorio debes:
26
+
27
+
28
+1. Repasar los algoritmos de búsqueda lineal, ordenamiento por selección y de burbuja.
29
+
30
+2. Estudiar el método  `size()` de la clase `vector` de C++.
31
+
32
+3. Familiarizarte con los métodos de la clase `Packet` incluida en el archivo `packet.h` del proyecto `NetworkAnalyzer`.
33
+
34
+4. Estudiar los conceptos e instrucciones para la sesión de laboratorio.
35
+
36
+5. Tomar el quiz Pre-Lab que se encuentra en Moodle.
37
+
38
+---
39
+
40
+---
41
+
42
+
43
+##Comunicación entre computadoras
44
+
45
+Las computadoras se comunican por medio del Internet utilizando el *Protocolo de Internet* (IP, por sus siglas en inglés). Cuando una computadora envía información (o mensaje) a otra computadora, la información se envía por *Paquetes de Internet* que contienen la *dirección fuente* ("source address"), que es la dirección de Internet de la computadora que está enviando la información, y la *dirección del destino* ("destination address"), que es dirección de Internet de la computadora que debe recibir el mensaje. Las direcciones de Internet se usan para guiar la información de una computadora a otra, pero, una vez el paquete llega a su destino, ?quién se supone que reciba la información? ?Cuál aplicación debe recibir la información?
46
+
47
+Los paquetes de internet también deben especificar la aplicación que envía la información y la aplicación que debe recibirla. Podemos pensar que las direcciones de Internet son las direcciones de correo de una casa, y que las aplicaciones que envían y reciben la información son las personas que envían y reciben la correspondencia. Para enviar una carta por correo, hay que especificar a qué persona se le está enviando la carta. Esto corresponde a especificar la aplicación que recibe la información. Para identificar la aplicación fuente y la aplicación del destino, el protocolo de Internet usa lo que se conoce como *números de puerto*. De este modo, mirando la información del paquete, se puede identificar las direcciones y puertos de la fuente y del destino.
48
+
49
+Por ejemplo, cuando la computadora que usas en un laboratorio se comunica con el servidor donde se encuentra el programa  Moodle, los paquetes que llevan la información de tu computadora al servidor contienen la dirección de la fuente, que es la computadora del laboratorio, y la dirección del destinatario, que es el servidor de Moodle. El puerto fuente es el de tu buscador web y el puerto destinatario es el del servidor de Moodle.
50
+ 
51
+Las direcciones de internet ocupan 4 bytes (32 bits) y usualmente se presentan al usuario como cadenas de 4 valores decimales. Cada valor decimal entre 0 y 255 es la representación decimal  de uno de los 4 bytes:
52
+ "(0-255).(0-255).(0-255).(0-255)". Algunos ejemplos de direcciones de IP son:
53
+ `10.0.1.10`, `192.168.10.11`, `136.145.54.10`.
54
+
55
+Los números de puertos ocupan 2 bytes (16 bits). Por lo tanto, los valores para los números de puertos van de 0 a 65535. Algunos números de puertos asignados a aplicaciones de servicios conocidos son: 22 para `ssh`, 23 para `telnet`, 25 para `smtp`, 80 para `http`.   
56
+
57
+La aplicación que veremos hoy se puede utilizar para monitorear lo que se conoce como flujo en redes o "NetFlows". Un "NetFlow" se compone al unir los paquetes de una comunicación unidireccional entre las aplicaciones de dos computadoras. Por ejemplo, un "NetFlow" se puede componer de los paquetes usados para enviar la información desde tu buscador web a la aplicación `http` del servidor de Moodle.
58
+
59
+La Figura 1 muestra la interface de la aplicación *Network Analyzer*. 
60
+
61
+---
62
+
63
+![figure1.png](images/figure1.png)
64
+
65
+**Figura 1.** Interface para manejar la aplicación de *Network Analyzer*.
66
+
67
+---
68
+
69
+Cada fila en la tabla de la Figura 1 contendrá un "NetFlow" compuesto de las direcciones de la fuente y del destinatario, los puertos de la fuente y del destinatario, el número de paquetes y el número de octetos (8 bits) en una comunicación unidireccional entre las computadoras fuente y destinataria, desde el puerto fuente al puerto destino. 
70
+
71
+La aplicación que completarás hoy le permitirá al usuario el analizar el estatus de una red. Entre otras cosas, le permitirá:
72
+
73
+* identificar cuáles comunicaciones transmiten la mayor cantidad de datos
74
+* cuáles aplicaciones están corriendo en ciertas computadoras
75
+* cuáles computadoras transmiten grandes cantidades de paquetes comparadas con la cantidad de datos
76
+
77
+
78
+##Bibliotecas
79
+
80
+Para esta experiencia de laboratorio utilizarás objetos de clase `vector`, que se parecen a los arreglos, y necesitarás saber cómo usar el método `size()` de los objetos de clase `vector`. También debes familiarizarte con la biblioteca de la clase `Packet` que se define en este proyecto. La biblioteca `Packet.h` contiene los prototipos de los "setters" y "getters" necesarios para completar la información de un paquete de "NetFlow".
81
+
82
+---
83
+
84
+---
85
+
86
+
87
+##Sesión de laboratorio:
88
+
89
+
90
+La aplicación que completarás hoy le permite al usuario subir un archivo que contenga expedientes de "NetFlow" utilizando el botón "Open NetFlow File", guarda los expedientes en un vector de paquetes, y los despliega en la tabla de contenido del interface de la aplicación como se muestra en la Figura 2.
91
+
92
+---
93
+
94
+![figure2.png](images/figure2.png)
95
+
96
+**Figura 2.** Interface de la aplicación *Network Analyzer* con los paquetes de flujo de datos en una red.
97
+
98
+---
99
+
100
+El archivo que utilizarás para los ejercicios, `network_sample.dat` contiene expedientes de paquetes de "NetFlow" con el siguiente formato:
101
+
102
+
103
+
104
+```
105
+Source_Address Destination_Address Source_Port Destination_Port Octects Packets
106
+```
107
+
108
+
109
+```
110
+136.145.181.130 136.145.181.227 5 33 764 16
111
+136.145.181.101 136.145.181.213 37 40 48 4
112
+136.145.181.151 136.145.181.60 45 21 316 9
113
+136.145.181.165 136.145.181.19 8 39 795 24
114
+136.145.181.53 136.145.181.174 34 21 79 22
115
+136.145.181.40 136.145.181.140 58 22 186 5
116
+136.145.181.33 136.145.181.209 76 25 614 13
117
+136.145.181.175 136.145.181.38 30 39 100 8
118
+136.145.181.126 136.145.181.99 57 33 965 14
119
+```
120
+
121
+
122
+
123
+
124
+###Ejercicio 0: Familiarizarte con la clase `Packet`
125
+
126
+####Instrucciones
127
+
128
+1. Carga a QtCreator el proyecto `NetworkAnalyzer` haciendo doble "click" en el archivo `NetworkAnalyzer.pro` en el directorio `Documents/eip/Sorting-NetworkAnalyzer` de tu computadora. También puedes ir a `http://bitbucket.org/eip-uprrp/sorting-networkanalyzer` para descargar la carpeta `Sorting-NetworkAnalyzer` a tu computadora.
129
+
130
+2. Abre el archivo `packet.cpp`. Estudia los atributos y métodos de la clase `Packet`.
131
+
132
+3. Los datos que maneja la aplicación NetworkAnalyzer están almacenados en un vector de objetos de clase `Packet`. El vector es una clase provista en el “Standard Template Library” de C++ que sirve para almacenar datos u objetos del mismo tipo. Al igual que los arreglos, los vectores asignan un índice (comenzando con el índice 0) a cada elemento que almacenan.  El elemento i-ésimo de un vector `V` se puede acceder usando `V[i]`. La diferencia principal entre vectores y arreglos es que el tamaño de los vectores puede cambiar, no hay que definir un tamaño fijo de antemano como sucede con los arreglos.
133
+
134
+Un método `met` del objeto en la posición `i` en el vector puede accederse escribiendo  `V[i].met()`. El contenido de todos los atributos de un objeto puede asignarse a otro objeto de la misma clase "a la vez". Por ejemplo, puedes asignar el contenido de todos los atributos del objeto en la entrada `k` del vector `V` a los atributos correspondientes del objeto en la entrada `i` del vector `V` escribiendo `V[i]=V[k]`.
135
+
136
+
137
+###Ejercicio 1: Filtrar comunicaciones
138
+
139
+####Instrucciones
140
+
141
+1. Abre el archivo `Filter.cpp`. En este ejercicio completarás las siguientes funciones que están contenidas en este archivo:
142
+
143
+    * `FilterBySrcAddr`
144
+    * `FilterByDstAddr`
145
+    * `FilterBySrcPort`
146
+    * `FilterByDstPort`
147
+
148
+Cada una de estas funciones recibe un vector de objetos de clase `Packet` y una clave de búsqueda. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "filtrar" los paquetes en el vector que correspondan a la clave. Para filtrar estos paquetes usarás una modificación del algoritmo de búsqueda lineal que consiste en hacer una búsqueda secuencial para encontrar todas las ocurrencias de un dato.  En cada función, el algoritmo debe buscar en cada paquete del vector y desactivar los paquetes en los que el contenido del miembro de interés no es igual al de la clave de búsqueda. Para desactivar el paquete usa el método `disable()` de la clase `Packet`. El filtrado consiste en mantener solo los paquetes que corresponden a la clave.
149
+
150
+
151
+Por ejemplo, si estás filtrando por `Source Address` y la clave de búsqueda es 136.145.181.130, la función `FilterBySrcAddr` mantendrá todos los paquetes del vector cuyo `Source Address` es 136.145.181.130 y desactivará todos los otros.
152
+
153
+La siguiente figura es una foto del interface de la aplicación luego de filtrar los datos por `Source Address` con la clave 136.145.181.130.
154
+
155
+---
156
+
157
+![figure3.png](images/figure3.png)
158
+
159
+**Figura 3.** Interface de la aplicación *Network Analyzer* con los paquetes de  flujo de datos en una red filtrados por `Source Address` con clave 136.145.181.130.
160
+
161
+---
162
+
163
+###Ejercicio 2: Ordenar datos
164
+
165
+####Instrucciones
166
+
167
+1. Abre el archivo `Sort.cpp`. En este ejercicio completarás las siguientes funciones que están contenidas en este archivo:
168
+
169
+
170
+    * `SortBySrcAddr`
171
+    * `SortByDstAddr`
172
+    * `SortBySrcPort`
173
+    * `SortByDstPort`
174
+
175
+
176
+    Cada una de esas funciones recibe un vector  de clase `Packet`. Cada función (nota sus nombres) está relacionada a un atributo de la clase `Packet`  y deberá "ordenar" los paquetes del vector de acuerdo al atributo de interés.
177
+
178
+    La siguiente figura es una foto del interface de la aplicación luego de ordenar los datos por `Source Address`.
179
+
180
+    ---
181
+
182
+    ![figure4.png](images/figure4.png)
183
+
184
+    **Figura 4.** Interface de la aplicación *Network Analyzer* con los paquetes de  flujo de datos en una red ordenados por `Source Address`.
185
+
186
+    ---
187
+ 
188
+
189
+2. Completa la función `SortBySrcAddr` implementando el algoritmo de burbuja (*Bubble Sort*), ordenando los paquetes por el `Source address`. 
190
+
191
+3. Completa la función `SortByDstAddr` implementando el algoritmo de selección (*Selection Sort*), ordenando los paquetes por el `Destination address`.
192
+
193
+4. Completa la función `SortBySrcPort` implementando el algoritmo de selección (*Selection Sort*), ordenando los paquetes por el `Source port`.
194
+
195
+5. Completa la función `SortByDstPort` implementando el algoritmo de burbuja (*Bubble Sort*), ordenando los paquetes por el `Destination port`. 
196
+
197
+---
198
+
199
+---
200
+
201
+##Entregas
202
+
203
+1. Utiliza "Entrega 1" en Moodle para entregar el archivo `Filter.cpp` que modificaste en el Ejercicio 1. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
204
+
205
+2. Utiliza "Entrega 2" en Moodle para entregar el archivo `Sort.cpp` que modificaste en el Ejercicio 2. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
206
+
207
+
208
+---
209
+
210
+---
211
+
212
+
213
+## Referencias
214
+
215
+
216
+
217
+[1] http://www.nextgigsystems.com/aggregation_switches/gigamon_filter_packets.html
218
+
219
+[2] http://metaanalytics.org/web-analytics/social-network-analysis/
220
+
221
+[3] http://www.java2novice.com/java-sorting-algorithms/quick-sort/
222
+
223
+[4] http://intranet.deei.fct.ualg.pt/IC/t22.html
224
+
225
+---
226
+
227
+---
228
+
229
+---
230
+
231
+[English](#markdown-header-searching-and-sorting-algorithms-network-filter) | [Español](#markdown-header-algoritmos-de-busqueda-y-ordenamiento-filtro-de-red)
232
+
233
+#Searching and Sorting Algorithms - Network Filter
234
+
235
+![main1.png](images/main1.png)
236
+![main2.png](images/main2.png)
237
+![main3.png](images/main3.png)
238
+
239
+
240
+When working with arrays, two common tasks are searching for data and sorting the data using a certain order, ascending or descending, alphabetically or numerically. To efficiently carry out these tasks, searching and sorting algorithms are used. One simple searching algorithm is linear search. Two well known sorting algorithms are the Selection Sort and the Bubble Sort. In this laboratory experience you will complete an application to monitor network flow to practice the implementation of algorithms for searching and sorting.
241
+
242
+
243
+##Objectives:
244
+
245
+1. Implement a modification of the linear search algorithm.
246
+
247
+2. Practice sorting arrays with the Selection Sort and the Bubble Sort.
248
+
249
+3. Practice the use of objects, decision and repetition structures.
250
+
251
+4. Learn some methods of the C++ `vector` class.
252
+
253
+
254
+##Pre-Lab:
255
+
256
+Before coming to the laboratory session you should have:
257
+
258
+1. Reviewed the algorithms for linear search, Selection Sort and Bubble Sort.
259
+
260
+2. Studied the method `size()` of the C++ `vector` class.
261
+
262
+3. Familiarize yourself with the methods of the `Packet` class included in the `packet.h` file of the `NetworkAnalyzer` project.
263
+
264
+4. Studied the concepts and instructions for the laboratory session.
265
+
266
+5. Taken the Pre-Lab quiz available through the course’s Moodle portal.
267
+
268
+---
269
+
270
+---
271
+
272
+
273
+##Communication between computers
274
+
275
+Computers communicate with each other through the *Internet Protocol* (IP).  When a computer sends information to another computer it is sent via *Internet Packets* that contain the Internet address of the sender computer (*source address*), and the Internet address of the receiving computer (*destination address*). Internet addresses are used to guide information from one computer to another, but, once a packet arrives to its destination, who is supposed to receive the information? Which application should receive the information?
276
+
277
+The internet packets should also specify the application that sends the information and the application that should receive it. We can think that the Internet address are the mailing address of a house, and the applications that send and receive the information are the people that send and receive the correspondence. To send a letter by mail, one must specify to whom the letter is being sent. This corresponds to specify the application that receives the information. To identify the source application and the destination application, the Internet protocol uses what is known as *port numbers*. Looking at the information on the packet, the addresses and ports of the source and destination can be identified.
278
+
279
+
280
+For instance, when your computer in the laboratory is contacting the Moodle server, the packets that carry the information from your computer to the Moodle server contain the source address of the laboratory computer and the destination address of the Moodle server. The source port is the one of your web browser and the destination port is the web server that serves Moodle.
281
+
282
+Internet addresses are stored on 4 bytes (32 bits), normally presented to users as strings of 4 decimal values. Each decimal value between 0 and 255 is the decimal representation of one of the 4 bytes:  "(0-255).(0-255).(0-255).(0-255)". Examples of IP addresses are: `10.0.1.10`, `192.168.10.11`, `136.145.54.10`.
283
+
284
+Port numbers are stored on 2 bytes (16 bits). Therefore, port numbers range from 0 to 65535. Some port numbers assigned to known service applications are: 22 for `ssh`, 23 for `telnet`, 25 `smtp`, 80 for `http`. 
285
+
286
+The application that you will see today can be used to monitor what is known as NetFlows. One NetFlow is composed of the aggregation of the packets of an unidirectional communication between the the applications of two computers. For instance, a NetFlow can be composed of the packets used to send the information from you browser to the `http` application of the web server running Moodle. 
287
+
288
+
289
+Figure 1 shows the interface for the *Network Analyzer* application.
290
+
291
+---
292
+
293
+![figure1.png](images/figure1.png)
294
+
295
+**Figure 1.** Interface to work with the *Network Analyzer* application.
296
+
297
+---
298
+
299
+Each row in the table in Figure 1 is a NetFlow composed of the source and destination address, the source and destination port, the number of packets and the number of octets (8 bits) in one unidirectional communication between the source and destination computer, from the source port to the destination port.
300
+
301
+The application that you will complete gives the user the ability to analyze the status of the network.  Among others it allows to:
302
+
303
+* identify which communications transmit the largests amount of data
304
+* which applications are running in certain computers
305
+* which computers transmit a large amount of packets compared to the amount of data
306
+
307
+##Libraries
308
+
309
+For this laboratory experience you will use objects of class `vector`, which are similar to arrays, and you will need to know how to use the `size()` method of the `vector` class objects. You should also familiarize yourself with the `Packet` class defined in this project. The `Packet.h` library contains the setters and getters necessary to fill the information of a NetFlow packet.
310
+
311
+---
312
+
313
+---
314
+
315
+
316
+##Laboratory Session:
317
+
318
+The application you will complete today allows the user to open a file that contains the NetFlow records using the "Open NetFlow File" button, stores the records in a vector of packets, and displays them in the table of the interface as shown in Figure 2.
319
+
320
+
321
+---
322
+
323
+![figure2.png](images/figure2.png)
324
+
325
+**Figure 2.** Interface or the *Network Analyzer* application with the network flow data packets.
326
+
327
+---
328
+
329
+The file you will use for the exercises, `network_sample.dat`, contains the NetFlow packet records with the following format:
330
+
331
+```
332
+Source_Address Destination_Address Source_Port Destination_Port Octects Packets
333
+```
334
+
335
+
336
+```
337
+136.145.181.130 136.145.181.227 5 33 764 16
338
+136.145.181.101 136.145.181.213 37 40 48 4
339
+136.145.181.151 136.145.181.60 45 21 316 9
340
+136.145.181.165 136.145.181.19 8 39 795 24
341
+136.145.181.53 136.145.181.174 34 21 79 22
342
+136.145.181.40 136.145.181.140 58 22 186 5
343
+136.145.181.33 136.145.181.209 76 25 614 13
344
+136.145.181.175 136.145.181.38 30 39 100 8
345
+136.145.181.126 136.145.181.99 57 33 965 14
346
+```
347
+
348
+###Exercise 0: Familiarize yourself with the `Packet` class.
349
+
350
+####Instructions
351
+
352
+1. Load the Qt project called `NetworkAnalyzer` by double-clicking on the `NetworkAnalyzer.pro` file in the `Documents/eip/Sorting-NetworkAnalyzer` folder of your computer. You may also go to  `http://bitbucket.org/eip-uprrp/sorting-networkanalyzer` to download the `Sorting-NetworkAnalyzer` folder to your computer.
353
+
354
+2. Open the `packet.cpp` file. Study the attributes and methods of the `Packet` class.
355
+
356
+3. The data that the NetworkAnalyzer application manages are stored in a vector of `Packet` objects. The vector is a class provided in the C++ Standard Template Library that stores data and objects of the same type. As with arrays, vectors assign an index (starting with the index 0) to each element they store. The i-th element of a vector `V` can be accessed using `V[i]`. The main difference between vectors and arrays is that the size of vectors can change, a size doesn't have to be defined beforehand, contrary to arrays.
357
+
358
+    A method `met` of the object in position `i` in the vector can be accessed writing `V[i].met()`. The contents of all of the attributes of an object can be assigned to another object of the same class “at once”. For example, you can assign the contents of all of the attributes of the object in the position `k` of the vector `V` the corresponding attributes of the object in the position `i` of the vector `V` by writing `V[i]=V[k]`.
359
+
360
+###Exercise 1: Filter communications
361
+
362
+####Instructions
363
+
364
+1. Open the file `Filter.cpp`. In this exercise you will complete the following functions that can be found in the file:
365
+
366
+* `FilterBySrcAddr`
367
+* `FilterByDstAddr`
368
+* `FilterBySrcPort`
369
+* `FilterByDstPort`
370
+
371
+Each one of the functions receives a vector of objects of class `Packet` and a search key. Each function (notice their names) is related to an attribute of the `Packet` class and should filter the packets in the vector that correspond to the key. To filter these packets you will use a modified version of the linear search algorithm that consists of a sequential search to find each occurrence of a particular record of data. In each of the functions, the algorithm must search through all the packets in the vector and disable the packets that are not equal to the search key. To deactivate the packet use the `disable()` method of the `Packet` class. The filter consists of keeping only the packets that correspond to the key.
372
+
373
+
374
+For instance, if you are filtering by `Source Address` and the search key is 136.145.181.130, the `FilterBySrcAddr` function will keep only the packets in the vector whose `Source Address` is 136.145.181.130 and deactivate the others.
375
+
376
+The following figure is an screenshot of the application interface after filtering the data by `Source Address` with search key 136.145.181.130.
377
+
378
+---
379
+
380
+![figure3.png](images/figure3.png)
381
+
382
+**Figure 3.** Interface of the *Network Analyzer* application with the network flow packets filtered by `Source Address` with the key 136.145.181.130.
383
+
384
+---
385
+
386
+###Exercise 2: Sorting data
387
+
388
+
389
+####Instructions
390
+
391
+1. Open the `Sort.cpp` file. In this exercise you will complete the following functions that can be found in the file:
392
+
393
+* `SortBySrcAddr`
394
+* `SortByDstAddr`
395
+* `SortBySrcPort`
396
+* `SortByDstPort`
397
+
398
+Each one of these functions receives a vector of `Packet` objects. Each function (notice their names) is related to an attribute of the `Packet` class and should order the packets in the vector according to the attribute of interest.
399
+
400
+The following figure is a screenshot of the application interface after sorting the data by `Source Address`.
401
+
402
+---
403
+
404
+![figure4.png](images/figure4.png)
405
+
406
+**Figure 4.** Interface of the *Network Analyzer* application with the network flow packets ordered by `Source Address`.
407
+
408
+---
409
+
410
+
411
+2. Complete the `SortBySrcAddr` function implementing the *Bubble Sort* algorithm, sorting the packets by `source address`.
412
+
413
+3. Complete the `SortByDstAddr` function implementing the *Selection Sort* algorithm, sorting the packets by `destination addres`.
414
+
415
+4. Complete the `SortBySrcPort` function using the *Selection Sort* algorithm, sorting the packets by `source port`.
416
+
417
+5. Complete the `SortByDstPort` function using the *Bubble Sort* algorithm, sorting the packets by `destination port`.
418
+
419
+---
420
+
421
+---
422
+
423
+##Deliverables
424
+
425
+1. Use "Deliverables 1" in Moodle to upload the `Filter.cpp` file that you modified in Exercise 1. Remember to use good programming techniques, include the names of the programmers involved, and to document your program.
426
+
427
+2. Use "Deliverables 2" in Moodle to upload the `Sort.cpp` file that you modified in Exercise 2. Remember to use good programming techniques, include the names of the programmers involved, and to document your program.
428
+
429
+---
430
+
431
+---
432
+
433
+## References
434
+
435
+[1] http://www.nextgigsystems.com/aggregation_switches/gigamon_filter_packets.html
436
+
437
+[2] http://metaanalytics.org/web-analytics/social-network-analysis/
438
+
439
+[3] http://www.java2novice.com/java-sorting-algorithms/quick-sort/
440
+
441
+[4] http://intranet.deei.fct.ualg.pt/IC/t22.html

+ 81
- 0
Sort.cpp 查看文件

@@ -0,0 +1,81 @@
1
+#include <string>
2
+#include <vector>
3
+#include "packet.h"
4
+#include <iostream>
5
+
6
+/// \file
7
+
8
+/// \fn void SortBySrcAddr(vector<Packet> &netdata)
9
+/// \~English
10
+/// \brief Function that sorts by source address
11
+/// the packets in the netflow file using the Bubble sort algorithm.
12
+/// \param netdata  Packet vector that will be sorted.
13
+/// \~Spanish
14
+/// \brief Function que ordena por direccion fuente
15
+/// los paquetes en el archivo de netflows usando el algoritmo de Bubble sort (Burbuja).
16
+/// \param netdata Vector de paquetes a ser ordenado.
17
+void SortBySrcAddr(vector<Packet> &netdata){
18
+
19
+    // Space to implement the Bubble Sort algorithm
20
+   
21
+    
22
+    // YOUR CODE HERE
23
+
24
+
25
+}
26
+
27
+
28
+/// \fn void SortByDstAddr(vector<Packet> &netdata)
29
+/// \~English
30
+/// \brief Function that sorts by destination address
31
+/// the packets in the netflow file using the Selection sort algorithm.
32
+/// \param netdata  Packet vector that will be sorted.
33
+/// \~Spanish
34
+/// \brief Function que ordena por direccion destino
35
+/// los paquetes en el archivo de netflows usando el algoritmo de Selection sort (Seleccion).
36
+/// \param netdata Vector de paquetes a ser ordenado.
37
+void SortByDstAddr(vector<Packet> &netdata){
38
+
39
+    // Space to implement the Selection Sort algorithm
40
+    
41
+    
42
+    // YOUR CODE HERE
43
+
44
+}
45
+
46
+/// \fn void SortBySrcPort(vector<Packet> &netdata)
47
+/// \~English
48
+/// \brief Function that sorts by source port
49
+/// the packets in the netflow file using the Bubble sort algorithm.
50
+/// \param netdata  Packet vector that will be sorted.
51
+/// \~Spanish
52
+/// \brief Function que ordena por puerto fuente
53
+/// los paquetes en el archivo de netflows usando el algoritmo de Selection sort (Burbuja).
54
+/// \param netdata Vector de paquetes a ser ordenado.
55
+void SortBySrcPort(vector<Packet> &netdata){
56
+
57
+    // Space to implement the Selection Sort algorithm
58
+    
59
+    
60
+    // YOUR CODE HERE
61
+    
62
+}
63
+
64
+/// \fn void SortByDstPort(vector<Packet> &netdata)
65
+/// \~English
66
+/// \brief Function that sorts by destination port
67
+/// the packets in the netflow file using the Bubble sort algorithm.
68
+/// \param netdata  Packet vector that will be sorted.
69
+/// \~Spanish
70
+/// \brief Function que ordena por puerto destino
71
+/// los paquetes en el archivo de netflows usando el algoritmo de Bubble sort (Burbuja).
72
+/// \param netdata Vector de paquetes a ser ordenado.
73
+void SortByDstPort(vector<Packet> &netdata){
74
+
75
+    // Space to implement the bubble sort algorithm
76
+    
77
+    
78
+     // YOUR CODE HERE
79
+
80
+
81
+}

+ 184
- 0
doc/en/html/_file_8cpp.html 查看文件

@@ -0,0 +1,184 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File.cpp File Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+<!-- window showing the filter options -->
68
+<div id="MSearchSelectWindow"
69
+     onmouseover="return searchBox.OnSearchSelectShow()"
70
+     onmouseout="return searchBox.OnSearchSelectHide()"
71
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
72
+</div>
73
+
74
+<!-- iframe showing the search results (closed by default) -->
75
+<div id="MSearchResultsWindow">
76
+<iframe src="javascript:void(0)" frameborder="0" 
77
+        name="MSearchResults" id="MSearchResults">
78
+</iframe>
79
+</div>
80
+
81
+</div><!-- top -->
82
+<div class="header">
83
+  <div class="summary">
84
+<a href="#func-members">Functions</a>  </div>
85
+  <div class="headertitle">
86
+<div class="title">File.cpp File Reference</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock"><code>#include &quot;packet.h&quot;</code><br />
90
+<code>#include &lt;string&gt;</code><br />
91
+<code>#include &lt;fstream&gt;</code><br />
92
+<code>#include &lt;vector&gt;</code><br />
93
+</div><table class="memberdecls">
94
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
95
+Functions</h2></td></tr>
96
+<tr class="memitem:a96e719837f9e8411f62b2f2657a584aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa">ReadFile</a> (string fname, vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata)</td></tr>
97
+<tr class="memdesc:a96e719837f9e8411f62b2f2657a584aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that reads a file and return a boolean that determines if the file was succesfully opened and read or not.  <a href="#a96e719837f9e8411f62b2f2657a584aa">More...</a><br /></td></tr>
98
+<tr class="separator:a96e719837f9e8411f62b2f2657a584aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+<tr class="memitem:ac1832c1450b6f14379b397e6f90f3ada"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada">SaveFile</a> (string fname, vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; netdata)</td></tr>
100
+<tr class="memdesc:ac1832c1450b6f14379b397e6f90f3ada"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that saves a file to the computer. It returns true when the file was succesfully saved and false if an error occurred.  <a href="#ac1832c1450b6f14379b397e6f90f3ada">More...</a><br /></td></tr>
101
+<tr class="separator:ac1832c1450b6f14379b397e6f90f3ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+</table>
103
+<h2 class="groupheader">Function Documentation</h2>
104
+<a class="anchor" id="a96e719837f9e8411f62b2f2657a584aa"></a>
105
+<div class="memitem">
106
+<div class="memproto">
107
+      <table class="memname">
108
+        <tr>
109
+          <td class="memname">bool ReadFile </td>
110
+          <td>(</td>
111
+          <td class="paramtype">string&#160;</td>
112
+          <td class="paramname"><em>fname</em>, </td>
113
+        </tr>
114
+        <tr>
115
+          <td class="paramkey"></td>
116
+          <td></td>
117
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
118
+          <td class="paramname"><em>netdata</em>&#160;</td>
119
+        </tr>
120
+        <tr>
121
+          <td></td>
122
+          <td>)</td>
123
+          <td></td><td></td>
124
+        </tr>
125
+      </table>
126
+</div><div class="memdoc">
127
+
128
+<p>Function that reads a file and return a boolean that determines if the file was succesfully opened and read or not. </p>
129
+<dl class="params"><dt>Parameters</dt><dd>
130
+  <table class="params">
131
+    <tr><td class="paramname">fname</td><td>String that contains the filename of the file. </td></tr>
132
+    <tr><td class="paramname">netdata</td><td>Vector of packets. </td></tr>
133
+  </table>
134
+  </dd>
135
+</dl>
136
+<dl class="section return"><dt>Returns</dt><dd>true if successfuly read a file, false otherwise </dd></dl>
137
+
138
+</div>
139
+</div>
140
+<a class="anchor" id="ac1832c1450b6f14379b397e6f90f3ada"></a>
141
+<div class="memitem">
142
+<div class="memproto">
143
+      <table class="memname">
144
+        <tr>
145
+          <td class="memname">bool SaveFile </td>
146
+          <td>(</td>
147
+          <td class="paramtype">string&#160;</td>
148
+          <td class="paramname"><em>fname</em>, </td>
149
+        </tr>
150
+        <tr>
151
+          <td class="paramkey"></td>
152
+          <td></td>
153
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt;&#160;</td>
154
+          <td class="paramname"><em>netdata</em>&#160;</td>
155
+        </tr>
156
+        <tr>
157
+          <td></td>
158
+          <td>)</td>
159
+          <td></td><td></td>
160
+        </tr>
161
+      </table>
162
+</div><div class="memdoc">
163
+
164
+<p>Function that saves a file to the computer. It returns true when the file was succesfully saved and false if an error occurred. </p>
165
+<dl class="params"><dt>Parameters</dt><dd>
166
+  <table class="params">
167
+    <tr><td class="paramname">fname</td><td>String that contains the filename of the file. </td></tr>
168
+    <tr><td class="paramname">netdata</td><td>Vector of packets. </td></tr>
169
+  </table>
170
+  </dd>
171
+</dl>
172
+<dl class="section return"><dt>Returns</dt><dd>true if successfuly read a file, false otherwise </dd></dl>
173
+
174
+</div>
175
+</div>
176
+</div><!-- contents -->
177
+<!-- start footer part -->
178
+<hr class="footer"/><address class="footer"><small>
179
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
180
+<img class="footer" src="doxygen.png" alt="doxygen"/>
181
+</a> 1.8.9.1
182
+</small></address>
183
+</body>
184
+</html>

+ 244
- 0
doc/en/html/_filter_8cpp.html 查看文件

@@ -0,0 +1,244 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Filter.cpp File Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+<!-- window showing the filter options -->
68
+<div id="MSearchSelectWindow"
69
+     onmouseover="return searchBox.OnSearchSelectShow()"
70
+     onmouseout="return searchBox.OnSearchSelectHide()"
71
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
72
+</div>
73
+
74
+<!-- iframe showing the search results (closed by default) -->
75
+<div id="MSearchResultsWindow">
76
+<iframe src="javascript:void(0)" frameborder="0" 
77
+        name="MSearchResults" id="MSearchResults">
78
+</iframe>
79
+</div>
80
+
81
+</div><!-- top -->
82
+<div class="header">
83
+  <div class="summary">
84
+<a href="#func-members">Functions</a>  </div>
85
+  <div class="headertitle">
86
+<div class="title">Filter.cpp File Reference</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock"><code>#include &lt;vector&gt;</code><br />
90
+<code>#include &quot;packet.h&quot;</code><br />
91
+</div><table class="memberdecls">
92
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
93
+Functions</h2></td></tr>
94
+<tr class="memitem:af27aa7e4f067db1d57c18a9b457188bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb">FilterBySrcAddr</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata, string address)</td></tr>
95
+<tr class="separator:af27aa7e4f067db1d57c18a9b457188bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
+<tr class="memitem:a9f395b6c2eb6869a448e665f6a36899b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b">FilterByDstAddr</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata, string address)</td></tr>
97
+<tr class="separator:a9f395b6c2eb6869a448e665f6a36899b"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
+<tr class="memitem:a8526311093aaa2a5ab7181948e197bd3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3">FilterBySrcPort</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata, int port)</td></tr>
99
+<tr class="separator:a8526311093aaa2a5ab7181948e197bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+<tr class="memitem:ac1337ad2421d6cecc4c3537497899eff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff">FilterByDstPort</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata, int port)</td></tr>
101
+<tr class="separator:ac1337ad2421d6cecc4c3537497899eff"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+</table>
103
+<h2 class="groupheader">Function Documentation</h2>
104
+<a class="anchor" id="a9f395b6c2eb6869a448e665f6a36899b"></a>
105
+<div class="memitem">
106
+<div class="memproto">
107
+      <table class="memname">
108
+        <tr>
109
+          <td class="memname">void FilterByDstAddr </td>
110
+          <td>(</td>
111
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
112
+          <td class="paramname"><em>netdata</em>, </td>
113
+        </tr>
114
+        <tr>
115
+          <td class="paramkey"></td>
116
+          <td></td>
117
+          <td class="paramtype">string&#160;</td>
118
+          <td class="paramname"><em>address</em>&#160;</td>
119
+        </tr>
120
+        <tr>
121
+          <td></td>
122
+          <td>)</td>
123
+          <td></td><td></td>
124
+        </tr>
125
+      </table>
126
+</div><div class="memdoc">
127
+<p>Function that filters the packets in the netflow by the destination address </p><dl class="params"><dt>Parameters</dt><dd>
128
+  <table class="params">
129
+    <tr><td class="paramname">netdata</td><td>packets vector </td></tr>
130
+    <tr><td class="paramname">address</td><td>key address to filter </td></tr>
131
+  </table>
132
+  </dd>
133
+</dl>
134
+
135
+</div>
136
+</div>
137
+<a class="anchor" id="ac1337ad2421d6cecc4c3537497899eff"></a>
138
+<div class="memitem">
139
+<div class="memproto">
140
+      <table class="memname">
141
+        <tr>
142
+          <td class="memname">void FilterByDstPort </td>
143
+          <td>(</td>
144
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
145
+          <td class="paramname"><em>netdata</em>, </td>
146
+        </tr>
147
+        <tr>
148
+          <td class="paramkey"></td>
149
+          <td></td>
150
+          <td class="paramtype">int&#160;</td>
151
+          <td class="paramname"><em>port</em>&#160;</td>
152
+        </tr>
153
+        <tr>
154
+          <td></td>
155
+          <td>)</td>
156
+          <td></td><td></td>
157
+        </tr>
158
+      </table>
159
+</div><div class="memdoc">
160
+<p>Function that filters the packets in the netflow by the destination port </p><dl class="params"><dt>Parameters</dt><dd>
161
+  <table class="params">
162
+    <tr><td class="paramname">netdata</td><td>packets vector </td></tr>
163
+    <tr><td class="paramname">port</td><td>key port to filter </td></tr>
164
+  </table>
165
+  </dd>
166
+</dl>
167
+
168
+</div>
169
+</div>
170
+<a class="anchor" id="af27aa7e4f067db1d57c18a9b457188bb"></a>
171
+<div class="memitem">
172
+<div class="memproto">
173
+      <table class="memname">
174
+        <tr>
175
+          <td class="memname">void FilterBySrcAddr </td>
176
+          <td>(</td>
177
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
178
+          <td class="paramname"><em>netdata</em>, </td>
179
+        </tr>
180
+        <tr>
181
+          <td class="paramkey"></td>
182
+          <td></td>
183
+          <td class="paramtype">string&#160;</td>
184
+          <td class="paramname"><em>address</em>&#160;</td>
185
+        </tr>
186
+        <tr>
187
+          <td></td>
188
+          <td>)</td>
189
+          <td></td><td></td>
190
+        </tr>
191
+      </table>
192
+</div><div class="memdoc">
193
+<p>Function that filters the packets in the netflow by the source address </p><dl class="params"><dt>Parameters</dt><dd>
194
+  <table class="params">
195
+    <tr><td class="paramname">netdata</td><td>packets vector </td></tr>
196
+    <tr><td class="paramname">address</td><td>key address to filter </td></tr>
197
+  </table>
198
+  </dd>
199
+</dl>
200
+
201
+</div>
202
+</div>
203
+<a class="anchor" id="a8526311093aaa2a5ab7181948e197bd3"></a>
204
+<div class="memitem">
205
+<div class="memproto">
206
+      <table class="memname">
207
+        <tr>
208
+          <td class="memname">void FilterBySrcPort </td>
209
+          <td>(</td>
210
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
211
+          <td class="paramname"><em>netdata</em>, </td>
212
+        </tr>
213
+        <tr>
214
+          <td class="paramkey"></td>
215
+          <td></td>
216
+          <td class="paramtype">int&#160;</td>
217
+          <td class="paramname"><em>port</em>&#160;</td>
218
+        </tr>
219
+        <tr>
220
+          <td></td>
221
+          <td>)</td>
222
+          <td></td><td></td>
223
+        </tr>
224
+      </table>
225
+</div><div class="memdoc">
226
+<p>Function that filters the packets in the netflow by the source port </p><dl class="params"><dt>Parameters</dt><dd>
227
+  <table class="params">
228
+    <tr><td class="paramname">netdata</td><td>packets vector </td></tr>
229
+    <tr><td class="paramname">port</td><td>key port to filter </td></tr>
230
+  </table>
231
+  </dd>
232
+</dl>
233
+
234
+</div>
235
+</div>
236
+</div><!-- contents -->
237
+<!-- start footer part -->
238
+<hr class="footer"/><address class="footer"><small>
239
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
240
+<img class="footer" src="doxygen.png" alt="doxygen"/>
241
+</a> 1.8.9.1
242
+</small></address>
243
+</body>
244
+</html>

+ 214
- 0
doc/en/html/_sort_8cpp.html 查看文件

@@ -0,0 +1,214 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Sort.cpp File Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+<!-- window showing the filter options -->
68
+<div id="MSearchSelectWindow"
69
+     onmouseover="return searchBox.OnSearchSelectShow()"
70
+     onmouseout="return searchBox.OnSearchSelectHide()"
71
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
72
+</div>
73
+
74
+<!-- iframe showing the search results (closed by default) -->
75
+<div id="MSearchResultsWindow">
76
+<iframe src="javascript:void(0)" frameborder="0" 
77
+        name="MSearchResults" id="MSearchResults">
78
+</iframe>
79
+</div>
80
+
81
+</div><!-- top -->
82
+<div class="header">
83
+  <div class="summary">
84
+<a href="#func-members">Functions</a>  </div>
85
+  <div class="headertitle">
86
+<div class="title">Sort.cpp File Reference</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock"><code>#include &lt;string&gt;</code><br />
90
+<code>#include &lt;vector&gt;</code><br />
91
+<code>#include &quot;packet.h&quot;</code><br />
92
+<code>#include &lt;iostream&gt;</code><br />
93
+</div><table class="memberdecls">
94
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
95
+Functions</h2></td></tr>
96
+<tr class="memitem:ad2fc2c965f1b9dba889b6f7435c8ffe4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4">SortBySrcAddr</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata)</td></tr>
97
+<tr class="memdesc:ad2fc2c965f1b9dba889b6f7435c8ffe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that sorts by source address the packets in the netflow file using the Bubble sort algorithm.  <a href="#ad2fc2c965f1b9dba889b6f7435c8ffe4">More...</a><br /></td></tr>
98
+<tr class="separator:ad2fc2c965f1b9dba889b6f7435c8ffe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+<tr class="memitem:a3965d0285c20667ca88fe8462fd73d06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06">SortByDstAddr</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata)</td></tr>
100
+<tr class="memdesc:a3965d0285c20667ca88fe8462fd73d06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that sorts by destination address the packets in the netflow file using the Selection sort algorithm.  <a href="#a3965d0285c20667ca88fe8462fd73d06">More...</a><br /></td></tr>
101
+<tr class="separator:a3965d0285c20667ca88fe8462fd73d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+<tr class="memitem:a15775a2c4ca51ad037d87b15c7b67bf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0">SortBySrcPort</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata)</td></tr>
103
+<tr class="memdesc:a15775a2c4ca51ad037d87b15c7b67bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that sorts by source port the packets in the netflow file using the Bubble sort algorithm.  <a href="#a15775a2c4ca51ad037d87b15c7b67bf0">More...</a><br /></td></tr>
104
+<tr class="separator:a15775a2c4ca51ad037d87b15c7b67bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
105
+<tr class="memitem:a529786e870ea5cb7f83637588eb002a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1">SortByDstPort</a> (vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;netdata)</td></tr>
106
+<tr class="memdesc:a529786e870ea5cb7f83637588eb002a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that sorts by destination port the packets in the netflow file using the Bubble sort algorithm.  <a href="#a529786e870ea5cb7f83637588eb002a1">More...</a><br /></td></tr>
107
+<tr class="separator:a529786e870ea5cb7f83637588eb002a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
+</table>
109
+<h2 class="groupheader">Function Documentation</h2>
110
+<a class="anchor" id="a3965d0285c20667ca88fe8462fd73d06"></a>
111
+<div class="memitem">
112
+<div class="memproto">
113
+      <table class="memname">
114
+        <tr>
115
+          <td class="memname">void SortByDstAddr </td>
116
+          <td>(</td>
117
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
118
+          <td class="paramname"><em>netdata</em></td><td>)</td>
119
+          <td></td>
120
+        </tr>
121
+      </table>
122
+</div><div class="memdoc">
123
+
124
+<p>Function that sorts by destination address the packets in the netflow file using the Selection sort algorithm. </p>
125
+<dl class="params"><dt>Parameters</dt><dd>
126
+  <table class="params">
127
+    <tr><td class="paramname">netdata</td><td><a class="el" href="class_packet.html" title="A class to represent packets. ">Packet</a> vector that will be sorted. </td></tr>
128
+  </table>
129
+  </dd>
130
+</dl>
131
+
132
+</div>
133
+</div>
134
+<a class="anchor" id="a529786e870ea5cb7f83637588eb002a1"></a>
135
+<div class="memitem">
136
+<div class="memproto">
137
+      <table class="memname">
138
+        <tr>
139
+          <td class="memname">void SortByDstPort </td>
140
+          <td>(</td>
141
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
142
+          <td class="paramname"><em>netdata</em></td><td>)</td>
143
+          <td></td>
144
+        </tr>
145
+      </table>
146
+</div><div class="memdoc">
147
+
148
+<p>Function that sorts by destination port the packets in the netflow file using the Bubble sort algorithm. </p>
149
+<dl class="params"><dt>Parameters</dt><dd>
150
+  <table class="params">
151
+    <tr><td class="paramname">netdata</td><td><a class="el" href="class_packet.html" title="A class to represent packets. ">Packet</a> vector that will be sorted. </td></tr>
152
+  </table>
153
+  </dd>
154
+</dl>
155
+
156
+</div>
157
+</div>
158
+<a class="anchor" id="ad2fc2c965f1b9dba889b6f7435c8ffe4"></a>
159
+<div class="memitem">
160
+<div class="memproto">
161
+      <table class="memname">
162
+        <tr>
163
+          <td class="memname">void SortBySrcAddr </td>
164
+          <td>(</td>
165
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
166
+          <td class="paramname"><em>netdata</em></td><td>)</td>
167
+          <td></td>
168
+        </tr>
169
+      </table>
170
+</div><div class="memdoc">
171
+
172
+<p>Function that sorts by source address the packets in the netflow file using the Bubble sort algorithm. </p>
173
+<dl class="params"><dt>Parameters</dt><dd>
174
+  <table class="params">
175
+    <tr><td class="paramname">netdata</td><td><a class="el" href="class_packet.html" title="A class to represent packets. ">Packet</a> vector that will be sorted. </td></tr>
176
+  </table>
177
+  </dd>
178
+</dl>
179
+
180
+</div>
181
+</div>
182
+<a class="anchor" id="a15775a2c4ca51ad037d87b15c7b67bf0"></a>
183
+<div class="memitem">
184
+<div class="memproto">
185
+      <table class="memname">
186
+        <tr>
187
+          <td class="memname">void SortBySrcPort </td>
188
+          <td>(</td>
189
+          <td class="paramtype">vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt; &amp;&#160;</td>
190
+          <td class="paramname"><em>netdata</em></td><td>)</td>
191
+          <td></td>
192
+        </tr>
193
+      </table>
194
+</div><div class="memdoc">
195
+
196
+<p>Function that sorts by source port the packets in the netflow file using the Bubble sort algorithm. </p>
197
+<dl class="params"><dt>Parameters</dt><dd>
198
+  <table class="params">
199
+    <tr><td class="paramname">netdata</td><td><a class="el" href="class_packet.html" title="A class to represent packets. ">Packet</a> vector that will be sorted. </td></tr>
200
+  </table>
201
+  </dd>
202
+</dl>
203
+
204
+</div>
205
+</div>
206
+</div><!-- contents -->
207
+<!-- start footer part -->
208
+<hr class="footer"/><address class="footer"><small>
209
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
210
+<img class="footer" src="doxygen.png" alt="doxygen"/>
211
+</a> 1.8.9.1
212
+</small></address>
213
+</body>
214
+</html>

+ 103
- 0
doc/en/html/annotated.html 查看文件

@@ -0,0 +1,103 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class List</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
90
+<table class="directory">
91
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc"></td></tr>
92
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_packet.html" target="_self">Packet</a></td><td class="desc">A class to represent packets </td></tr>
93
+</table>
94
+</div><!-- directory -->
95
+</div><!-- contents -->
96
+<!-- start footer part -->
97
+<hr class="footer"/><address class="footer"><small>
98
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
99
+<img class="footer" src="doxygen.png" alt="doxygen"/>
100
+</a> 1.8.9.1
101
+</small></address>
102
+</body>
103
+</html>

二進制
doc/en/html/arrowdown.png 查看文件


二進制
doc/en/html/arrowright.png 查看文件


二進制
doc/en/html/bc_s.png 查看文件


二進制
doc/en/html/bdwn.png 查看文件


+ 118
- 0
doc/en/html/class_main_window-members.html 查看文件

@@ -0,0 +1,118 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Member List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">MainWindow Member List</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+
90
+<p>This is the complete list of members for <a class="el" href="class_main_window.html">MainWindow</a>, including all inherited members.</p>
91
+<table class="directory">
92
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a683f392a1a8defb98890ee7839fc36e9">FillTable</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
93
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>filterMethod</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
94
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>item</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
95
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>(QWidget *parent=0)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
96
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>netdata</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
97
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>numOctects</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
98
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>numPackets</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
99
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f">on_actionAbout_triggered</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
100
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb">on_actionExit_triggered</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
101
+  <tr><td class="entry"><a class="el" href="class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8">on_actionLoad_Network_Data_triggered</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
102
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09">on_clearButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
103
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a">on_Filter_Box_currentIndexChanged</a>(int index)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
104
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ad157e69c40c80314586029f2a7c5e549">on_openFile_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
105
+  <tr><td class="entry"><a class="el" href="class_main_window.html#aad306460c28905c974d8e58e08397f99">on_runFilter_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
106
+  <tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ab3e951300c848b088b3879ebc8795366">on_saveFile_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
107
+  <tr><td class="entry"><a class="el" href="class_main_window.html#a61c4e49fee19b65db919ba88847dda14">on_sortButton_clicked</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
108
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ui</b> (defined in <a class="el" href="class_main_window.html">MainWindow</a>)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
109
+  <tr><td class="entry"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
110
+</table></div><!-- contents -->
111
+<!-- start footer part -->
112
+<hr class="footer"/><address class="footer"><small>
113
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
114
+<img class="footer" src="doxygen.png" alt="doxygen"/>
115
+</a> 1.8.9.1
116
+</small></address>
117
+</body>
118
+</html>

+ 190
- 0
doc/en/html/class_main_window.html 查看文件

@@ -0,0 +1,190 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: MainWindow Class Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="summary">
86
+<a href="#pub-methods">Public Member Functions</a> &#124;
87
+<a href="#pri-slots">Private Slots</a> &#124;
88
+<a href="#pri-attribs">Private Attributes</a> &#124;
89
+<a href="class_main_window-members.html">List of all members</a>  </div>
90
+  <div class="headertitle">
91
+<div class="title">MainWindow Class Reference</div>  </div>
92
+</div><!--header-->
93
+<div class="contents">
94
+<div class="dynheader">
95
+Inheritance diagram for MainWindow:</div>
96
+<div class="dyncontent">
97
+ <div class="center">
98
+  <img src="class_main_window.png" usemap="#MainWindow_map" alt=""/>
99
+  <map id="MainWindow_map" name="MainWindow_map">
100
+</map>
101
+ </div></div>
102
+<table class="memberdecls">
103
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
104
+Public Member Functions</h2></td></tr>
105
+<tr class="memitem:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b244be8b7b7db1b08de2a2acb9409db"></a>
106
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a> (QWidget *parent=0)</td></tr>
107
+<tr class="memdesc:a8b244be8b7b7db1b08de2a2acb9409db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
108
+<tr class="separator:a8b244be8b7b7db1b08de2a2acb9409db"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+<tr class="memitem:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae98d00a93bc118200eeef9f9bba1dba7"></a>
110
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">~MainWindow</a> ()</td></tr>
111
+<tr class="memdesc:ae98d00a93bc118200eeef9f9bba1dba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
112
+<tr class="separator:ae98d00a93bc118200eeef9f9bba1dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+</table><table class="memberdecls">
114
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
115
+Private Slots</h2></td></tr>
116
+<tr class="memitem:a30fc96d8024d5afa7127c6cf440acb6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30fc96d8024d5afa7127c6cf440acb6a"></a>
117
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a">on_Filter_Box_currentIndexChanged</a> (int index)</td></tr>
118
+<tr class="memdesc:a30fc96d8024d5afa7127c6cf440acb6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the ID of the filtering function chosen by the user. <br /></td></tr>
119
+<tr class="separator:a30fc96d8024d5afa7127c6cf440acb6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
+<tr class="memitem:aa10532679b9fbb9e6533cc3be2d709a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa10532679b9fbb9e6533cc3be2d709a8"></a>
121
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8">on_actionLoad_Network_Data_triggered</a> ()</td></tr>
122
+<tr class="memdesc:aa10532679b9fbb9e6533cc3be2d709a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a network flow file into the GUI. <br /></td></tr>
123
+<tr class="separator:aa10532679b9fbb9e6533cc3be2d709a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
+<tr class="memitem:a4f3ebda1ba39e0ef4d678b44893c9c7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f3ebda1ba39e0ef4d678b44893c9c7f"></a>
125
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f">on_actionAbout_triggered</a> ()</td></tr>
126
+<tr class="memdesc:a4f3ebda1ba39e0ef4d678b44893c9c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Displays a short about of the app. <br /></td></tr>
127
+<tr class="separator:a4f3ebda1ba39e0ef4d678b44893c9c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+<tr class="memitem:ab4487c4b02224acd4a0193d38b704ddb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4487c4b02224acd4a0193d38b704ddb"></a>
129
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb">on_actionExit_triggered</a> ()</td></tr>
130
+<tr class="memdesc:ab4487c4b02224acd4a0193d38b704ddb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits the app. <br /></td></tr>
131
+<tr class="separator:ab4487c4b02224acd4a0193d38b704ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
132
+<tr class="memitem:a683f392a1a8defb98890ee7839fc36e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a683f392a1a8defb98890ee7839fc36e9"></a>
133
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a683f392a1a8defb98890ee7839fc36e9">FillTable</a> ()</td></tr>
134
+<tr class="memdesc:a683f392a1a8defb98890ee7839fc36e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refresh the GUI packet list. <br /></td></tr>
135
+<tr class="separator:a683f392a1a8defb98890ee7839fc36e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
+<tr class="memitem:aad306460c28905c974d8e58e08397f99"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad306460c28905c974d8e58e08397f99"></a>
137
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#aad306460c28905c974d8e58e08397f99">on_runFilter_clicked</a> ()</td></tr>
138
+<tr class="memdesc:aad306460c28905c974d8e58e08397f99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invokes a filtering funtion that filter by the field chosen by the user. <br /></td></tr>
139
+<tr class="separator:aad306460c28905c974d8e58e08397f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
140
+<tr class="memitem:a61c4e49fee19b65db919ba88847dda14"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61c4e49fee19b65db919ba88847dda14"></a>
141
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a61c4e49fee19b65db919ba88847dda14">on_sortButton_clicked</a> ()</td></tr>
142
+<tr class="memdesc:a61c4e49fee19b65db919ba88847dda14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invokes a sorting funtion that sorts by the field chosen by the user. <br /></td></tr>
143
+<tr class="separator:a61c4e49fee19b65db919ba88847dda14"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
+<tr class="memitem:ad157e69c40c80314586029f2a7c5e549"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad157e69c40c80314586029f2a7c5e549"></a>
145
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ad157e69c40c80314586029f2a7c5e549">on_openFile_clicked</a> ()</td></tr>
146
+<tr class="memdesc:ad157e69c40c80314586029f2a7c5e549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a file network flow packets. <br /></td></tr>
147
+<tr class="separator:ad157e69c40c80314586029f2a7c5e549"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
+<tr class="memitem:ab3e951300c848b088b3879ebc8795366"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3e951300c848b088b3879ebc8795366"></a>
149
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#ab3e951300c848b088b3879ebc8795366">on_saveFile_clicked</a> ()</td></tr>
150
+<tr class="memdesc:ab3e951300c848b088b3879ebc8795366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the network packets as appears in the window. <br /></td></tr>
151
+<tr class="separator:ab3e951300c848b088b3879ebc8795366"><td class="memSeparator" colspan="2">&#160;</td></tr>
152
+<tr class="memitem:a112c4dec1d0a8c15b019f77530f8bd09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a112c4dec1d0a8c15b019f77530f8bd09"></a>
153
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09">on_clearButton_clicked</a> ()</td></tr>
154
+<tr class="memdesc:a112c4dec1d0a8c15b019f77530f8bd09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes any applied filter to the list of packets. <br /></td></tr>
155
+<tr class="separator:a112c4dec1d0a8c15b019f77530f8bd09"><td class="memSeparator" colspan="2">&#160;</td></tr>
156
+</table><table class="memberdecls">
157
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
158
+Private Attributes</h2></td></tr>
159
+<tr class="memitem:ad42d834b29963af24ef3b3594b5f279b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad42d834b29963af24ef3b3594b5f279b"></a>
160
+int&#160;</td><td class="memItemRight" valign="bottom"><b>numPackets</b></td></tr>
161
+<tr class="separator:ad42d834b29963af24ef3b3594b5f279b"><td class="memSeparator" colspan="2">&#160;</td></tr>
162
+<tr class="memitem:a25164cdc1ab6e97e071314701f37c610"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25164cdc1ab6e97e071314701f37c610"></a>
163
+int&#160;</td><td class="memItemRight" valign="bottom"><b>numOctects</b></td></tr>
164
+<tr class="separator:a25164cdc1ab6e97e071314701f37c610"><td class="memSeparator" colspan="2">&#160;</td></tr>
165
+<tr class="memitem:a69cf91f07a2eaffaa8e16671abb9620a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69cf91f07a2eaffaa8e16671abb9620a"></a>
166
+int&#160;</td><td class="memItemRight" valign="bottom"><b>filterMethod</b></td></tr>
167
+<tr class="separator:a69cf91f07a2eaffaa8e16671abb9620a"><td class="memSeparator" colspan="2">&#160;</td></tr>
168
+<tr class="memitem:a5456650fa43bdf36b25e50d4bc1fbafc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5456650fa43bdf36b25e50d4bc1fbafc"></a>
169
+vector&lt; <a class="el" href="class_packet.html">Packet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>netdata</b></td></tr>
170
+<tr class="separator:a5456650fa43bdf36b25e50d4bc1fbafc"><td class="memSeparator" colspan="2">&#160;</td></tr>
171
+<tr class="memitem:a0080c1256cf6539de46823a8a7f2ed97"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0080c1256cf6539de46823a8a7f2ed97"></a>
172
+QTableWidgetItem *&#160;</td><td class="memItemRight" valign="bottom"><b>item</b></td></tr>
173
+<tr class="separator:a0080c1256cf6539de46823a8a7f2ed97"><td class="memSeparator" colspan="2">&#160;</td></tr>
174
+<tr class="memitem:a35466a70ed47252a0191168126a352a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35466a70ed47252a0191168126a352a5"></a>
175
+Ui::MainWindow *&#160;</td><td class="memItemRight" valign="bottom"><b>ui</b></td></tr>
176
+<tr class="separator:a35466a70ed47252a0191168126a352a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
177
+</table>
178
+<hr/>The documentation for this class was generated from the following files:<ul>
179
+<li><a class="el" href="mainwindow_8h_source.html">mainwindow.h</a></li>
180
+<li>mainwindow.cpp</li>
181
+</ul>
182
+</div><!-- contents -->
183
+<!-- start footer part -->
184
+<hr class="footer"/><address class="footer"><small>
185
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
186
+<img class="footer" src="doxygen.png" alt="doxygen"/>
187
+</a> 1.8.9.1
188
+</small></address>
189
+</body>
190
+</html>

二進制
doc/en/html/class_main_window.png 查看文件


+ 124
- 0
doc/en/html/class_packet-members.html 查看文件

@@ -0,0 +1,124 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Member List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Packet Member List</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+
90
+<p>This is the complete list of members for <a class="el" href="class_packet.html">Packet</a>, including all inherited members.</p>
91
+<table class="directory">
92
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2">disable</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
93
+  <tr><td class="entry"><a class="el" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">dst_addr</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
94
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">dst_port</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
95
+  <tr><td class="entry"><a class="el" href="class_packet.html#a5b57162c18731c0186027f450670d14e">enable</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
96
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">enabled</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
97
+  <tr><td class="entry"><a class="el" href="class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0">getDstAddr</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
98
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5">getDstPort</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
99
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>getOctects</b>() (defined in <a class="el" href="class_packet.html">Packet</a>)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
100
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a6ee74fd953f6d57d56e48a596d897f05">getPackets</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
101
+  <tr><td class="entry"><a class="el" href="class_packet.html#a3e9aed01edd0023e97276041894c5c1f">getSrcAddr</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
102
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f">getSrcPort</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
103
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>isEnabled</b>() (defined in <a class="el" href="class_packet.html">Packet</a>)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
104
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">octects</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
105
+  <tr><td class="entry"><a class="el" href="class_packet.html#aabcfb963c0d5bc0fa554668f92989622">Packet</a>()</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
106
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a46516634a765e6fea19a4df08406adc8">Packet</a>(string, string, int, int, int, int)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
107
+  <tr><td class="entry"><a class="el" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">packets</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
108
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c">setDstAddr</a>(string)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
109
+  <tr><td class="entry"><a class="el" href="class_packet.html#ab51c81cc6958913652b3fe5316ec6af3">setDstPort</a>(int)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
110
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setOctects</b>(int) (defined in <a class="el" href="class_packet.html">Packet</a>)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
111
+  <tr><td class="entry"><a class="el" href="class_packet.html#acfb4620179dba167031a8e8b1cad0c25">setPackets</a>(int)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
112
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#a8c939968eb35f357884900bf8794a3d7">setSrcAddr</a>(string)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
113
+  <tr><td class="entry"><a class="el" href="class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807">setSrcPort</a>(int)</td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"></td></tr>
114
+  <tr class="even"><td class="entry"><a class="el" href="class_packet.html#ad22856878226959be10e1a024e3446cc">src_addr</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
115
+  <tr><td class="entry"><a class="el" href="class_packet.html#a191dd835177b18f84fd64596249008cc">src_port</a></td><td class="entry"><a class="el" href="class_packet.html">Packet</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
116
+</table></div><!-- contents -->
117
+<!-- start footer part -->
118
+<hr class="footer"/><address class="footer"><small>
119
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
120
+<img class="footer" src="doxygen.png" alt="doxygen"/>
121
+</a> 1.8.9.1
122
+</small></address>
123
+</body>
124
+</html>

+ 636
- 0
doc/en/html/class_packet.html 查看文件

@@ -0,0 +1,636 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Packet Class Reference</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+<!-- window showing the filter options -->
70
+<div id="MSearchSelectWindow"
71
+     onmouseover="return searchBox.OnSearchSelectShow()"
72
+     onmouseout="return searchBox.OnSearchSelectHide()"
73
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
74
+</div>
75
+
76
+<!-- iframe showing the search results (closed by default) -->
77
+<div id="MSearchResultsWindow">
78
+<iframe src="javascript:void(0)" frameborder="0" 
79
+        name="MSearchResults" id="MSearchResults">
80
+</iframe>
81
+</div>
82
+
83
+</div><!-- top -->
84
+<div class="header">
85
+  <div class="summary">
86
+<a href="#pub-methods">Public Member Functions</a> &#124;
87
+<a href="#pri-attribs">Private Attributes</a> &#124;
88
+<a href="class_packet-members.html">List of all members</a>  </div>
89
+  <div class="headertitle">
90
+<div class="title">Packet Class Reference</div>  </div>
91
+</div><!--header-->
92
+<div class="contents">
93
+
94
+<p>A class to represent packets.  
95
+ <a href="class_packet.html#details">More...</a></p>
96
+
97
+<p><code>#include &lt;<a class="el" href="packet_8h_source.html">packet.h</a>&gt;</code></p>
98
+<table class="memberdecls">
99
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
100
+Public Member Functions</h2></td></tr>
101
+<tr class="memitem:aabcfb963c0d5bc0fa554668f92989622"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#aabcfb963c0d5bc0fa554668f92989622">Packet</a> ()</td></tr>
102
+<tr class="memdesc:aabcfb963c0d5bc0fa554668f92989622"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. The properties of the packet are set as follows:  <a href="#aabcfb963c0d5bc0fa554668f92989622">More...</a><br /></td></tr>
103
+<tr class="separator:aabcfb963c0d5bc0fa554668f92989622"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+<tr class="memitem:a46516634a765e6fea19a4df08406adc8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a46516634a765e6fea19a4df08406adc8">Packet</a> (string, string, int, int, int, int)</td></tr>
105
+<tr class="memdesc:a46516634a765e6fea19a4df08406adc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor which accepts specification for sa(src_addr), da(dst_addr), sp(src_port), dp(dst_port), oct(octects) and pkt(packets)  <a href="#a46516634a765e6fea19a4df08406adc8">More...</a><br /></td></tr>
106
+<tr class="separator:a46516634a765e6fea19a4df08406adc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+<tr class="memitem:a3e9aed01edd0023e97276041894c5c1f"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a3e9aed01edd0023e97276041894c5c1f">getSrcAddr</a> ()</td></tr>
108
+<tr class="memdesc:a3e9aed01edd0023e97276041894c5c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the source addr.  <a href="#a3e9aed01edd0023e97276041894c5c1f">More...</a><br /></td></tr>
109
+<tr class="separator:a3e9aed01edd0023e97276041894c5c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+<tr class="memitem:a092161eb22c1ff6ffa2eb9961d3868b0"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0">getDstAddr</a> ()</td></tr>
111
+<tr class="memdesc:a092161eb22c1ff6ffa2eb9961d3868b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the destination addr.  <a href="#a092161eb22c1ff6ffa2eb9961d3868b0">More...</a><br /></td></tr>
112
+<tr class="separator:a092161eb22c1ff6ffa2eb9961d3868b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+<tr class="memitem:acf4fbcd48861393cbc96c6aeb9e5846f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f">getSrcPort</a> ()</td></tr>
114
+<tr class="memdesc:acf4fbcd48861393cbc96c6aeb9e5846f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the source port.  <a href="#acf4fbcd48861393cbc96c6aeb9e5846f">More...</a><br /></td></tr>
115
+<tr class="separator:acf4fbcd48861393cbc96c6aeb9e5846f"><td class="memSeparator" colspan="2">&#160;</td></tr>
116
+<tr class="memitem:a92347c94882b6e5b3209cc70ea0d77b5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5">getDstPort</a> ()</td></tr>
117
+<tr class="memdesc:a92347c94882b6e5b3209cc70ea0d77b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the destination port.  <a href="#a92347c94882b6e5b3209cc70ea0d77b5">More...</a><br /></td></tr>
118
+<tr class="separator:a92347c94882b6e5b3209cc70ea0d77b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+<tr class="memitem:acd8d06afbd5a289a8b92e02d0cf72cc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd8d06afbd5a289a8b92e02d0cf72cc1"></a>
120
+int&#160;</td><td class="memItemRight" valign="bottom"><b>getOctects</b> ()</td></tr>
121
+<tr class="separator:acd8d06afbd5a289a8b92e02d0cf72cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
122
+<tr class="memitem:a6ee74fd953f6d57d56e48a596d897f05"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a6ee74fd953f6d57d56e48a596d897f05">getPackets</a> ()</td></tr>
123
+<tr class="memdesc:a6ee74fd953f6d57d56e48a596d897f05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getter for the packets.  <a href="#a6ee74fd953f6d57d56e48a596d897f05">More...</a><br /></td></tr>
124
+<tr class="separator:a6ee74fd953f6d57d56e48a596d897f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+<tr class="memitem:a8c939968eb35f357884900bf8794a3d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a8c939968eb35f357884900bf8794a3d7">setSrcAddr</a> (string)</td></tr>
126
+<tr class="memdesc:a8c939968eb35f357884900bf8794a3d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the src_addr.  <a href="#a8c939968eb35f357884900bf8794a3d7">More...</a><br /></td></tr>
127
+<tr class="separator:a8c939968eb35f357884900bf8794a3d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
128
+<tr class="memitem:acaa3e1703fe14b9a39d4c4426453e65c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c">setDstAddr</a> (string)</td></tr>
129
+<tr class="memdesc:acaa3e1703fe14b9a39d4c4426453e65c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the destination addr.  <a href="#acaa3e1703fe14b9a39d4c4426453e65c">More...</a><br /></td></tr>
130
+<tr class="separator:acaa3e1703fe14b9a39d4c4426453e65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
+<tr class="memitem:a9844970ffe7eb2ecf6e2407a39f04807"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807">setSrcPort</a> (int)</td></tr>
132
+<tr class="memdesc:a9844970ffe7eb2ecf6e2407a39f04807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the source port.  <a href="#a9844970ffe7eb2ecf6e2407a39f04807">More...</a><br /></td></tr>
133
+<tr class="separator:a9844970ffe7eb2ecf6e2407a39f04807"><td class="memSeparator" colspan="2">&#160;</td></tr>
134
+<tr class="memitem:ab51c81cc6958913652b3fe5316ec6af3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#ab51c81cc6958913652b3fe5316ec6af3">setDstPort</a> (int)</td></tr>
135
+<tr class="memdesc:ab51c81cc6958913652b3fe5316ec6af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the destination port.  <a href="#ab51c81cc6958913652b3fe5316ec6af3">More...</a><br /></td></tr>
136
+<tr class="separator:ab51c81cc6958913652b3fe5316ec6af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
+<tr class="memitem:adc6e90455b92f776ec7583d5e62b50d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc6e90455b92f776ec7583d5e62b50d7"></a>
138
+void&#160;</td><td class="memItemRight" valign="bottom"><b>setOctects</b> (int)</td></tr>
139
+<tr class="separator:adc6e90455b92f776ec7583d5e62b50d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
140
+<tr class="memitem:acfb4620179dba167031a8e8b1cad0c25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#acfb4620179dba167031a8e8b1cad0c25">setPackets</a> (int)</td></tr>
141
+<tr class="memdesc:acfb4620179dba167031a8e8b1cad0c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter for the packets value.  <a href="#acfb4620179dba167031a8e8b1cad0c25">More...</a><br /></td></tr>
142
+<tr class="separator:acfb4620179dba167031a8e8b1cad0c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
143
+<tr class="memitem:a5b57162c18731c0186027f450670d14e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b57162c18731c0186027f450670d14e"></a>
144
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a5b57162c18731c0186027f450670d14e">enable</a> ()</td></tr>
145
+<tr class="memdesc:a5b57162c18731c0186027f450670d14e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets that the packet is enabled to be displayed in GUI. <br /></td></tr>
146
+<tr class="separator:a5b57162c18731c0186027f450670d14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
+<tr class="memitem:a0c16d1f66f1fd8c99e9e760cf2ce07f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c16d1f66f1fd8c99e9e760cf2ce07f2"></a>
148
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2">disable</a> ()</td></tr>
149
+<tr class="memdesc:a0c16d1f66f1fd8c99e9e760cf2ce07f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets that the packet is disabled to be displayed in GUI. <br /></td></tr>
150
+<tr class="separator:a0c16d1f66f1fd8c99e9e760cf2ce07f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
+<tr class="memitem:a3c92559f89a09cd5790e8ab5171b509f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c92559f89a09cd5790e8ab5171b509f"></a>
152
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>isEnabled</b> ()</td></tr>
153
+<tr class="separator:a3c92559f89a09cd5790e8ab5171b509f"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
+</table><table class="memberdecls">
155
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
156
+Private Attributes</h2></td></tr>
157
+<tr class="memitem:ad22856878226959be10e1a024e3446cc"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#ad22856878226959be10e1a024e3446cc">src_addr</a></td></tr>
158
+<tr class="separator:ad22856878226959be10e1a024e3446cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
159
+<tr class="memitem:a4a1c8c11292c6116e393245fbfad00b7"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">dst_addr</a></td></tr>
160
+<tr class="separator:a4a1c8c11292c6116e393245fbfad00b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
161
+<tr class="memitem:a191dd835177b18f84fd64596249008cc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a191dd835177b18f84fd64596249008cc">src_port</a></td></tr>
162
+<tr class="separator:a191dd835177b18f84fd64596249008cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
+<tr class="memitem:ae8a78379783d1a2795318ca9118e77e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">dst_port</a></td></tr>
164
+<tr class="separator:ae8a78379783d1a2795318ca9118e77e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
165
+<tr class="memitem:a3dfcef408535f5e7ecdb3ef6bc3e9654"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">octects</a></td></tr>
166
+<tr class="separator:a3dfcef408535f5e7ecdb3ef6bc3e9654"><td class="memSeparator" colspan="2">&#160;</td></tr>
167
+<tr class="memitem:abe4ea1613634961b78de7c609b1f0c75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">packets</a></td></tr>
168
+<tr class="separator:abe4ea1613634961b78de7c609b1f0c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
169
+<tr class="memitem:a72dbd5f3d8e2f802ebb4173c64495cda"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">enabled</a></td></tr>
170
+<tr class="separator:a72dbd5f3d8e2f802ebb4173c64495cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
171
+</table>
172
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
173
+<div class="textblock"><p>A class to represent packets. </p>
174
+<p>The class contains two constructurs and various functions for searching and filtering network flow packets. </p>
175
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
176
+<a class="anchor" id="aabcfb963c0d5bc0fa554668f92989622"></a>
177
+<div class="memitem">
178
+<div class="memproto">
179
+      <table class="memname">
180
+        <tr>
181
+          <td class="memname">Packet::Packet </td>
182
+          <td>(</td>
183
+          <td class="paramname"></td><td>)</td>
184
+          <td></td>
185
+        </tr>
186
+      </table>
187
+</div><div class="memdoc">
188
+
189
+<p>Default constructor. The properties of the packet are set as follows: </p>
190
+<ul>
191
+<li>src_addr: set to the empty string.</li>
192
+<li>dst_addr: set to the empty string.</li>
193
+<li>src_port: set to 0.</li>
194
+<li>dst_port: set to 0.</li>
195
+<li>octects: set to 0.</li>
196
+<li>packets: set to 0.</li>
197
+<li>enabled: set to false. </li>
198
+</ul>
199
+
200
+</div>
201
+</div>
202
+<a class="anchor" id="a46516634a765e6fea19a4df08406adc8"></a>
203
+<div class="memitem">
204
+<div class="memproto">
205
+      <table class="memname">
206
+        <tr>
207
+          <td class="memname">Packet::Packet </td>
208
+          <td>(</td>
209
+          <td class="paramtype">string&#160;</td>
210
+          <td class="paramname"><em>sa</em>, </td>
211
+        </tr>
212
+        <tr>
213
+          <td class="paramkey"></td>
214
+          <td></td>
215
+          <td class="paramtype">string&#160;</td>
216
+          <td class="paramname"><em>da</em>, </td>
217
+        </tr>
218
+        <tr>
219
+          <td class="paramkey"></td>
220
+          <td></td>
221
+          <td class="paramtype">int&#160;</td>
222
+          <td class="paramname"><em>sp</em>, </td>
223
+        </tr>
224
+        <tr>
225
+          <td class="paramkey"></td>
226
+          <td></td>
227
+          <td class="paramtype">int&#160;</td>
228
+          <td class="paramname"><em>dp</em>, </td>
229
+        </tr>
230
+        <tr>
231
+          <td class="paramkey"></td>
232
+          <td></td>
233
+          <td class="paramtype">int&#160;</td>
234
+          <td class="paramname"><em>oct</em>, </td>
235
+        </tr>
236
+        <tr>
237
+          <td class="paramkey"></td>
238
+          <td></td>
239
+          <td class="paramtype">int&#160;</td>
240
+          <td class="paramname"><em>pkt</em>&#160;</td>
241
+        </tr>
242
+        <tr>
243
+          <td></td>
244
+          <td>)</td>
245
+          <td></td><td></td>
246
+        </tr>
247
+      </table>
248
+</div><div class="memdoc">
249
+
250
+<p>Constructor which accepts specification for sa(src_addr), da(dst_addr), sp(src_port), dp(dst_port), oct(octects) and pkt(packets) </p>
251
+<dl class="params"><dt>Parameters</dt><dd>
252
+  <table class="params">
253
+    <tr><td class="paramname">sa</td><td>source address </td></tr>
254
+    <tr><td class="paramname">da</td><td>destination address </td></tr>
255
+    <tr><td class="paramname">sp</td><td>source port </td></tr>
256
+    <tr><td class="paramname">dp</td><td>destination port </td></tr>
257
+    <tr><td class="paramname">oct</td><td>octects </td></tr>
258
+    <tr><td class="paramname">pkt</td><td>packets </td></tr>
259
+  </table>
260
+  </dd>
261
+</dl>
262
+
263
+</div>
264
+</div>
265
+<h2 class="groupheader">Member Function Documentation</h2>
266
+<a class="anchor" id="a092161eb22c1ff6ffa2eb9961d3868b0"></a>
267
+<div class="memitem">
268
+<div class="memproto">
269
+      <table class="memname">
270
+        <tr>
271
+          <td class="memname">string Packet::getDstAddr </td>
272
+          <td>(</td>
273
+          <td class="paramname"></td><td>)</td>
274
+          <td></td>
275
+        </tr>
276
+      </table>
277
+</div><div class="memdoc">
278
+
279
+<p>Getter for the destination addr. </p>
280
+<dl class="section return"><dt>Returns</dt><dd>dst address </dd></dl>
281
+
282
+</div>
283
+</div>
284
+<a class="anchor" id="a92347c94882b6e5b3209cc70ea0d77b5"></a>
285
+<div class="memitem">
286
+<div class="memproto">
287
+      <table class="memname">
288
+        <tr>
289
+          <td class="memname">string Packet::getDstPort </td>
290
+          <td>(</td>
291
+          <td class="paramname"></td><td>)</td>
292
+          <td></td>
293
+        </tr>
294
+      </table>
295
+</div><div class="memdoc">
296
+
297
+<p>Getter for the destination port. </p>
298
+<dl class="section return"><dt>Returns</dt><dd>dst port </dd></dl>
299
+
300
+</div>
301
+</div>
302
+<a class="anchor" id="a6ee74fd953f6d57d56e48a596d897f05"></a>
303
+<div class="memitem">
304
+<div class="memproto">
305
+      <table class="memname">
306
+        <tr>
307
+          <td class="memname">string Packet::getPackets </td>
308
+          <td>(</td>
309
+          <td class="paramname"></td><td>)</td>
310
+          <td></td>
311
+        </tr>
312
+      </table>
313
+</div><div class="memdoc">
314
+
315
+<p>Getter for the packets. </p>
316
+<dl class="section return"><dt>Returns</dt><dd>packets </dd></dl>
317
+
318
+</div>
319
+</div>
320
+<a class="anchor" id="a3e9aed01edd0023e97276041894c5c1f"></a>
321
+<div class="memitem">
322
+<div class="memproto">
323
+      <table class="memname">
324
+        <tr>
325
+          <td class="memname">string Packet::getSrcAddr </td>
326
+          <td>(</td>
327
+          <td class="paramname"></td><td>)</td>
328
+          <td></td>
329
+        </tr>
330
+      </table>
331
+</div><div class="memdoc">
332
+
333
+<p>Getter for the source addr. </p>
334
+<dl class="section return"><dt>Returns</dt><dd>src address </dd></dl>
335
+
336
+</div>
337
+</div>
338
+<a class="anchor" id="acf4fbcd48861393cbc96c6aeb9e5846f"></a>
339
+<div class="memitem">
340
+<div class="memproto">
341
+      <table class="memname">
342
+        <tr>
343
+          <td class="memname">string Packet::getSrcPort </td>
344
+          <td>(</td>
345
+          <td class="paramname"></td><td>)</td>
346
+          <td></td>
347
+        </tr>
348
+      </table>
349
+</div><div class="memdoc">
350
+
351
+<p>Getter for the source port. </p>
352
+<dl class="section return"><dt>Returns</dt><dd>src port </dd></dl>
353
+
354
+</div>
355
+</div>
356
+<a class="anchor" id="acaa3e1703fe14b9a39d4c4426453e65c"></a>
357
+<div class="memitem">
358
+<div class="memproto">
359
+      <table class="memname">
360
+        <tr>
361
+          <td class="memname">void Packet::setDstAddr </td>
362
+          <td>(</td>
363
+          <td class="paramtype">string&#160;</td>
364
+          <td class="paramname"><em>addr</em></td><td>)</td>
365
+          <td></td>
366
+        </tr>
367
+      </table>
368
+</div><div class="memdoc">
369
+
370
+<p>Setter for the destination addr. </p>
371
+<dl class="params"><dt>Parameters</dt><dd>
372
+  <table class="params">
373
+    <tr><td class="paramname">addr</td><td>destination address </td></tr>
374
+  </table>
375
+  </dd>
376
+</dl>
377
+
378
+</div>
379
+</div>
380
+<a class="anchor" id="ab51c81cc6958913652b3fe5316ec6af3"></a>
381
+<div class="memitem">
382
+<div class="memproto">
383
+      <table class="memname">
384
+        <tr>
385
+          <td class="memname">void Packet::setDstPort </td>
386
+          <td>(</td>
387
+          <td class="paramtype">int&#160;</td>
388
+          <td class="paramname"><em>port</em></td><td>)</td>
389
+          <td></td>
390
+        </tr>
391
+      </table>
392
+</div><div class="memdoc">
393
+
394
+<p>Setter for the destination port. </p>
395
+<dl class="params"><dt>Parameters</dt><dd>
396
+  <table class="params">
397
+    <tr><td class="paramname">port</td><td>destination port </td></tr>
398
+  </table>
399
+  </dd>
400
+</dl>
401
+
402
+</div>
403
+</div>
404
+<a class="anchor" id="acfb4620179dba167031a8e8b1cad0c25"></a>
405
+<div class="memitem">
406
+<div class="memproto">
407
+      <table class="memname">
408
+        <tr>
409
+          <td class="memname">void Packet::setPackets </td>
410
+          <td>(</td>
411
+          <td class="paramtype">int&#160;</td>
412
+          <td class="paramname"><em>val</em></td><td>)</td>
413
+          <td></td>
414
+        </tr>
415
+      </table>
416
+</div><div class="memdoc">
417
+
418
+<p>Setter for the packets value. </p>
419
+<dl class="params"><dt>Parameters</dt><dd>
420
+  <table class="params">
421
+    <tr><td class="paramname">val</td><td>packets </td></tr>
422
+  </table>
423
+  </dd>
424
+</dl>
425
+
426
+</div>
427
+</div>
428
+<a class="anchor" id="a8c939968eb35f357884900bf8794a3d7"></a>
429
+<div class="memitem">
430
+<div class="memproto">
431
+      <table class="memname">
432
+        <tr>
433
+          <td class="memname">void Packet::setSrcAddr </td>
434
+          <td>(</td>
435
+          <td class="paramtype">string&#160;</td>
436
+          <td class="paramname"><em>addr</em></td><td>)</td>
437
+          <td></td>
438
+        </tr>
439
+      </table>
440
+</div><div class="memdoc">
441
+
442
+<p>Setter for the src_addr. </p>
443
+<dl class="params"><dt>Parameters</dt><dd>
444
+  <table class="params">
445
+    <tr><td class="paramname">addr</td><td>source address </td></tr>
446
+  </table>
447
+  </dd>
448
+</dl>
449
+
450
+</div>
451
+</div>
452
+<a class="anchor" id="a9844970ffe7eb2ecf6e2407a39f04807"></a>
453
+<div class="memitem">
454
+<div class="memproto">
455
+      <table class="memname">
456
+        <tr>
457
+          <td class="memname">void Packet::setSrcPort </td>
458
+          <td>(</td>
459
+          <td class="paramtype">int&#160;</td>
460
+          <td class="paramname"><em>port</em></td><td>)</td>
461
+          <td></td>
462
+        </tr>
463
+      </table>
464
+</div><div class="memdoc">
465
+
466
+<p>Setter for the source port. </p>
467
+<dl class="params"><dt>Parameters</dt><dd>
468
+  <table class="params">
469
+    <tr><td class="paramname">port</td><td>source port </td></tr>
470
+  </table>
471
+  </dd>
472
+</dl>
473
+
474
+</div>
475
+</div>
476
+<h2 class="groupheader">Member Data Documentation</h2>
477
+<a class="anchor" id="a4a1c8c11292c6116e393245fbfad00b7"></a>
478
+<div class="memitem">
479
+<div class="memproto">
480
+<table class="mlabels">
481
+  <tr>
482
+  <td class="mlabels-left">
483
+      <table class="memname">
484
+        <tr>
485
+          <td class="memname">string Packet::dst_addr</td>
486
+        </tr>
487
+      </table>
488
+  </td>
489
+  <td class="mlabels-right">
490
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
491
+  </tr>
492
+</table>
493
+</div><div class="memdoc">
494
+<p>dst_addr destination address (direccion destino) </p>
495
+
496
+</div>
497
+</div>
498
+<a class="anchor" id="ae8a78379783d1a2795318ca9118e77e3"></a>
499
+<div class="memitem">
500
+<div class="memproto">
501
+<table class="mlabels">
502
+  <tr>
503
+  <td class="mlabels-left">
504
+      <table class="memname">
505
+        <tr>
506
+          <td class="memname">int Packet::dst_port</td>
507
+        </tr>
508
+      </table>
509
+  </td>
510
+  <td class="mlabels-right">
511
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
512
+  </tr>
513
+</table>
514
+</div><div class="memdoc">
515
+<p>dst_port destination port (puerto destino) </p>
516
+
517
+</div>
518
+</div>
519
+<a class="anchor" id="a72dbd5f3d8e2f802ebb4173c64495cda"></a>
520
+<div class="memitem">
521
+<div class="memproto">
522
+<table class="mlabels">
523
+  <tr>
524
+  <td class="mlabels-left">
525
+      <table class="memname">
526
+        <tr>
527
+          <td class="memname">bool Packet::enabled</td>
528
+        </tr>
529
+      </table>
530
+  </td>
531
+  <td class="mlabels-right">
532
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
533
+  </tr>
534
+</table>
535
+</div><div class="memdoc">
536
+<p>enabled in the GUI (disponible en el GUI) </p>
537
+
538
+</div>
539
+</div>
540
+<a class="anchor" id="a3dfcef408535f5e7ecdb3ef6bc3e9654"></a>
541
+<div class="memitem">
542
+<div class="memproto">
543
+<table class="mlabels">
544
+  <tr>
545
+  <td class="mlabels-left">
546
+      <table class="memname">
547
+        <tr>
548
+          <td class="memname">int Packet::octects</td>
549
+        </tr>
550
+      </table>
551
+  </td>
552
+  <td class="mlabels-right">
553
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
554
+  </tr>
555
+</table>
556
+</div><div class="memdoc">
557
+<p>octets/bytes value (octetos) </p>
558
+
559
+</div>
560
+</div>
561
+<a class="anchor" id="abe4ea1613634961b78de7c609b1f0c75"></a>
562
+<div class="memitem">
563
+<div class="memproto">
564
+<table class="mlabels">
565
+  <tr>
566
+  <td class="mlabels-left">
567
+      <table class="memname">
568
+        <tr>
569
+          <td class="memname">int Packet::packets</td>
570
+        </tr>
571
+      </table>
572
+  </td>
573
+  <td class="mlabels-right">
574
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
575
+  </tr>
576
+</table>
577
+</div><div class="memdoc">
578
+<p>packets value (paquetes) </p>
579
+
580
+</div>
581
+</div>
582
+<a class="anchor" id="ad22856878226959be10e1a024e3446cc"></a>
583
+<div class="memitem">
584
+<div class="memproto">
585
+<table class="mlabels">
586
+  <tr>
587
+  <td class="mlabels-left">
588
+      <table class="memname">
589
+        <tr>
590
+          <td class="memname">string Packet::src_addr</td>
591
+        </tr>
592
+      </table>
593
+  </td>
594
+  <td class="mlabels-right">
595
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
596
+  </tr>
597
+</table>
598
+</div><div class="memdoc">
599
+<p>src_addr source address (direccion fuente) </p>
600
+
601
+</div>
602
+</div>
603
+<a class="anchor" id="a191dd835177b18f84fd64596249008cc"></a>
604
+<div class="memitem">
605
+<div class="memproto">
606
+<table class="mlabels">
607
+  <tr>
608
+  <td class="mlabels-left">
609
+      <table class="memname">
610
+        <tr>
611
+          <td class="memname">int Packet::src_port</td>
612
+        </tr>
613
+      </table>
614
+  </td>
615
+  <td class="mlabels-right">
616
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
617
+  </tr>
618
+</table>
619
+</div><div class="memdoc">
620
+<p>src_port source port (puerto fuente) </p>
621
+
622
+</div>
623
+</div>
624
+<hr/>The documentation for this class was generated from the following files:<ul>
625
+<li><a class="el" href="packet_8h_source.html">packet.h</a></li>
626
+<li>packet.cpp</li>
627
+</ul>
628
+</div><!-- contents -->
629
+<!-- start footer part -->
630
+<hr class="footer"/><address class="footer"><small>
631
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
632
+<img class="footer" src="doxygen.png" alt="doxygen"/>
633
+</a> 1.8.9.1
634
+</small></address>
635
+</body>
636
+</html>

+ 107
- 0
doc/en/html/classes.html 查看文件

@@ -0,0 +1,107 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Index</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class Index</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="qindex"><a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a></div>
90
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
91
+<tr><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
92
+</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
93
+</td><td></td></tr>
94
+<tr><td></td></tr>
95
+<tr><td valign="top"><a class="el" href="class_main_window.html">MainWindow</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_packet.html">Packet</a>&#160;&#160;&#160;</td><td></td></tr>
96
+<tr><td></td><td></td><td></td></tr>
97
+</table>
98
+<div class="qindex"><a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a></div>
99
+</div><!-- contents -->
100
+<!-- start footer part -->
101
+<hr class="footer"/><address class="footer"><small>
102
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
103
+<img class="footer" src="doxygen.png" alt="doxygen"/>
104
+</a> 1.8.9.1
105
+</small></address>
106
+</body>
107
+</html>

二進制
doc/en/html/closed.png 查看文件


二進制
doc/en/html/doc.png 查看文件


+ 1449
- 0
doc/en/html/doxygen.css
文件差異過大導致無法顯示
查看文件


二進制
doc/en/html/doxygen.png 查看文件


+ 97
- 0
doc/en/html/dynsections.js 查看文件

@@ -0,0 +1,97 @@
1
+function toggleVisibility(linkObj)
2
+{
3
+ var base = $(linkObj).attr('id');
4
+ var summary = $('#'+base+'-summary');
5
+ var content = $('#'+base+'-content');
6
+ var trigger = $('#'+base+'-trigger');
7
+ var src=$(trigger).attr('src');
8
+ if (content.is(':visible')===true) {
9
+   content.hide();
10
+   summary.show();
11
+   $(linkObj).addClass('closed').removeClass('opened');
12
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
13
+ } else {
14
+   content.show();
15
+   summary.hide();
16
+   $(linkObj).removeClass('closed').addClass('opened');
17
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
18
+ } 
19
+ return false;
20
+}
21
+
22
+function updateStripes()
23
+{
24
+  $('table.directory tr').
25
+       removeClass('even').filter(':visible:even').addClass('even');
26
+}
27
+
28
+function toggleLevel(level)
29
+{
30
+  $('table.directory tr').each(function() {
31
+    var l = this.id.split('_').length-1;
32
+    var i = $('#img'+this.id.substring(3));
33
+    var a = $('#arr'+this.id.substring(3));
34
+    if (l<level+1) {
35
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
36
+      a.html('&#9660;');
37
+      $(this).show();
38
+    } else if (l==level+1) {
39
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
40
+      a.html('&#9658;');
41
+      $(this).show();
42
+    } else {
43
+      $(this).hide();
44
+    }
45
+  });
46
+  updateStripes();
47
+}
48
+
49
+function toggleFolder(id)
50
+{
51
+  // the clicked row
52
+  var currentRow = $('#row_'+id);
53
+
54
+  // all rows after the clicked row
55
+  var rows = currentRow.nextAll("tr");
56
+
57
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
58
+
59
+  // only match elements AFTER this one (can't hide elements before)
60
+  var childRows = rows.filter(function() { return this.id.match(re); });
61
+
62
+  // first row is visible we are HIDING
63
+  if (childRows.filter(':first').is(':visible')===true) {
64
+    // replace down arrow by right arrow for current row
65
+    var currentRowSpans = currentRow.find("span");
66
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
67
+    currentRowSpans.filter(".arrow").html('&#9658;');
68
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
69
+  } else { // we are SHOWING
70
+    // replace right arrow by down arrow for current row
71
+    var currentRowSpans = currentRow.find("span");
72
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
73
+    currentRowSpans.filter(".arrow").html('&#9660;');
74
+    // replace down arrows by right arrows for child rows
75
+    var childRowsSpans = childRows.find("span");
76
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
77
+    childRowsSpans.filter(".arrow").html('&#9658;');
78
+    childRows.show(); //show all children
79
+  }
80
+  updateStripes();
81
+}
82
+
83
+
84
+function toggleInherit(id)
85
+{
86
+  var rows = $('tr.inherit.'+id);
87
+  var img = $('tr.inherit_header.'+id+' img');
88
+  var src = $(img).attr('src');
89
+  if (rows.filter(':first').is(':visible')===true) {
90
+    rows.css('display','none');
91
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
92
+  } else {
93
+    rows.css('display','table-row'); // using show() causes jump in firefox
94
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
95
+  }
96
+}
97
+

+ 104
- 0
doc/en/html/files.html 查看文件

@@ -0,0 +1,104 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File List</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">File List</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
88
+<table class="directory">
89
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_file_8cpp.html" target="_self">File.cpp</a></td><td class="desc"></td></tr>
90
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_filter_8cpp.html" target="_self">Filter.cpp</a></td><td class="desc"></td></tr>
91
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mainwindow_8h_source.html"><span class="icondoc"></span></a><b>mainwindow.h</b></td><td class="desc"></td></tr>
92
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="packet_8h_source.html"><span class="icondoc"></span></a><b>packet.h</b></td><td class="desc"></td></tr>
93
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_sort_8cpp.html" target="_self">Sort.cpp</a></td><td class="desc"></td></tr>
94
+</table>
95
+</div><!-- directory -->
96
+</div><!-- contents -->
97
+<!-- start footer part -->
98
+<hr class="footer"/><address class="footer"><small>
99
+Generated on Mon Jun 15 2015 12:46:27 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
100
+<img class="footer" src="doxygen.png" alt="doxygen"/>
101
+</a> 1.8.9.1
102
+</small></address>
103
+</body>
104
+</html>

二進制
doc/en/html/folderclosed.png 查看文件


二進制
doc/en/html/folderopen.png 查看文件


+ 245
- 0
doc/en/html/functions.html 查看文件

@@ -0,0 +1,245 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+  <div id="navrow3" class="tabs2">
70
+    <ul class="tablist">
71
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
72
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
73
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
74
+    </ul>
75
+  </div>
76
+  <div id="navrow4" class="tabs3">
77
+    <ul class="tablist">
78
+      <li><a href="#index_d"><span>d</span></a></li>
79
+      <li><a href="#index_e"><span>e</span></a></li>
80
+      <li><a href="#index_f"><span>f</span></a></li>
81
+      <li><a href="#index_g"><span>g</span></a></li>
82
+      <li><a href="#index_m"><span>m</span></a></li>
83
+      <li><a href="#index_o"><span>o</span></a></li>
84
+      <li><a href="#index_p"><span>p</span></a></li>
85
+      <li><a href="#index_s"><span>s</span></a></li>
86
+      <li class="current"><a href="#index_~"><span>~</span></a></li>
87
+    </ul>
88
+  </div>
89
+</div><!-- top -->
90
+<!-- window showing the filter options -->
91
+<div id="MSearchSelectWindow"
92
+     onmouseover="return searchBox.OnSearchSelectShow()"
93
+     onmouseout="return searchBox.OnSearchSelectHide()"
94
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
95
+</div>
96
+
97
+<!-- iframe showing the search results (closed by default) -->
98
+<div id="MSearchResultsWindow">
99
+<iframe src="javascript:void(0)" frameborder="0" 
100
+        name="MSearchResults" id="MSearchResults">
101
+</iframe>
102
+</div>
103
+
104
+<div class="contents">
105
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
106
+
107
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
108
+<li>disable()
109
+: <a class="el" href="class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2">Packet</a>
110
+</li>
111
+<li>dst_addr
112
+: <a class="el" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">Packet</a>
113
+</li>
114
+<li>dst_port
115
+: <a class="el" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">Packet</a>
116
+</li>
117
+</ul>
118
+
119
+
120
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
121
+<li>enable()
122
+: <a class="el" href="class_packet.html#a5b57162c18731c0186027f450670d14e">Packet</a>
123
+</li>
124
+<li>enabled
125
+: <a class="el" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">Packet</a>
126
+</li>
127
+</ul>
128
+
129
+
130
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
131
+<li>FillTable()
132
+: <a class="el" href="class_main_window.html#a683f392a1a8defb98890ee7839fc36e9">MainWindow</a>
133
+</li>
134
+</ul>
135
+
136
+
137
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
138
+<li>getDstAddr()
139
+: <a class="el" href="class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0">Packet</a>
140
+</li>
141
+<li>getDstPort()
142
+: <a class="el" href="class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5">Packet</a>
143
+</li>
144
+<li>getPackets()
145
+: <a class="el" href="class_packet.html#a6ee74fd953f6d57d56e48a596d897f05">Packet</a>
146
+</li>
147
+<li>getSrcAddr()
148
+: <a class="el" href="class_packet.html#a3e9aed01edd0023e97276041894c5c1f">Packet</a>
149
+</li>
150
+<li>getSrcPort()
151
+: <a class="el" href="class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f">Packet</a>
152
+</li>
153
+</ul>
154
+
155
+
156
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
157
+<li>MainWindow()
158
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
159
+</li>
160
+</ul>
161
+
162
+
163
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
164
+<li>octects
165
+: <a class="el" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">Packet</a>
166
+</li>
167
+<li>on_actionAbout_triggered()
168
+: <a class="el" href="class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f">MainWindow</a>
169
+</li>
170
+<li>on_actionExit_triggered()
171
+: <a class="el" href="class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb">MainWindow</a>
172
+</li>
173
+<li>on_actionLoad_Network_Data_triggered()
174
+: <a class="el" href="class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8">MainWindow</a>
175
+</li>
176
+<li>on_clearButton_clicked()
177
+: <a class="el" href="class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09">MainWindow</a>
178
+</li>
179
+<li>on_Filter_Box_currentIndexChanged()
180
+: <a class="el" href="class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a">MainWindow</a>
181
+</li>
182
+<li>on_openFile_clicked()
183
+: <a class="el" href="class_main_window.html#ad157e69c40c80314586029f2a7c5e549">MainWindow</a>
184
+</li>
185
+<li>on_runFilter_clicked()
186
+: <a class="el" href="class_main_window.html#aad306460c28905c974d8e58e08397f99">MainWindow</a>
187
+</li>
188
+<li>on_saveFile_clicked()
189
+: <a class="el" href="class_main_window.html#ab3e951300c848b088b3879ebc8795366">MainWindow</a>
190
+</li>
191
+<li>on_sortButton_clicked()
192
+: <a class="el" href="class_main_window.html#a61c4e49fee19b65db919ba88847dda14">MainWindow</a>
193
+</li>
194
+</ul>
195
+
196
+
197
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
198
+<li>Packet()
199
+: <a class="el" href="class_packet.html#aabcfb963c0d5bc0fa554668f92989622">Packet</a>
200
+</li>
201
+<li>packets
202
+: <a class="el" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">Packet</a>
203
+</li>
204
+</ul>
205
+
206
+
207
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
208
+<li>setDstAddr()
209
+: <a class="el" href="class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c">Packet</a>
210
+</li>
211
+<li>setDstPort()
212
+: <a class="el" href="class_packet.html#ab51c81cc6958913652b3fe5316ec6af3">Packet</a>
213
+</li>
214
+<li>setPackets()
215
+: <a class="el" href="class_packet.html#acfb4620179dba167031a8e8b1cad0c25">Packet</a>
216
+</li>
217
+<li>setSrcAddr()
218
+: <a class="el" href="class_packet.html#a8c939968eb35f357884900bf8794a3d7">Packet</a>
219
+</li>
220
+<li>setSrcPort()
221
+: <a class="el" href="class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807">Packet</a>
222
+</li>
223
+<li>src_addr
224
+: <a class="el" href="class_packet.html#ad22856878226959be10e1a024e3446cc">Packet</a>
225
+</li>
226
+<li>src_port
227
+: <a class="el" href="class_packet.html#a191dd835177b18f84fd64596249008cc">Packet</a>
228
+</li>
229
+</ul>
230
+
231
+
232
+<h3><a class="anchor" id="index_~"></a>- ~ -</h3><ul>
233
+<li>~MainWindow()
234
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
235
+</li>
236
+</ul>
237
+</div><!-- contents -->
238
+<!-- start footer part -->
239
+<hr class="footer"/><address class="footer"><small>
240
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
241
+<img class="footer" src="doxygen.png" alt="doxygen"/>
242
+</a> 1.8.9.1
243
+</small></address>
244
+</body>
245
+</html>

+ 177
- 0
doc/en/html/functions_func.html 查看文件

@@ -0,0 +1,177 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Members - Functions</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+  <div id="navrow3" class="tabs2">
70
+    <ul class="tablist">
71
+      <li><a href="functions.html"><span>All</span></a></li>
72
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
73
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
74
+    </ul>
75
+  </div>
76
+</div><!-- top -->
77
+<!-- window showing the filter options -->
78
+<div id="MSearchSelectWindow"
79
+     onmouseover="return searchBox.OnSearchSelectShow()"
80
+     onmouseout="return searchBox.OnSearchSelectHide()"
81
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
82
+</div>
83
+
84
+<!-- iframe showing the search results (closed by default) -->
85
+<div id="MSearchResultsWindow">
86
+<iframe src="javascript:void(0)" frameborder="0" 
87
+        name="MSearchResults" id="MSearchResults">
88
+</iframe>
89
+</div>
90
+
91
+<div class="contents">
92
+&#160;<ul>
93
+<li>disable()
94
+: <a class="el" href="class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2">Packet</a>
95
+</li>
96
+<li>enable()
97
+: <a class="el" href="class_packet.html#a5b57162c18731c0186027f450670d14e">Packet</a>
98
+</li>
99
+<li>FillTable()
100
+: <a class="el" href="class_main_window.html#a683f392a1a8defb98890ee7839fc36e9">MainWindow</a>
101
+</li>
102
+<li>getDstAddr()
103
+: <a class="el" href="class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0">Packet</a>
104
+</li>
105
+<li>getDstPort()
106
+: <a class="el" href="class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5">Packet</a>
107
+</li>
108
+<li>getPackets()
109
+: <a class="el" href="class_packet.html#a6ee74fd953f6d57d56e48a596d897f05">Packet</a>
110
+</li>
111
+<li>getSrcAddr()
112
+: <a class="el" href="class_packet.html#a3e9aed01edd0023e97276041894c5c1f">Packet</a>
113
+</li>
114
+<li>getSrcPort()
115
+: <a class="el" href="class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f">Packet</a>
116
+</li>
117
+<li>MainWindow()
118
+: <a class="el" href="class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db">MainWindow</a>
119
+</li>
120
+<li>on_actionAbout_triggered()
121
+: <a class="el" href="class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f">MainWindow</a>
122
+</li>
123
+<li>on_actionExit_triggered()
124
+: <a class="el" href="class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb">MainWindow</a>
125
+</li>
126
+<li>on_actionLoad_Network_Data_triggered()
127
+: <a class="el" href="class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8">MainWindow</a>
128
+</li>
129
+<li>on_clearButton_clicked()
130
+: <a class="el" href="class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09">MainWindow</a>
131
+</li>
132
+<li>on_Filter_Box_currentIndexChanged()
133
+: <a class="el" href="class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a">MainWindow</a>
134
+</li>
135
+<li>on_openFile_clicked()
136
+: <a class="el" href="class_main_window.html#ad157e69c40c80314586029f2a7c5e549">MainWindow</a>
137
+</li>
138
+<li>on_runFilter_clicked()
139
+: <a class="el" href="class_main_window.html#aad306460c28905c974d8e58e08397f99">MainWindow</a>
140
+</li>
141
+<li>on_saveFile_clicked()
142
+: <a class="el" href="class_main_window.html#ab3e951300c848b088b3879ebc8795366">MainWindow</a>
143
+</li>
144
+<li>on_sortButton_clicked()
145
+: <a class="el" href="class_main_window.html#a61c4e49fee19b65db919ba88847dda14">MainWindow</a>
146
+</li>
147
+<li>Packet()
148
+: <a class="el" href="class_packet.html#aabcfb963c0d5bc0fa554668f92989622">Packet</a>
149
+</li>
150
+<li>setDstAddr()
151
+: <a class="el" href="class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c">Packet</a>
152
+</li>
153
+<li>setDstPort()
154
+: <a class="el" href="class_packet.html#ab51c81cc6958913652b3fe5316ec6af3">Packet</a>
155
+</li>
156
+<li>setPackets()
157
+: <a class="el" href="class_packet.html#acfb4620179dba167031a8e8b1cad0c25">Packet</a>
158
+</li>
159
+<li>setSrcAddr()
160
+: <a class="el" href="class_packet.html#a8c939968eb35f357884900bf8794a3d7">Packet</a>
161
+</li>
162
+<li>setSrcPort()
163
+: <a class="el" href="class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807">Packet</a>
164
+</li>
165
+<li>~MainWindow()
166
+: <a class="el" href="class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7">MainWindow</a>
167
+</li>
168
+</ul>
169
+</div><!-- contents -->
170
+<!-- start footer part -->
171
+<hr class="footer"/><address class="footer"><small>
172
+Generated on Mon Jun 15 2015 12:46:27 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
173
+<img class="footer" src="doxygen.png" alt="doxygen"/>
174
+</a> 1.8.9.1
175
+</small></address>
176
+</body>
177
+</html>

+ 123
- 0
doc/en/html/functions_vars.html 查看文件

@@ -0,0 +1,123 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Members - Variables</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+  <div id="navrow3" class="tabs2">
70
+    <ul class="tablist">
71
+      <li><a href="functions.html"><span>All</span></a></li>
72
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
73
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
74
+    </ul>
75
+  </div>
76
+</div><!-- top -->
77
+<!-- window showing the filter options -->
78
+<div id="MSearchSelectWindow"
79
+     onmouseover="return searchBox.OnSearchSelectShow()"
80
+     onmouseout="return searchBox.OnSearchSelectHide()"
81
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
82
+</div>
83
+
84
+<!-- iframe showing the search results (closed by default) -->
85
+<div id="MSearchResultsWindow">
86
+<iframe src="javascript:void(0)" frameborder="0" 
87
+        name="MSearchResults" id="MSearchResults">
88
+</iframe>
89
+</div>
90
+
91
+<div class="contents">
92
+&#160;<ul>
93
+<li>dst_addr
94
+: <a class="el" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">Packet</a>
95
+</li>
96
+<li>dst_port
97
+: <a class="el" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">Packet</a>
98
+</li>
99
+<li>enabled
100
+: <a class="el" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">Packet</a>
101
+</li>
102
+<li>octects
103
+: <a class="el" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">Packet</a>
104
+</li>
105
+<li>packets
106
+: <a class="el" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">Packet</a>
107
+</li>
108
+<li>src_addr
109
+: <a class="el" href="class_packet.html#ad22856878226959be10e1a024e3446cc">Packet</a>
110
+</li>
111
+<li>src_port
112
+: <a class="el" href="class_packet.html#a191dd835177b18f84fd64596249008cc">Packet</a>
113
+</li>
114
+</ul>
115
+</div><!-- contents -->
116
+<!-- start footer part -->
117
+<hr class="footer"/><address class="footer"><small>
118
+Generated on Mon Jun 15 2015 12:46:27 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
119
+<img class="footer" src="doxygen.png" alt="doxygen"/>
120
+</a> 1.8.9.1
121
+</small></address>
122
+</body>
123
+</html>

+ 129
- 0
doc/en/html/globals.html 查看文件

@@ -0,0 +1,129 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+  <div id="navrow3" class="tabs2">
68
+    <ul class="tablist">
69
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
70
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
71
+    </ul>
72
+  </div>
73
+</div><!-- top -->
74
+<!-- window showing the filter options -->
75
+<div id="MSearchSelectWindow"
76
+     onmouseover="return searchBox.OnSearchSelectShow()"
77
+     onmouseout="return searchBox.OnSearchSelectHide()"
78
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
79
+</div>
80
+
81
+<!-- iframe showing the search results (closed by default) -->
82
+<div id="MSearchResultsWindow">
83
+<iframe src="javascript:void(0)" frameborder="0" 
84
+        name="MSearchResults" id="MSearchResults">
85
+</iframe>
86
+</div>
87
+
88
+<div class="contents">
89
+<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
90
+<li>FilterByDstAddr()
91
+: <a class="el" href="_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b">Filter.cpp</a>
92
+</li>
93
+<li>FilterByDstPort()
94
+: <a class="el" href="_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff">Filter.cpp</a>
95
+</li>
96
+<li>FilterBySrcAddr()
97
+: <a class="el" href="_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb">Filter.cpp</a>
98
+</li>
99
+<li>FilterBySrcPort()
100
+: <a class="el" href="_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3">Filter.cpp</a>
101
+</li>
102
+<li>ReadFile()
103
+: <a class="el" href="_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa">File.cpp</a>
104
+</li>
105
+<li>SaveFile()
106
+: <a class="el" href="_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada">File.cpp</a>
107
+</li>
108
+<li>SortByDstAddr()
109
+: <a class="el" href="_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06">Sort.cpp</a>
110
+</li>
111
+<li>SortByDstPort()
112
+: <a class="el" href="_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1">Sort.cpp</a>
113
+</li>
114
+<li>SortBySrcAddr()
115
+: <a class="el" href="_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4">Sort.cpp</a>
116
+</li>
117
+<li>SortBySrcPort()
118
+: <a class="el" href="_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0">Sort.cpp</a>
119
+</li>
120
+</ul>
121
+</div><!-- contents -->
122
+<!-- start footer part -->
123
+<hr class="footer"/><address class="footer"><small>
124
+Generated on Mon Jun 15 2015 12:46:27 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
125
+<img class="footer" src="doxygen.png" alt="doxygen"/>
126
+</a> 1.8.9.1
127
+</small></address>
128
+</body>
129
+</html>

+ 129
- 0
doc/en/html/globals_func.html 查看文件

@@ -0,0 +1,129 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: File Members</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+  <div id="navrow3" class="tabs2">
68
+    <ul class="tablist">
69
+      <li><a href="globals.html"><span>All</span></a></li>
70
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
71
+    </ul>
72
+  </div>
73
+</div><!-- top -->
74
+<!-- window showing the filter options -->
75
+<div id="MSearchSelectWindow"
76
+     onmouseover="return searchBox.OnSearchSelectShow()"
77
+     onmouseout="return searchBox.OnSearchSelectHide()"
78
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
79
+</div>
80
+
81
+<!-- iframe showing the search results (closed by default) -->
82
+<div id="MSearchResultsWindow">
83
+<iframe src="javascript:void(0)" frameborder="0" 
84
+        name="MSearchResults" id="MSearchResults">
85
+</iframe>
86
+</div>
87
+
88
+<div class="contents">
89
+&#160;<ul>
90
+<li>FilterByDstAddr()
91
+: <a class="el" href="_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b">Filter.cpp</a>
92
+</li>
93
+<li>FilterByDstPort()
94
+: <a class="el" href="_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff">Filter.cpp</a>
95
+</li>
96
+<li>FilterBySrcAddr()
97
+: <a class="el" href="_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb">Filter.cpp</a>
98
+</li>
99
+<li>FilterBySrcPort()
100
+: <a class="el" href="_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3">Filter.cpp</a>
101
+</li>
102
+<li>ReadFile()
103
+: <a class="el" href="_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa">File.cpp</a>
104
+</li>
105
+<li>SaveFile()
106
+: <a class="el" href="_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada">File.cpp</a>
107
+</li>
108
+<li>SortByDstAddr()
109
+: <a class="el" href="_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06">Sort.cpp</a>
110
+</li>
111
+<li>SortByDstPort()
112
+: <a class="el" href="_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1">Sort.cpp</a>
113
+</li>
114
+<li>SortBySrcAddr()
115
+: <a class="el" href="_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4">Sort.cpp</a>
116
+</li>
117
+<li>SortBySrcPort()
118
+: <a class="el" href="_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0">Sort.cpp</a>
119
+</li>
120
+</ul>
121
+</div><!-- contents -->
122
+<!-- start footer part -->
123
+<hr class="footer"/><address class="footer"><small>
124
+Generated on Mon Jun 15 2015 12:46:27 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
125
+<img class="footer" src="doxygen.png" alt="doxygen"/>
126
+</a> 1.8.9.1
127
+</small></address>
128
+</body>
129
+</html>

+ 104
- 0
doc/en/html/hierarchy.html 查看文件

@@ -0,0 +1,104 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Class Hierarchy</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
64
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
65
+      <li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
66
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
67
+    </ul>
68
+  </div>
69
+</div><!-- top -->
70
+<!-- window showing the filter options -->
71
+<div id="MSearchSelectWindow"
72
+     onmouseover="return searchBox.OnSearchSelectShow()"
73
+     onmouseout="return searchBox.OnSearchSelectHide()"
74
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
75
+</div>
76
+
77
+<!-- iframe showing the search results (closed by default) -->
78
+<div id="MSearchResultsWindow">
79
+<iframe src="javascript:void(0)" frameborder="0" 
80
+        name="MSearchResults" id="MSearchResults">
81
+</iframe>
82
+</div>
83
+
84
+<div class="header">
85
+  <div class="headertitle">
86
+<div class="title">Class Hierarchy</div>  </div>
87
+</div><!--header-->
88
+<div class="contents">
89
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
90
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
91
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_packet.html" target="_self">Packet</a></td><td class="desc">A class to represent packets </td></tr>
92
+<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QMainWindow</b></td><td class="desc"></td></tr>
93
+<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc"></td></tr>
94
+</table>
95
+</div><!-- directory -->
96
+</div><!-- contents -->
97
+<!-- start footer part -->
98
+<hr class="footer"/><address class="footer"><small>
99
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
100
+<img class="footer" src="doxygen.png" alt="doxygen"/>
101
+</a> 1.8.9.1
102
+</small></address>
103
+</body>
104
+</html>

+ 89
- 0
doc/en/html/index.html 查看文件

@@ -0,0 +1,89 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: Main Page</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+</div><!-- top -->
62
+<!-- window showing the filter options -->
63
+<div id="MSearchSelectWindow"
64
+     onmouseover="return searchBox.OnSearchSelectShow()"
65
+     onmouseout="return searchBox.OnSearchSelectHide()"
66
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
67
+</div>
68
+
69
+<!-- iframe showing the search results (closed by default) -->
70
+<div id="MSearchResultsWindow">
71
+<iframe src="javascript:void(0)" frameborder="0" 
72
+        name="MSearchResults" id="MSearchResults">
73
+</iframe>
74
+</div>
75
+
76
+<div class="header">
77
+  <div class="headertitle">
78
+<div class="title">My Project Documentation</div>  </div>
79
+</div><!--header-->
80
+<div class="contents">
81
+</div><!-- contents -->
82
+<!-- start footer part -->
83
+<hr class="footer"/><address class="footer"><small>
84
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
85
+<img class="footer" src="doxygen.png" alt="doxygen"/>
86
+</a> 1.8.9.1
87
+</small></address>
88
+</body>
89
+</html>

+ 68
- 0
doc/en/html/jquery.js
文件差異過大導致無法顯示
查看文件


+ 194
- 0
doc/en/html/mainwindow_8h_source.html 查看文件

@@ -0,0 +1,194 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: mainwindow.h Source File</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">mainwindow.h</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef MAINWINDOW_H</span></div>
88
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define MAINWINDOW_H</span></div>
89
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
90
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;QMainWindow&gt;</span></div>
91
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;QtGui&gt;</span></div>
92
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
93
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div>
94
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;QComboBox&gt;</span></div>
95
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;QMenuBar&gt;</span></div>
96
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;QLabel&gt;</span></div>
97
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;QTableWidget&gt;</span></div>
98
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;QCheckBox&gt;</span></div>
99
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;QLineEdit&gt;</span></div>
100
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;QFileDialog&gt;</span></div>
101
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;QMessageBox&gt;</span></div>
102
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;QApplication&gt;</span></div>
103
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;packet.h&quot;</span></div>
104
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
105
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div>
106
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
107
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_ui.html">Ui</a> {</div>
108
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">class </span><a class="code" href="class_main_window.html">MainWindow</a>;</div>
109
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div>
110
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
111
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa">ReadFile</a>(<span class="keywordtype">string</span>, vector&lt;Packet&gt; &amp;) ;</div>
112
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
113
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada">SaveFile</a>(<span class="keywordtype">string</span>, vector&lt;Packet&gt;) ;</div>
114
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
115
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb">FilterBySrcAddr</a>(vector&lt;Packet&gt; &amp;, <span class="keywordtype">string</span> );</div>
116
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
117
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b">FilterByDstAddr</a>(vector&lt;Packet&gt; &amp;, <span class="keywordtype">string</span> );</div>
118
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
119
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3">FilterBySrcPort</a>(vector&lt;Packet&gt; &amp;, <span class="keywordtype">int</span>) ;</div>
120
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
121
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff">FilterByDstPort</a>(vector&lt;Packet&gt; &amp;, <span class="keywordtype">int</span>) ;</div>
122
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
123
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4">SortBySrcAddr</a>(vector&lt;Packet&gt; &amp;) ;</div>
124
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
125
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06">SortByDstAddr</a>(vector&lt;Packet&gt; &amp;) ;</div>
126
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
127
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0">SortBySrcPort</a>(vector&lt;Packet&gt; &amp;) ;</div>
128
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
129
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keywordtype">void</span> <a class="code" href="_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1">SortByDstPort</a>(vector&lt;Packet&gt; &amp;) ;</div>
130
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
131
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="class_main_window.html">  145</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_main_window.html">MainWindow</a> : <span class="keyword">public</span> QMainWindow</div>
132
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;{</div>
133
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    Q_OBJECT</div>
134
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">private</span>:</div>
135
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keywordtype">int</span> numPackets, numOctects;</div>
136
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordtype">int</span> filterMethod;</div>
137
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    vector&lt; Packet &gt; netdata;   <span class="comment">// Used to store the data from the network file</span></div>
138
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    QTableWidgetItem *item;      <span class="comment">//This pointer is used to create table entries and add them to the table</span></div>
139
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
140
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">public</span>:</div>
141
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
142
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keyword">explicit</span> <a class="code" href="class_main_window.html">MainWindow</a>(QWidget *parent = 0);</div>
143
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
144
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    ~<a class="code" href="class_main_window.html">MainWindow</a>();</div>
145
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
146
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">private</span> slots:</div>
147
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
148
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordtype">void</span> on_Filter_Box_currentIndexChanged(<span class="keywordtype">int</span> index); <span class="comment">//</span></div>
149
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
150
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keywordtype">void</span> on_actionLoad_Network_Data_triggered(); <span class="comment">//</span></div>
151
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
152
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keywordtype">void</span> on_actionAbout_triggered(); <span class="comment">//</span></div>
153
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
154
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="keywordtype">void</span> on_actionExit_triggered();</div>
155
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
156
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordtype">void</span> FillTable();</div>
157
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
158
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="keywordtype">void</span> on_runFilter_clicked();</div>
159
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
160
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordtype">void</span> on_sortButton_clicked();</div>
161
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
162
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordtype">void</span> on_openFile_clicked();</div>
163
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
164
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keywordtype">void</span> on_saveFile_clicked();</div>
165
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
166
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keywordtype">void</span> on_clearButton_clicked();</div>
167
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div>
168
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keyword">private</span>:</div>
169
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    Ui::MainWindow *ui;</div>
170
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;};</div>
171
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
172
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">#endif // MAINWINDOW_H</span></div>
173
+<div class="ttc" id="namespace_ui_html"><div class="ttname"><a href="namespace_ui.html">Ui</a></div><div class="ttdef"><b>Definition:</b> mainwindow.h:21</div></div>
174
+<div class="ttc" id="_filter_8cpp_html_a8526311093aaa2a5ab7181948e197bd3"><div class="ttname"><a href="_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3">FilterBySrcPort</a></div><div class="ttdeci">void FilterBySrcPort(vector&lt; Packet &gt; &amp;netdata, int port)</div><div class="ttdef"><b>Definition:</b> Filter.cpp:49</div></div>
175
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
176
+<div class="ttc" id="_file_8cpp_html_ac1832c1450b6f14379b397e6f90f3ada"><div class="ttname"><a href="_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada">SaveFile</a></div><div class="ttdeci">bool SaveFile(string fname, vector&lt; Packet &gt; netdata)</div><div class="ttdoc">Function that saves a file to the computer. It returns true when the file was succesfully saved and f...</div><div class="ttdef"><b>Definition:</b> File.cpp:62</div></div>
177
+<div class="ttc" id="_filter_8cpp_html_ac1337ad2421d6cecc4c3537497899eff"><div class="ttname"><a href="_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff">FilterByDstPort</a></div><div class="ttdeci">void FilterByDstPort(vector&lt; Packet &gt; &amp;netdata, int port)</div><div class="ttdef"><b>Definition:</b> Filter.cpp:65</div></div>
178
+<div class="ttc" id="_sort_8cpp_html_ad2fc2c965f1b9dba889b6f7435c8ffe4"><div class="ttname"><a href="_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4">SortBySrcAddr</a></div><div class="ttdeci">void SortBySrcAddr(vector&lt; Packet &gt; &amp;netdata)</div><div class="ttdoc">Function that sorts by source address the packets in the netflow file using the Bubble sort algorithm...</div><div class="ttdef"><b>Definition:</b> Sort.cpp:17</div></div>
179
+<div class="ttc" id="_filter_8cpp_html_a9f395b6c2eb6869a448e665f6a36899b"><div class="ttname"><a href="_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b">FilterByDstAddr</a></div><div class="ttdeci">void FilterByDstAddr(vector&lt; Packet &gt; &amp;netdata, string address)</div><div class="ttdef"><b>Definition:</b> Filter.cpp:33</div></div>
180
+<div class="ttc" id="_file_8cpp_html_a96e719837f9e8411f62b2f2657a584aa"><div class="ttname"><a href="_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa">ReadFile</a></div><div class="ttdeci">bool ReadFile(string fname, vector&lt; Packet &gt; &amp;netdata)</div><div class="ttdoc">Function that reads a file and return a boolean that determines if the file was succesfully opened an...</div><div class="ttdef"><b>Definition:</b> File.cpp:23</div></div>
181
+<div class="ttc" id="_filter_8cpp_html_af27aa7e4f067db1d57c18a9b457188bb"><div class="ttname"><a href="_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb">FilterBySrcAddr</a></div><div class="ttdeci">void FilterBySrcAddr(vector&lt; Packet &gt; &amp;netdata, string address)</div><div class="ttdef"><b>Definition:</b> Filter.cpp:15</div></div>
182
+<div class="ttc" id="_sort_8cpp_html_a529786e870ea5cb7f83637588eb002a1"><div class="ttname"><a href="_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1">SortByDstPort</a></div><div class="ttdeci">void SortByDstPort(vector&lt; Packet &gt; &amp;netdata)</div><div class="ttdoc">Function that sorts by destination port the packets in the netflow file using the Bubble sort algorit...</div><div class="ttdef"><b>Definition:</b> Sort.cpp:105</div></div>
183
+<div class="ttc" id="_sort_8cpp_html_a3965d0285c20667ca88fe8462fd73d06"><div class="ttname"><a href="_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06">SortByDstAddr</a></div><div class="ttdeci">void SortByDstAddr(vector&lt; Packet &gt; &amp;netdata)</div><div class="ttdoc">Function that sorts by destination address the packets in the netflow file using the Selection sort a...</div><div class="ttdef"><b>Definition:</b> Sort.cpp:48</div></div>
184
+<div class="ttc" id="_sort_8cpp_html_a15775a2c4ca51ad037d87b15c7b67bf0"><div class="ttname"><a href="_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0">SortBySrcPort</a></div><div class="ttdeci">void SortBySrcPort(vector&lt; Packet &gt; &amp;netdata)</div><div class="ttdoc">Function that sorts by source port the packets in the netflow file using the Bubble sort algorithm...</div><div class="ttdef"><b>Definition:</b> Sort.cpp:77</div></div>
185
+<div class="ttc" id="class_main_window_html"><div class="ttname"><a href="class_main_window.html">MainWindow</a></div><div class="ttdef"><b>Definition:</b> mainwindow.h:145</div></div>
186
+</div><!-- fragment --></div><!-- contents -->
187
+<!-- start footer part -->
188
+<hr class="footer"/><address class="footer"><small>
189
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
190
+<img class="footer" src="doxygen.png" alt="doxygen"/>
191
+</a> 1.8.9.1
192
+</small></address>
193
+</body>
194
+</html>

二進制
doc/en/html/nav_f.png 查看文件


二進制
doc/en/html/nav_g.png 查看文件


二進制
doc/en/html/nav_h.png 查看文件


二進制
doc/en/html/open.png 查看文件


+ 157
- 0
doc/en/html/packet_8h_source.html 查看文件

@@ -0,0 +1,157 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html xmlns="http://www.w3.org/1999/xhtml">
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+<meta name="generator" content="Doxygen 1.8.9.1"/>
7
+<title>My Project: packet.h Source File</title>
8
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
+<script type="text/javascript" src="jquery.js"></script>
10
+<script type="text/javascript" src="dynsections.js"></script>
11
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
12
+<script type="text/javascript" src="search/searchdata.js"></script>
13
+<script type="text/javascript" src="search/search.js"></script>
14
+<script type="text/javascript">
15
+  $(document).ready(function() { init_search(); });
16
+</script>
17
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
18
+</head>
19
+<body>
20
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
21
+<div id="titlearea">
22
+<table cellspacing="0" cellpadding="0">
23
+ <tbody>
24
+ <tr style="height: 56px;">
25
+  <td style="padding-left: 0.5em;">
26
+   <div id="projectname">My Project
27
+   </div>
28
+  </td>
29
+ </tr>
30
+ </tbody>
31
+</table>
32
+</div>
33
+<!-- end header part -->
34
+<!-- Generated by Doxygen 1.8.9.1 -->
35
+<script type="text/javascript">
36
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
37
+</script>
38
+  <div id="navrow1" class="tabs">
39
+    <ul class="tablist">
40
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
41
+      <li><a href="annotated.html"><span>Classes</span></a></li>
42
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
43
+      <li>
44
+        <div id="MSearchBox" class="MSearchBoxInactive">
45
+        <span class="left">
46
+          <img id="MSearchSelect" src="search/mag_sel.png"
47
+               onmouseover="return searchBox.OnSearchSelectShow()"
48
+               onmouseout="return searchBox.OnSearchSelectHide()"
49
+               alt=""/>
50
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
51
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
52
+               onblur="searchBox.OnSearchFieldFocus(false)" 
53
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
54
+          </span><span class="right">
55
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
56
+          </span>
57
+        </div>
58
+      </li>
59
+    </ul>
60
+  </div>
61
+  <div id="navrow2" class="tabs2">
62
+    <ul class="tablist">
63
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
64
+      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
65
+    </ul>
66
+  </div>
67
+</div><!-- top -->
68
+<!-- window showing the filter options -->
69
+<div id="MSearchSelectWindow"
70
+     onmouseover="return searchBox.OnSearchSelectShow()"
71
+     onmouseout="return searchBox.OnSearchSelectHide()"
72
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
73
+</div>
74
+
75
+<!-- iframe showing the search results (closed by default) -->
76
+<div id="MSearchResultsWindow">
77
+<iframe src="javascript:void(0)" frameborder="0" 
78
+        name="MSearchResults" id="MSearchResults">
79
+</iframe>
80
+</div>
81
+
82
+<div class="header">
83
+  <div class="headertitle">
84
+<div class="title">packet.h</div>  </div>
85
+</div><!--header-->
86
+<div class="contents">
87
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef PACKET_H</span></div>
88
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PACKET_H</span></div>
89
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
90
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div>
91
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a> ;</div>
92
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
93
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="class_packet.html">   17</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_packet.html">Packet</a>{</div>
94
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keyword">public</span>:</div>
95
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <a class="code" href="class_packet.html">Packet</a>();</div>
96
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
97
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <a class="code" href="class_packet.html">Packet</a>(<span class="keywordtype">string</span>, <span class="keywordtype">string</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>) ;</div>
98
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
99
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordtype">string</span> getSrcAddr() ;</div>
100
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
101
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keywordtype">string</span> getDstAddr() ;</div>
102
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
103
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordtype">int</span> getSrcPort() ;</div>
104
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
105
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keywordtype">int</span> getDstPort() ;</div>
106
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
107
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordtype">int</span> getOctects() ;</div>
108
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
109
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keywordtype">int</span> getPackets() ;</div>
110
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
111
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keywordtype">void</span> setSrcAddr(<span class="keywordtype">string</span>) ;</div>
112
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
113
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keywordtype">void</span> setDstAddr(<span class="keywordtype">string</span>) ;</div>
114
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
115
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordtype">void</span> setSrcPort(<span class="keywordtype">int</span>) ;</div>
116
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
117
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keywordtype">void</span> setDstPort(<span class="keywordtype">int</span>) ;</div>
118
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
119
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">void</span> setOctects(<span class="keywordtype">int</span>) ;</div>
120
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
121
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordtype">void</span> setPackets(<span class="keywordtype">int</span>) ;</div>
122
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
123
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keywordtype">void</span> enable() ;</div>
124
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
125
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordtype">void</span> disable() ;</div>
126
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
127
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordtype">bool</span> isEnabled() ;</div>
128
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
129
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keyword">private</span>:</div>
130
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_packet.html#ad22856878226959be10e1a024e3446cc">  196</a></span>&#160;        <span class="keywordtype">string</span> <a class="code" href="class_packet.html#ad22856878226959be10e1a024e3446cc">src_addr</a> ; </div>
131
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">  197</a></span>&#160;        <span class="keywordtype">string</span> <a class="code" href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">dst_addr</a> ; </div>
132
+<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="class_packet.html#a191dd835177b18f84fd64596249008cc">  198</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="class_packet.html#a191dd835177b18f84fd64596249008cc">src_port</a> ; </div>
133
+<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">  199</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">dst_port</a> ; </div>
134
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">  200</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">octects</a> ; </div>
135
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">  201</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">packets</a> ; </div>
136
+<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">  202</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">enabled</a> ;</div>
137
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;};</div>
138
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
139
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#endif // PACKET_H</span></div>
140
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
141
+<div class="ttc" id="class_packet_html_ae8a78379783d1a2795318ca9118e77e3"><div class="ttname"><a href="class_packet.html#ae8a78379783d1a2795318ca9118e77e3">Packet::dst_port</a></div><div class="ttdeci">int dst_port</div><div class="ttdef"><b>Definition:</b> packet.h:199</div></div>
142
+<div class="ttc" id="class_packet_html_a191dd835177b18f84fd64596249008cc"><div class="ttname"><a href="class_packet.html#a191dd835177b18f84fd64596249008cc">Packet::src_port</a></div><div class="ttdeci">int src_port</div><div class="ttdef"><b>Definition:</b> packet.h:198</div></div>
143
+<div class="ttc" id="class_packet_html_abe4ea1613634961b78de7c609b1f0c75"><div class="ttname"><a href="class_packet.html#abe4ea1613634961b78de7c609b1f0c75">Packet::packets</a></div><div class="ttdeci">int packets</div><div class="ttdef"><b>Definition:</b> packet.h:201</div></div>
144
+<div class="ttc" id="class_packet_html_a4a1c8c11292c6116e393245fbfad00b7"><div class="ttname"><a href="class_packet.html#a4a1c8c11292c6116e393245fbfad00b7">Packet::dst_addr</a></div><div class="ttdeci">string dst_addr</div><div class="ttdef"><b>Definition:</b> packet.h:197</div></div>
145
+<div class="ttc" id="class_packet_html_ad22856878226959be10e1a024e3446cc"><div class="ttname"><a href="class_packet.html#ad22856878226959be10e1a024e3446cc">Packet::src_addr</a></div><div class="ttdeci">string src_addr</div><div class="ttdef"><b>Definition:</b> packet.h:196</div></div>
146
+<div class="ttc" id="class_packet_html_a3dfcef408535f5e7ecdb3ef6bc3e9654"><div class="ttname"><a href="class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654">Packet::octects</a></div><div class="ttdeci">int octects</div><div class="ttdef"><b>Definition:</b> packet.h:200</div></div>
147
+<div class="ttc" id="class_packet_html_a72dbd5f3d8e2f802ebb4173c64495cda"><div class="ttname"><a href="class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda">Packet::enabled</a></div><div class="ttdeci">bool enabled</div><div class="ttdef"><b>Definition:</b> packet.h:202</div></div>
148
+<div class="ttc" id="class_packet_html"><div class="ttname"><a href="class_packet.html">Packet</a></div><div class="ttdoc">A class to represent packets. </div><div class="ttdef"><b>Definition:</b> packet.h:17</div></div>
149
+</div><!-- fragment --></div><!-- contents -->
150
+<!-- start footer part -->
151
+<hr class="footer"/><address class="footer"><small>
152
+Generated on Mon Jun 15 2015 12:46:26 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
153
+<img class="footer" src="doxygen.png" alt="doxygen"/>
154
+</a> 1.8.9.1
155
+</small></address>
156
+</body>
157
+</html>

+ 26
- 0
doc/en/html/search/all_0.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 6
- 0
doc/en/html/search/all_0.js 查看文件

@@ -0,0 +1,6 @@
1
+var searchData=
2
+[
3
+  ['disable',['disable',['../class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2',1,'Packet']]],
4
+  ['dst_5faddr',['dst_addr',['../class_packet.html#a4a1c8c11292c6116e393245fbfad00b7',1,'Packet']]],
5
+  ['dst_5fport',['dst_port',['../class_packet.html#ae8a78379783d1a2795318ca9118e77e3',1,'Packet']]]
6
+];

+ 26
- 0
doc/en/html/search/all_1.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/all_1.js 查看文件

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['enable',['enable',['../class_packet.html#a5b57162c18731c0186027f450670d14e',1,'Packet']]],
4
+  ['enabled',['enabled',['../class_packet.html#a72dbd5f3d8e2f802ebb4173c64495cda',1,'Packet']]]
5
+];

+ 26
- 0
doc/en/html/search/all_2.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_2.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 10
- 0
doc/en/html/search/all_2.js 查看文件

@@ -0,0 +1,10 @@
1
+var searchData=
2
+[
3
+  ['file_2ecpp',['File.cpp',['../_file_8cpp.html',1,'']]],
4
+  ['filltable',['FillTable',['../class_main_window.html#a683f392a1a8defb98890ee7839fc36e9',1,'MainWindow']]],
5
+  ['filter_2ecpp',['Filter.cpp',['../_filter_8cpp.html',1,'']]],
6
+  ['filterbydstaddr',['FilterByDstAddr',['../_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b',1,'Filter.cpp']]],
7
+  ['filterbydstport',['FilterByDstPort',['../_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff',1,'Filter.cpp']]],
8
+  ['filterbysrcaddr',['FilterBySrcAddr',['../_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb',1,'Filter.cpp']]],
9
+  ['filterbysrcport',['FilterBySrcPort',['../_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3',1,'Filter.cpp']]]
10
+];

+ 26
- 0
doc/en/html/search/all_3.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_3.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 8
- 0
doc/en/html/search/all_3.js 查看文件

@@ -0,0 +1,8 @@
1
+var searchData=
2
+[
3
+  ['getdstaddr',['getDstAddr',['../class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0',1,'Packet']]],
4
+  ['getdstport',['getDstPort',['../class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5',1,'Packet']]],
5
+  ['getpackets',['getPackets',['../class_packet.html#a6ee74fd953f6d57d56e48a596d897f05',1,'Packet']]],
6
+  ['getsrcaddr',['getSrcAddr',['../class_packet.html#a3e9aed01edd0023e97276041894c5c1f',1,'Packet']]],
7
+  ['getsrcport',['getSrcPort',['../class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f',1,'Packet']]]
8
+];

+ 26
- 0
doc/en/html/search/all_4.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_4.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_4.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html',1,'MainWindow'],['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow::MainWindow()']]]
4
+];

+ 26
- 0
doc/en/html/search/all_5.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_5.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 13
- 0
doc/en/html/search/all_5.js 查看文件

@@ -0,0 +1,13 @@
1
+var searchData=
2
+[
3
+  ['octects',['octects',['../class_packet.html#a3dfcef408535f5e7ecdb3ef6bc3e9654',1,'Packet']]],
4
+  ['on_5factionabout_5ftriggered',['on_actionAbout_triggered',['../class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f',1,'MainWindow']]],
5
+  ['on_5factionexit_5ftriggered',['on_actionExit_triggered',['../class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb',1,'MainWindow']]],
6
+  ['on_5factionload_5fnetwork_5fdata_5ftriggered',['on_actionLoad_Network_Data_triggered',['../class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8',1,'MainWindow']]],
7
+  ['on_5fclearbutton_5fclicked',['on_clearButton_clicked',['../class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09',1,'MainWindow']]],
8
+  ['on_5ffilter_5fbox_5fcurrentindexchanged',['on_Filter_Box_currentIndexChanged',['../class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a',1,'MainWindow']]],
9
+  ['on_5fopenfile_5fclicked',['on_openFile_clicked',['../class_main_window.html#ad157e69c40c80314586029f2a7c5e549',1,'MainWindow']]],
10
+  ['on_5frunfilter_5fclicked',['on_runFilter_clicked',['../class_main_window.html#aad306460c28905c974d8e58e08397f99',1,'MainWindow']]],
11
+  ['on_5fsavefile_5fclicked',['on_saveFile_clicked',['../class_main_window.html#ab3e951300c848b088b3879ebc8795366',1,'MainWindow']]],
12
+  ['on_5fsortbutton_5fclicked',['on_sortButton_clicked',['../class_main_window.html#a61c4e49fee19b65db919ba88847dda14',1,'MainWindow']]]
13
+];

+ 26
- 0
doc/en/html/search/all_6.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_6.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/all_6.js 查看文件

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['packet',['Packet',['../class_packet.html',1,'Packet'],['../class_packet.html#aabcfb963c0d5bc0fa554668f92989622',1,'Packet::Packet()'],['../class_packet.html#a46516634a765e6fea19a4df08406adc8',1,'Packet::Packet(string, string, int, int, int, int)']]],
4
+  ['packets',['packets',['../class_packet.html#abe4ea1613634961b78de7c609b1f0c75',1,'Packet']]]
5
+];

+ 26
- 0
doc/en/html/search/all_7.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_7.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_7.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['readfile',['ReadFile',['../_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa',1,'File.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/all_8.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_8.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 16
- 0
doc/en/html/search/all_8.js 查看文件

@@ -0,0 +1,16 @@
1
+var searchData=
2
+[
3
+  ['savefile',['SaveFile',['../_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada',1,'File.cpp']]],
4
+  ['setdstaddr',['setDstAddr',['../class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c',1,'Packet']]],
5
+  ['setdstport',['setDstPort',['../class_packet.html#ab51c81cc6958913652b3fe5316ec6af3',1,'Packet']]],
6
+  ['setpackets',['setPackets',['../class_packet.html#acfb4620179dba167031a8e8b1cad0c25',1,'Packet']]],
7
+  ['setsrcaddr',['setSrcAddr',['../class_packet.html#a8c939968eb35f357884900bf8794a3d7',1,'Packet']]],
8
+  ['setsrcport',['setSrcPort',['../class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807',1,'Packet']]],
9
+  ['sort_2ecpp',['Sort.cpp',['../_sort_8cpp.html',1,'']]],
10
+  ['sortbydstaddr',['SortByDstAddr',['../_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06',1,'Sort.cpp']]],
11
+  ['sortbydstport',['SortByDstPort',['../_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1',1,'Sort.cpp']]],
12
+  ['sortbysrcaddr',['SortBySrcAddr',['../_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4',1,'Sort.cpp']]],
13
+  ['sortbysrcport',['SortBySrcPort',['../_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0',1,'Sort.cpp']]],
14
+  ['src_5faddr',['src_addr',['../class_packet.html#ad22856878226959be10e1a024e3446cc',1,'Packet']]],
15
+  ['src_5fport',['src_port',['../class_packet.html#a191dd835177b18f84fd64596249008cc',1,'Packet']]]
16
+];

+ 26
- 0
doc/en/html/search/all_9.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="all_9.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/all_9.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['_7emainwindow',['~MainWindow',['../class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7',1,'MainWindow']]]
4
+];

+ 26
- 0
doc/en/html/search/classes_0.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="classes_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/classes_0.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html',1,'']]]
4
+];

+ 26
- 0
doc/en/html/search/classes_1.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="classes_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/classes_1.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['packet',['Packet',['../class_packet.html',1,'']]]
4
+];

二進制
doc/en/html/search/close.png 查看文件


+ 26
- 0
doc/en/html/search/files_0.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="files_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 5
- 0
doc/en/html/search/files_0.js 查看文件

@@ -0,0 +1,5 @@
1
+var searchData=
2
+[
3
+  ['file_2ecpp',['File.cpp',['../_file_8cpp.html',1,'']]],
4
+  ['filter_2ecpp',['Filter.cpp',['../_filter_8cpp.html',1,'']]]
5
+];

+ 26
- 0
doc/en/html/search/files_1.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="files_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/files_1.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['sort_2ecpp',['Sort.cpp',['../_sort_8cpp.html',1,'']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_0.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_0.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['disable',['disable',['../class_packet.html#a0c16d1f66f1fd8c99e9e760cf2ce07f2',1,'Packet']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_1.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_1.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_1.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['enable',['enable',['../class_packet.html#a5b57162c18731c0186027f450670d14e',1,'Packet']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_2.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_2.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 8
- 0
doc/en/html/search/functions_2.js 查看文件

@@ -0,0 +1,8 @@
1
+var searchData=
2
+[
3
+  ['filltable',['FillTable',['../class_main_window.html#a683f392a1a8defb98890ee7839fc36e9',1,'MainWindow']]],
4
+  ['filterbydstaddr',['FilterByDstAddr',['../_filter_8cpp.html#a9f395b6c2eb6869a448e665f6a36899b',1,'Filter.cpp']]],
5
+  ['filterbydstport',['FilterByDstPort',['../_filter_8cpp.html#ac1337ad2421d6cecc4c3537497899eff',1,'Filter.cpp']]],
6
+  ['filterbysrcaddr',['FilterBySrcAddr',['../_filter_8cpp.html#af27aa7e4f067db1d57c18a9b457188bb',1,'Filter.cpp']]],
7
+  ['filterbysrcport',['FilterBySrcPort',['../_filter_8cpp.html#a8526311093aaa2a5ab7181948e197bd3',1,'Filter.cpp']]]
8
+];

+ 26
- 0
doc/en/html/search/functions_3.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_3.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 8
- 0
doc/en/html/search/functions_3.js 查看文件

@@ -0,0 +1,8 @@
1
+var searchData=
2
+[
3
+  ['getdstaddr',['getDstAddr',['../class_packet.html#a092161eb22c1ff6ffa2eb9961d3868b0',1,'Packet']]],
4
+  ['getdstport',['getDstPort',['../class_packet.html#a92347c94882b6e5b3209cc70ea0d77b5',1,'Packet']]],
5
+  ['getpackets',['getPackets',['../class_packet.html#a6ee74fd953f6d57d56e48a596d897f05',1,'Packet']]],
6
+  ['getsrcaddr',['getSrcAddr',['../class_packet.html#a3e9aed01edd0023e97276041894c5c1f',1,'Packet']]],
7
+  ['getsrcport',['getSrcPort',['../class_packet.html#acf4fbcd48861393cbc96c6aeb9e5846f',1,'Packet']]]
8
+];

+ 26
- 0
doc/en/html/search/functions_4.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_4.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_4.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['mainwindow',['MainWindow',['../class_main_window.html#a8b244be8b7b7db1b08de2a2acb9409db',1,'MainWindow']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_5.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_5.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 12
- 0
doc/en/html/search/functions_5.js 查看文件

@@ -0,0 +1,12 @@
1
+var searchData=
2
+[
3
+  ['on_5factionabout_5ftriggered',['on_actionAbout_triggered',['../class_main_window.html#a4f3ebda1ba39e0ef4d678b44893c9c7f',1,'MainWindow']]],
4
+  ['on_5factionexit_5ftriggered',['on_actionExit_triggered',['../class_main_window.html#ab4487c4b02224acd4a0193d38b704ddb',1,'MainWindow']]],
5
+  ['on_5factionload_5fnetwork_5fdata_5ftriggered',['on_actionLoad_Network_Data_triggered',['../class_main_window.html#aa10532679b9fbb9e6533cc3be2d709a8',1,'MainWindow']]],
6
+  ['on_5fclearbutton_5fclicked',['on_clearButton_clicked',['../class_main_window.html#a112c4dec1d0a8c15b019f77530f8bd09',1,'MainWindow']]],
7
+  ['on_5ffilter_5fbox_5fcurrentindexchanged',['on_Filter_Box_currentIndexChanged',['../class_main_window.html#a30fc96d8024d5afa7127c6cf440acb6a',1,'MainWindow']]],
8
+  ['on_5fopenfile_5fclicked',['on_openFile_clicked',['../class_main_window.html#ad157e69c40c80314586029f2a7c5e549',1,'MainWindow']]],
9
+  ['on_5frunfilter_5fclicked',['on_runFilter_clicked',['../class_main_window.html#aad306460c28905c974d8e58e08397f99',1,'MainWindow']]],
10
+  ['on_5fsavefile_5fclicked',['on_saveFile_clicked',['../class_main_window.html#ab3e951300c848b088b3879ebc8795366',1,'MainWindow']]],
11
+  ['on_5fsortbutton_5fclicked',['on_sortButton_clicked',['../class_main_window.html#a61c4e49fee19b65db919ba88847dda14',1,'MainWindow']]]
12
+];

+ 26
- 0
doc/en/html/search/functions_6.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_6.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_6.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['packet',['Packet',['../class_packet.html#aabcfb963c0d5bc0fa554668f92989622',1,'Packet::Packet()'],['../class_packet.html#a46516634a765e6fea19a4df08406adc8',1,'Packet::Packet(string, string, int, int, int, int)']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_7.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_7.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_7.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['readfile',['ReadFile',['../_file_8cpp.html#a96e719837f9e8411f62b2f2657a584aa',1,'File.cpp']]]
4
+];

+ 26
- 0
doc/en/html/search/functions_8.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_8.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 13
- 0
doc/en/html/search/functions_8.js 查看文件

@@ -0,0 +1,13 @@
1
+var searchData=
2
+[
3
+  ['savefile',['SaveFile',['../_file_8cpp.html#ac1832c1450b6f14379b397e6f90f3ada',1,'File.cpp']]],
4
+  ['setdstaddr',['setDstAddr',['../class_packet.html#acaa3e1703fe14b9a39d4c4426453e65c',1,'Packet']]],
5
+  ['setdstport',['setDstPort',['../class_packet.html#ab51c81cc6958913652b3fe5316ec6af3',1,'Packet']]],
6
+  ['setpackets',['setPackets',['../class_packet.html#acfb4620179dba167031a8e8b1cad0c25',1,'Packet']]],
7
+  ['setsrcaddr',['setSrcAddr',['../class_packet.html#a8c939968eb35f357884900bf8794a3d7',1,'Packet']]],
8
+  ['setsrcport',['setSrcPort',['../class_packet.html#a9844970ffe7eb2ecf6e2407a39f04807',1,'Packet']]],
9
+  ['sortbydstaddr',['SortByDstAddr',['../_sort_8cpp.html#a3965d0285c20667ca88fe8462fd73d06',1,'Sort.cpp']]],
10
+  ['sortbydstport',['SortByDstPort',['../_sort_8cpp.html#a529786e870ea5cb7f83637588eb002a1',1,'Sort.cpp']]],
11
+  ['sortbysrcaddr',['SortBySrcAddr',['../_sort_8cpp.html#ad2fc2c965f1b9dba889b6f7435c8ffe4',1,'Sort.cpp']]],
12
+  ['sortbysrcport',['SortBySrcPort',['../_sort_8cpp.html#a15775a2c4ca51ad037d87b15c7b67bf0',1,'Sort.cpp']]]
13
+];

+ 26
- 0
doc/en/html/search/functions_9.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="functions_9.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 4
- 0
doc/en/html/search/functions_9.js 查看文件

@@ -0,0 +1,4 @@
1
+var searchData=
2
+[
3
+  ['_7emainwindow',['~MainWindow',['../class_main_window.html#ae98d00a93bc118200eeef9f9bba1dba7',1,'MainWindow']]]
4
+];

二進制
doc/en/html/search/mag_sel.png 查看文件


+ 12
- 0
doc/en/html/search/nomatches.html 查看文件

@@ -0,0 +1,12 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<link rel="stylesheet" type="text/css" href="search.css"/>
5
+<script type="text/javascript" src="search.js"></script>
6
+</head>
7
+<body class="SRPage">
8
+<div id="SRIndex">
9
+<div class="SRStatus" id="NoMatches">No Matches</div>
10
+</div>
11
+</body>
12
+</html>

+ 271
- 0
doc/en/html/search/search.css 查看文件

@@ -0,0 +1,271 @@
1
+/*---------------- Search Box */
2
+
3
+#FSearchBox {
4
+    float: left;
5
+}
6
+
7
+#MSearchBox {
8
+    white-space : nowrap;
9
+    position: absolute;
10
+    float: none;
11
+    display: inline;
12
+    margin-top: 8px;
13
+    right: 0px;
14
+    width: 170px;
15
+    z-index: 102;
16
+    background-color: white;
17
+}
18
+
19
+#MSearchBox .left
20
+{
21
+    display:block;
22
+    position:absolute;
23
+    left:10px;
24
+    width:20px;
25
+    height:19px;
26
+    background:url('search_l.png') no-repeat;
27
+    background-position:right;
28
+}
29
+
30
+#MSearchSelect {
31
+    display:block;
32
+    position:absolute;
33
+    width:20px;
34
+    height:19px;
35
+}
36
+
37
+.left #MSearchSelect {
38
+    left:4px;
39
+}
40
+
41
+.right #MSearchSelect {
42
+    right:5px;
43
+}
44
+
45
+#MSearchField {
46
+    display:block;
47
+    position:absolute;
48
+    height:19px;
49
+    background:url('search_m.png') repeat-x;
50
+    border:none;
51
+    width:111px;
52
+    margin-left:20px;
53
+    padding-left:4px;
54
+    color: #909090;
55
+    outline: none;
56
+    font: 9pt Arial, Verdana, sans-serif;
57
+}
58
+
59
+#FSearchBox #MSearchField {
60
+    margin-left:15px;
61
+}
62
+
63
+#MSearchBox .right {
64
+    display:block;
65
+    position:absolute;
66
+    right:10px;
67
+    top:0px;
68
+    width:20px;
69
+    height:19px;
70
+    background:url('search_r.png') no-repeat;
71
+    background-position:left;
72
+}
73
+
74
+#MSearchClose {
75
+    display: none;
76
+    position: absolute;
77
+    top: 4px;
78
+    background : none;
79
+    border: none;
80
+    margin: 0px 4px 0px 0px;
81
+    padding: 0px 0px;
82
+    outline: none;
83
+}
84
+
85
+.left #MSearchClose {
86
+    left: 6px;
87
+}
88
+
89
+.right #MSearchClose {
90
+    right: 2px;
91
+}
92
+
93
+.MSearchBoxActive #MSearchField {
94
+    color: #000000;
95
+}
96
+
97
+/*---------------- Search filter selection */
98
+
99
+#MSearchSelectWindow {
100
+    display: none;
101
+    position: absolute;
102
+    left: 0; top: 0;
103
+    border: 1px solid #90A5CE;
104
+    background-color: #F9FAFC;
105
+    z-index: 1;
106
+    padding-top: 4px;
107
+    padding-bottom: 4px;
108
+    -moz-border-radius: 4px;
109
+    -webkit-border-top-left-radius: 4px;
110
+    -webkit-border-top-right-radius: 4px;
111
+    -webkit-border-bottom-left-radius: 4px;
112
+    -webkit-border-bottom-right-radius: 4px;
113
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
114
+}
115
+
116
+.SelectItem {
117
+    font: 8pt Arial, Verdana, sans-serif;
118
+    padding-left:  2px;
119
+    padding-right: 12px;
120
+    border: 0px;
121
+}
122
+
123
+span.SelectionMark {
124
+    margin-right: 4px;
125
+    font-family: monospace;
126
+    outline-style: none;
127
+    text-decoration: none;
128
+}
129
+
130
+a.SelectItem {
131
+    display: block;
132
+    outline-style: none;
133
+    color: #000000; 
134
+    text-decoration: none;
135
+    padding-left:   6px;
136
+    padding-right: 12px;
137
+}
138
+
139
+a.SelectItem:focus,
140
+a.SelectItem:active {
141
+    color: #000000; 
142
+    outline-style: none;
143
+    text-decoration: none;
144
+}
145
+
146
+a.SelectItem:hover {
147
+    color: #FFFFFF;
148
+    background-color: #3D578C;
149
+    outline-style: none;
150
+    text-decoration: none;
151
+    cursor: pointer;
152
+    display: block;
153
+}
154
+
155
+/*---------------- Search results window */
156
+
157
+iframe#MSearchResults {
158
+    width: 60ex;
159
+    height: 15em;
160
+}
161
+
162
+#MSearchResultsWindow {
163
+    display: none;
164
+    position: absolute;
165
+    left: 0; top: 0;
166
+    border: 1px solid #000;
167
+    background-color: #EEF1F7;
168
+}
169
+
170
+/* ----------------------------------- */
171
+
172
+
173
+#SRIndex {
174
+    clear:both; 
175
+    padding-bottom: 15px;
176
+}
177
+
178
+.SREntry {
179
+    font-size: 10pt;
180
+    padding-left: 1ex;
181
+}
182
+
183
+.SRPage .SREntry {
184
+    font-size: 8pt;
185
+    padding: 1px 5px;
186
+}
187
+
188
+body.SRPage {
189
+    margin: 5px 2px;
190
+}
191
+
192
+.SRChildren {
193
+    padding-left: 3ex; padding-bottom: .5em 
194
+}
195
+
196
+.SRPage .SRChildren {
197
+    display: none;
198
+}
199
+
200
+.SRSymbol {
201
+    font-weight: bold; 
202
+    color: #425E97;
203
+    font-family: Arial, Verdana, sans-serif;
204
+    text-decoration: none;
205
+    outline: none;
206
+}
207
+
208
+a.SRScope {
209
+    display: block;
210
+    color: #425E97; 
211
+    font-family: Arial, Verdana, sans-serif;
212
+    text-decoration: none;
213
+    outline: none;
214
+}
215
+
216
+a.SRSymbol:focus, a.SRSymbol:active,
217
+a.SRScope:focus, a.SRScope:active {
218
+    text-decoration: underline;
219
+}
220
+
221
+span.SRScope {
222
+    padding-left: 4px;
223
+}
224
+
225
+.SRPage .SRStatus {
226
+    padding: 2px 5px;
227
+    font-size: 8pt;
228
+    font-style: italic;
229
+}
230
+
231
+.SRResult {
232
+    display: none;
233
+}
234
+
235
+DIV.searchresults {
236
+    margin-left: 10px;
237
+    margin-right: 10px;
238
+}
239
+
240
+/*---------------- External search page results */
241
+
242
+.searchresult {
243
+    background-color: #F0F3F8;
244
+}
245
+
246
+.pages b {
247
+   color: white;
248
+   padding: 5px 5px 3px 5px;
249
+   background-image: url("../tab_a.png");
250
+   background-repeat: repeat-x;
251
+   text-shadow: 0 1px 1px #000000;
252
+}
253
+
254
+.pages {
255
+    line-height: 17px;
256
+    margin-left: 4px;
257
+    text-decoration: none;
258
+}
259
+
260
+.hl {
261
+    font-weight: bold;
262
+}
263
+
264
+#searchresults {
265
+    margin-bottom: 20px;
266
+}
267
+
268
+.searchpages {
269
+    margin-top: 10px;
270
+}
271
+

+ 791
- 0
doc/en/html/search/search.js 查看文件

@@ -0,0 +1,791 @@
1
+function convertToId(search)
2
+{
3
+  var result = '';
4
+  for (i=0;i<search.length;i++)
5
+  {
6
+    var c = search.charAt(i);
7
+    var cn = c.charCodeAt(0);
8
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
9
+    {
10
+      result+=c;
11
+    }
12
+    else if (cn<16)
13
+    {
14
+      result+="_0"+cn.toString(16);
15
+    }
16
+    else
17
+    {
18
+      result+="_"+cn.toString(16);
19
+    }
20
+  }
21
+  return result;
22
+}
23
+
24
+function getXPos(item)
25
+{
26
+  var x = 0;
27
+  if (item.offsetWidth)
28
+  {
29
+    while (item && item!=document.body)
30
+    {
31
+      x   += item.offsetLeft;
32
+      item = item.offsetParent;
33
+    }
34
+  }
35
+  return x;
36
+}
37
+
38
+function getYPos(item)
39
+{
40
+  var y = 0;
41
+  if (item.offsetWidth)
42
+  {
43
+     while (item && item!=document.body)
44
+     {
45
+       y   += item.offsetTop;
46
+       item = item.offsetParent;
47
+     }
48
+  }
49
+  return y;
50
+}
51
+
52
+/* A class handling everything associated with the search panel.
53
+
54
+   Parameters:
55
+   name - The name of the global variable that will be
56
+          storing this instance.  Is needed to be able to set timeouts.
57
+   resultPath - path to use for external files
58
+*/
59
+function SearchBox(name, resultsPath, inFrame, label)
60
+{
61
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
62
+
63
+  // ---------- Instance variables
64
+  this.name                  = name;
65
+  this.resultsPath           = resultsPath;
66
+  this.keyTimeout            = 0;
67
+  this.keyTimeoutLength      = 500;
68
+  this.closeSelectionTimeout = 300;
69
+  this.lastSearchValue       = "";
70
+  this.lastResultsPage       = "";
71
+  this.hideTimeout           = 0;
72
+  this.searchIndex           = 0;
73
+  this.searchActive          = false;
74
+  this.insideFrame           = inFrame;
75
+  this.searchLabel           = label;
76
+
77
+  // ----------- DOM Elements
78
+
79
+  this.DOMSearchField = function()
80
+  {  return document.getElementById("MSearchField");  }
81
+
82
+  this.DOMSearchSelect = function()
83
+  {  return document.getElementById("MSearchSelect");  }
84
+
85
+  this.DOMSearchSelectWindow = function()
86
+  {  return document.getElementById("MSearchSelectWindow");  }
87
+
88
+  this.DOMPopupSearchResults = function()
89
+  {  return document.getElementById("MSearchResults");  }
90
+
91
+  this.DOMPopupSearchResultsWindow = function()
92
+  {  return document.getElementById("MSearchResultsWindow");  }
93
+
94
+  this.DOMSearchClose = function()
95
+  {  return document.getElementById("MSearchClose"); }
96
+
97
+  this.DOMSearchBox = function()
98
+  {  return document.getElementById("MSearchBox");  }
99
+
100
+  // ------------ Event Handlers
101
+
102
+  // Called when focus is added or removed from the search field.
103
+  this.OnSearchFieldFocus = function(isActive)
104
+  {
105
+    this.Activate(isActive);
106
+  }
107
+
108
+  this.OnSearchSelectShow = function()
109
+  {
110
+    var searchSelectWindow = this.DOMSearchSelectWindow();
111
+    var searchField        = this.DOMSearchSelect();
112
+
113
+    if (this.insideFrame)
114
+    {
115
+      var left = getXPos(searchField);
116
+      var top  = getYPos(searchField);
117
+      left += searchField.offsetWidth + 6;
118
+      top += searchField.offsetHeight;
119
+
120
+      // show search selection popup
121
+      searchSelectWindow.style.display='block';
122
+      left -= searchSelectWindow.offsetWidth;
123
+      searchSelectWindow.style.left =  left + 'px';
124
+      searchSelectWindow.style.top  =  top  + 'px';
125
+    }
126
+    else
127
+    {
128
+      var left = getXPos(searchField);
129
+      var top  = getYPos(searchField);
130
+      top += searchField.offsetHeight;
131
+
132
+      // show search selection popup
133
+      searchSelectWindow.style.display='block';
134
+      searchSelectWindow.style.left =  left + 'px';
135
+      searchSelectWindow.style.top  =  top  + 'px';
136
+    }
137
+
138
+    // stop selection hide timer
139
+    if (this.hideTimeout)
140
+    {
141
+      clearTimeout(this.hideTimeout);
142
+      this.hideTimeout=0;
143
+    }
144
+    return false; // to avoid "image drag" default event
145
+  }
146
+
147
+  this.OnSearchSelectHide = function()
148
+  {
149
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
150
+                                  this.closeSelectionTimeout);
151
+  }
152
+
153
+  // Called when the content of the search field is changed.
154
+  this.OnSearchFieldChange = function(evt)
155
+  {
156
+    if (this.keyTimeout) // kill running timer
157
+    {
158
+      clearTimeout(this.keyTimeout);
159
+      this.keyTimeout = 0;
160
+    }
161
+
162
+    var e  = (evt) ? evt : window.event; // for IE
163
+    if (e.keyCode==40 || e.keyCode==13)
164
+    {
165
+      if (e.shiftKey==1)
166
+      {
167
+        this.OnSearchSelectShow();
168
+        var win=this.DOMSearchSelectWindow();
169
+        for (i=0;i<win.childNodes.length;i++)
170
+        {
171
+          var child = win.childNodes[i]; // get span within a
172
+          if (child.className=='SelectItem')
173
+          {
174
+            child.focus();
175
+            return;
176
+          }
177
+        }
178
+        return;
179
+      }
180
+      else if (window.frames.MSearchResults.searchResults)
181
+      {
182
+        var elem = window.frames.MSearchResults.searchResults.NavNext(0);
183
+        if (elem) elem.focus();
184
+      }
185
+    }
186
+    else if (e.keyCode==27) // Escape out of the search field
187
+    {
188
+      this.DOMSearchField().blur();
189
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
190
+      this.DOMSearchClose().style.display = 'none';
191
+      this.lastSearchValue = '';
192
+      this.Activate(false);
193
+      return;
194
+    }
195
+
196
+    // strip whitespaces
197
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
198
+
199
+    if (searchValue != this.lastSearchValue) // search value has changed
200
+    {
201
+      if (searchValue != "") // non-empty search
202
+      {
203
+        // set timer for search update
204
+        this.keyTimeout = setTimeout(this.name + '.Search()',
205
+                                     this.keyTimeoutLength);
206
+      }
207
+      else // empty search field
208
+      {
209
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
210
+        this.DOMSearchClose().style.display = 'none';
211
+        this.lastSearchValue = '';
212
+      }
213
+    }
214
+  }
215
+
216
+  this.SelectItemCount = function(id)
217
+  {
218
+    var count=0;
219
+    var win=this.DOMSearchSelectWindow();
220
+    for (i=0;i<win.childNodes.length;i++)
221
+    {
222
+      var child = win.childNodes[i]; // get span within a
223
+      if (child.className=='SelectItem')
224
+      {
225
+        count++;
226
+      }
227
+    }
228
+    return count;
229
+  }
230
+
231
+  this.SelectItemSet = function(id)
232
+  {
233
+    var i,j=0;
234
+    var win=this.DOMSearchSelectWindow();
235
+    for (i=0;i<win.childNodes.length;i++)
236
+    {
237
+      var child = win.childNodes[i]; // get span within a
238
+      if (child.className=='SelectItem')
239
+      {
240
+        var node = child.firstChild;
241
+        if (j==id)
242
+        {
243
+          node.innerHTML='&#8226;';
244
+        }
245
+        else
246
+        {
247
+          node.innerHTML='&#160;';
248
+        }
249
+        j++;
250
+      }
251
+    }
252
+  }
253
+
254
+  // Called when an search filter selection is made.
255
+  // set item with index id as the active item
256
+  this.OnSelectItem = function(id)
257
+  {
258
+    this.searchIndex = id;
259
+    this.SelectItemSet(id);
260
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
261
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
262
+    {
263
+      this.Search();
264
+    }
265
+  }
266
+
267
+  this.OnSearchSelectKey = function(evt)
268
+  {
269
+    var e = (evt) ? evt : window.event; // for IE
270
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
271
+    {
272
+      this.searchIndex++;
273
+      this.OnSelectItem(this.searchIndex);
274
+    }
275
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
276
+    {
277
+      this.searchIndex--;
278
+      this.OnSelectItem(this.searchIndex);
279
+    }
280
+    else if (e.keyCode==13 || e.keyCode==27)
281
+    {
282
+      this.OnSelectItem(this.searchIndex);
283
+      this.CloseSelectionWindow();
284
+      this.DOMSearchField().focus();
285
+    }
286
+    return false;
287
+  }
288
+
289
+  // --------- Actions
290
+
291
+  // Closes the results window.
292
+  this.CloseResultsWindow = function()
293
+  {
294
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
295
+    this.DOMSearchClose().style.display = 'none';
296
+    this.Activate(false);
297
+  }
298
+
299
+  this.CloseSelectionWindow = function()
300
+  {
301
+    this.DOMSearchSelectWindow().style.display = 'none';
302
+  }
303
+
304
+  // Performs a search.
305
+  this.Search = function()
306
+  {
307
+    this.keyTimeout = 0;
308
+
309
+    // strip leading whitespace
310
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
311
+
312
+    var code = searchValue.toLowerCase().charCodeAt(0);
313
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
314
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
315
+    {
316
+      idxChar = searchValue.substr(0, 2);
317
+    }
318
+
319
+    var resultsPage;
320
+    var resultsPageWithSearch;
321
+    var hasResultsPage;
322
+
323
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
324
+    if (idx!=-1)
325
+    {
326
+       var hexCode=idx.toString(16);
327
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
328
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
329
+       hasResultsPage = true;
330
+    }
331
+    else // nothing available for this search term
332
+    {
333
+       resultsPage = this.resultsPath + '/nomatches.html';
334
+       resultsPageWithSearch = resultsPage;
335
+       hasResultsPage = false;
336
+    }
337
+
338
+    window.frames.MSearchResults.location = resultsPageWithSearch;
339
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
340
+
341
+    if (domPopupSearchResultsWindow.style.display!='block')
342
+    {
343
+       var domSearchBox = this.DOMSearchBox();
344
+       this.DOMSearchClose().style.display = 'inline';
345
+       if (this.insideFrame)
346
+       {
347
+         var domPopupSearchResults = this.DOMPopupSearchResults();
348
+         domPopupSearchResultsWindow.style.position = 'relative';
349
+         domPopupSearchResultsWindow.style.display  = 'block';
350
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
351
+         domPopupSearchResultsWindow.style.width    = width + 'px';
352
+         domPopupSearchResults.style.width          = width + 'px';
353
+       }
354
+       else
355
+       {
356
+         var domPopupSearchResults = this.DOMPopupSearchResults();
357
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
358
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
359
+         domPopupSearchResultsWindow.style.display = 'block';
360
+         left -= domPopupSearchResults.offsetWidth;
361
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
362
+         domPopupSearchResultsWindow.style.left    = left + 'px';
363
+       }
364
+    }
365
+
366
+    this.lastSearchValue = searchValue;
367
+    this.lastResultsPage = resultsPage;
368
+  }
369
+
370
+  // -------- Activation Functions
371
+
372
+  // Activates or deactivates the search panel, resetting things to
373
+  // their default values if necessary.
374
+  this.Activate = function(isActive)
375
+  {
376
+    if (isActive || // open it
377
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
378
+       )
379
+    {
380
+      this.DOMSearchBox().className = 'MSearchBoxActive';
381
+
382
+      var searchField = this.DOMSearchField();
383
+
384
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
385
+      {
386
+        searchField.value = '';
387
+        this.searchActive = true;
388
+      }
389
+    }
390
+    else if (!isActive) // directly remove the panel
391
+    {
392
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
393
+      this.DOMSearchField().value   = this.searchLabel;
394
+      this.searchActive             = false;
395
+      this.lastSearchValue          = ''
396
+      this.lastResultsPage          = '';
397
+    }
398
+  }
399
+}
400
+
401
+// -----------------------------------------------------------------------
402
+
403
+// The class that handles everything on the search results page.
404
+function SearchResults(name)
405
+{
406
+    // The number of matches from the last run of <Search()>.
407
+    this.lastMatchCount = 0;
408
+    this.lastKey = 0;
409
+    this.repeatOn = false;
410
+
411
+    // Toggles the visibility of the passed element ID.
412
+    this.FindChildElement = function(id)
413
+    {
414
+      var parentElement = document.getElementById(id);
415
+      var element = parentElement.firstChild;
416
+
417
+      while (element && element!=parentElement)
418
+      {
419
+        if (element.nodeName == 'DIV' && element.className == 'SRChildren')
420
+        {
421
+          return element;
422
+        }
423
+
424
+        if (element.nodeName == 'DIV' && element.hasChildNodes())
425
+        {
426
+           element = element.firstChild;
427
+        }
428
+        else if (element.nextSibling)
429
+        {
430
+           element = element.nextSibling;
431
+        }
432
+        else
433
+        {
434
+          do
435
+          {
436
+            element = element.parentNode;
437
+          }
438
+          while (element && element!=parentElement && !element.nextSibling);
439
+
440
+          if (element && element!=parentElement)
441
+          {
442
+            element = element.nextSibling;
443
+          }
444
+        }
445
+      }
446
+    }
447
+
448
+    this.Toggle = function(id)
449
+    {
450
+      var element = this.FindChildElement(id);
451
+      if (element)
452
+      {
453
+        if (element.style.display == 'block')
454
+        {
455
+          element.style.display = 'none';
456
+        }
457
+        else
458
+        {
459
+          element.style.display = 'block';
460
+        }
461
+      }
462
+    }
463
+
464
+    // Searches for the passed string.  If there is no parameter,
465
+    // it takes it from the URL query.
466
+    //
467
+    // Always returns true, since other documents may try to call it
468
+    // and that may or may not be possible.
469
+    this.Search = function(search)
470
+    {
471
+      if (!search) // get search word from URL
472
+      {
473
+        search = window.location.search;
474
+        search = search.substring(1);  // Remove the leading '?'
475
+        search = unescape(search);
476
+      }
477
+
478
+      search = search.replace(/^ +/, ""); // strip leading spaces
479
+      search = search.replace(/ +$/, ""); // strip trailing spaces
480
+      search = search.toLowerCase();
481
+      search = convertToId(search);
482
+
483
+      var resultRows = document.getElementsByTagName("div");
484
+      var matches = 0;
485
+
486
+      var i = 0;
487
+      while (i < resultRows.length)
488
+      {
489
+        var row = resultRows.item(i);
490
+        if (row.className == "SRResult")
491
+        {
492
+          var rowMatchName = row.id.toLowerCase();
493
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
494
+
495
+          if (search.length<=rowMatchName.length &&
496
+             rowMatchName.substr(0, search.length)==search)
497
+          {
498
+            row.style.display = 'block';
499
+            matches++;
500
+          }
501
+          else
502
+          {
503
+            row.style.display = 'none';
504
+          }
505
+        }
506
+        i++;
507
+      }
508
+      document.getElementById("Searching").style.display='none';
509
+      if (matches == 0) // no results
510
+      {
511
+        document.getElementById("NoMatches").style.display='block';
512
+      }
513
+      else // at least one result
514
+      {
515
+        document.getElementById("NoMatches").style.display='none';
516
+      }
517
+      this.lastMatchCount = matches;
518
+      return true;
519
+    }
520
+
521
+    // return the first item with index index or higher that is visible
522
+    this.NavNext = function(index)
523
+    {
524
+      var focusItem;
525
+      while (1)
526
+      {
527
+        var focusName = 'Item'+index;
528
+        focusItem = document.getElementById(focusName);
529
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
530
+        {
531
+          break;
532
+        }
533
+        else if (!focusItem) // last element
534
+        {
535
+          break;
536
+        }
537
+        focusItem=null;
538
+        index++;
539
+      }
540
+      return focusItem;
541
+    }
542
+
543
+    this.NavPrev = function(index)
544
+    {
545
+      var focusItem;
546
+      while (1)
547
+      {
548
+        var focusName = 'Item'+index;
549
+        focusItem = document.getElementById(focusName);
550
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
551
+        {
552
+          break;
553
+        }
554
+        else if (!focusItem) // last element
555
+        {
556
+          break;
557
+        }
558
+        focusItem=null;
559
+        index--;
560
+      }
561
+      return focusItem;
562
+    }
563
+
564
+    this.ProcessKeys = function(e)
565
+    {
566
+      if (e.type == "keydown")
567
+      {
568
+        this.repeatOn = false;
569
+        this.lastKey = e.keyCode;
570
+      }
571
+      else if (e.type == "keypress")
572
+      {
573
+        if (!this.repeatOn)
574
+        {
575
+          if (this.lastKey) this.repeatOn = true;
576
+          return false; // ignore first keypress after keydown
577
+        }
578
+      }
579
+      else if (e.type == "keyup")
580
+      {
581
+        this.lastKey = 0;
582
+        this.repeatOn = false;
583
+      }
584
+      return this.lastKey!=0;
585
+    }
586
+
587
+    this.Nav = function(evt,itemIndex)
588
+    {
589
+      var e  = (evt) ? evt : window.event; // for IE
590
+      if (e.keyCode==13) return true;
591
+      if (!this.ProcessKeys(e)) return false;
592
+
593
+      if (this.lastKey==38) // Up
594
+      {
595
+        var newIndex = itemIndex-1;
596
+        var focusItem = this.NavPrev(newIndex);
597
+        if (focusItem)
598
+        {
599
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
600
+          if (child && child.style.display == 'block') // children visible
601
+          {
602
+            var n=0;
603
+            var tmpElem;
604
+            while (1) // search for last child
605
+            {
606
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
607
+              if (tmpElem)
608
+              {
609
+                focusItem = tmpElem;
610
+              }
611
+              else // found it!
612
+              {
613
+                break;
614
+              }
615
+              n++;
616
+            }
617
+          }
618
+        }
619
+        if (focusItem)
620
+        {
621
+          focusItem.focus();
622
+        }
623
+        else // return focus to search field
624
+        {
625
+           parent.document.getElementById("MSearchField").focus();
626
+        }
627
+      }
628
+      else if (this.lastKey==40) // Down
629
+      {
630
+        var newIndex = itemIndex+1;
631
+        var focusItem;
632
+        var item = document.getElementById('Item'+itemIndex);
633
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
634
+        if (elem && elem.style.display == 'block') // children visible
635
+        {
636
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
637
+        }
638
+        if (!focusItem) focusItem = this.NavNext(newIndex);
639
+        if (focusItem)  focusItem.focus();
640
+      }
641
+      else if (this.lastKey==39) // Right
642
+      {
643
+        var item = document.getElementById('Item'+itemIndex);
644
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
645
+        if (elem) elem.style.display = 'block';
646
+      }
647
+      else if (this.lastKey==37) // Left
648
+      {
649
+        var item = document.getElementById('Item'+itemIndex);
650
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
651
+        if (elem) elem.style.display = 'none';
652
+      }
653
+      else if (this.lastKey==27) // Escape
654
+      {
655
+        parent.searchBox.CloseResultsWindow();
656
+        parent.document.getElementById("MSearchField").focus();
657
+      }
658
+      else if (this.lastKey==13) // Enter
659
+      {
660
+        return true;
661
+      }
662
+      return false;
663
+    }
664
+
665
+    this.NavChild = function(evt,itemIndex,childIndex)
666
+    {
667
+      var e  = (evt) ? evt : window.event; // for IE
668
+      if (e.keyCode==13) return true;
669
+      if (!this.ProcessKeys(e)) return false;
670
+
671
+      if (this.lastKey==38) // Up
672
+      {
673
+        if (childIndex>0)
674
+        {
675
+          var newIndex = childIndex-1;
676
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
677
+        }
678
+        else // already at first child, jump to parent
679
+        {
680
+          document.getElementById('Item'+itemIndex).focus();
681
+        }
682
+      }
683
+      else if (this.lastKey==40) // Down
684
+      {
685
+        var newIndex = childIndex+1;
686
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
687
+        if (!elem) // last child, jump to parent next parent
688
+        {
689
+          elem = this.NavNext(itemIndex+1);
690
+        }
691
+        if (elem)
692
+        {
693
+          elem.focus();
694
+        }
695
+      }
696
+      else if (this.lastKey==27) // Escape
697
+      {
698
+        parent.searchBox.CloseResultsWindow();
699
+        parent.document.getElementById("MSearchField").focus();
700
+      }
701
+      else if (this.lastKey==13) // Enter
702
+      {
703
+        return true;
704
+      }
705
+      return false;
706
+    }
707
+}
708
+
709
+function setKeyActions(elem,action)
710
+{
711
+  elem.setAttribute('onkeydown',action);
712
+  elem.setAttribute('onkeypress',action);
713
+  elem.setAttribute('onkeyup',action);
714
+}
715
+
716
+function setClassAttr(elem,attr)
717
+{
718
+  elem.setAttribute('class',attr);
719
+  elem.setAttribute('className',attr);
720
+}
721
+
722
+function createResults()
723
+{
724
+  var results = document.getElementById("SRResults");
725
+  for (var e=0; e<searchData.length; e++)
726
+  {
727
+    var id = searchData[e][0];
728
+    var srResult = document.createElement('div');
729
+    srResult.setAttribute('id','SR_'+id);
730
+    setClassAttr(srResult,'SRResult');
731
+    var srEntry = document.createElement('div');
732
+    setClassAttr(srEntry,'SREntry');
733
+    var srLink = document.createElement('a');
734
+    srLink.setAttribute('id','Item'+e);
735
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
736
+    setClassAttr(srLink,'SRSymbol');
737
+    srLink.innerHTML = searchData[e][1][0];
738
+    srEntry.appendChild(srLink);
739
+    if (searchData[e][1].length==2) // single result
740
+    {
741
+      srLink.setAttribute('href',searchData[e][1][1][0]);
742
+      if (searchData[e][1][1][1])
743
+      {
744
+       srLink.setAttribute('target','_parent');
745
+      }
746
+      var srScope = document.createElement('span');
747
+      setClassAttr(srScope,'SRScope');
748
+      srScope.innerHTML = searchData[e][1][1][2];
749
+      srEntry.appendChild(srScope);
750
+    }
751
+    else // multiple results
752
+    {
753
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
754
+      var srChildren = document.createElement('div');
755
+      setClassAttr(srChildren,'SRChildren');
756
+      for (var c=0; c<searchData[e][1].length-1; c++)
757
+      {
758
+        var srChild = document.createElement('a');
759
+        srChild.setAttribute('id','Item'+e+'_c'+c);
760
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
761
+        setClassAttr(srChild,'SRScope');
762
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
763
+        if (searchData[e][1][c+1][1])
764
+        {
765
+         srChild.setAttribute('target','_parent');
766
+        }
767
+        srChild.innerHTML = searchData[e][1][c+1][2];
768
+        srChildren.appendChild(srChild);
769
+      }
770
+      srEntry.appendChild(srChildren);
771
+    }
772
+    srResult.appendChild(srEntry);
773
+    results.appendChild(srResult);
774
+  }
775
+}
776
+
777
+function init_search()
778
+{
779
+  var results = document.getElementById("MSearchSelectWindow");
780
+  for (var key in indexSectionLabels)
781
+  {
782
+    var link = document.createElement('a');
783
+    link.setAttribute('class','SelectItem');
784
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
785
+    link.href='javascript:void(0)';
786
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
787
+    results.appendChild(link);
788
+  }
789
+  searchBox.OnSelectItem(0);
790
+}
791
+

二進制
doc/en/html/search/search_l.png 查看文件


二進制
doc/en/html/search/search_m.png 查看文件


二進制
doc/en/html/search/search_r.png 查看文件


+ 27
- 0
doc/en/html/search/searchdata.js 查看文件

@@ -0,0 +1,27 @@
1
+var indexSectionsWithContent =
2
+{
3
+  0: "defgmoprs~",
4
+  1: "mp",
5
+  2: "fs",
6
+  3: "defgmoprs~",
7
+  4: "deops"
8
+};
9
+
10
+var indexSectionNames =
11
+{
12
+  0: "all",
13
+  1: "classes",
14
+  2: "files",
15
+  3: "functions",
16
+  4: "variables"
17
+};
18
+
19
+var indexSectionLabels =
20
+{
21
+  0: "All",
22
+  1: "Classes",
23
+  2: "Files",
24
+  3: "Functions",
25
+  4: "Variables"
26
+};
27
+

+ 26
- 0
doc/en/html/search/variables_0.html 查看文件

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+<html><head><title></title>
3
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4
+<meta name="generator" content="Doxygen 1.8.9.1"/>
5
+<link rel="stylesheet" type="text/css" href="search.css"/>
6
+<script type="text/javascript" src="variables_0.js"></script>
7
+<script type="text/javascript" src="search.js"></script>
8
+</head>
9
+<body class="SRPage">
10
+<div id="SRIndex">
11
+<div class="SRStatus" id="Loading">Loading...</div>
12
+<div id="SRResults"></div>
13
+<script type="text/javascript"><!--
14
+createResults();
15
+--></script>
16
+<div class="SRStatus" id="Searching">Searching...</div>
17
+<div class="SRStatus" id="NoMatches">No Matches</div>
18
+<script type="text/javascript"><!--
19
+document.getElementById("Loading").style.display="none";
20
+document.getElementById("NoMatches").style.display="none";
21
+var searchResults = new SearchResults("searchResults");
22
+searchResults.Search();
23
+--></script>
24
+</div>
25
+</body>
26
+</html>

+ 0
- 0
doc/en/html/search/variables_0.js 查看文件


部分文件因文件數量過多而無法顯示