-
Notifications
You must be signed in to change notification settings - Fork 0
/
LectureLog.h
113 lines (86 loc) · 3.57 KB
/
LectureLog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*************************************************************************
LectureLog - Classe lisant une ligne d'un fichier
-------------------
début : 21/01/2019
copyright : (C) Mathéo ATCHE et Andréa CROC
e-mail : [email protected] et [email protected]
*************************************************************************/
//#define _CRT_SECURE_NO_WARNINGS
//---------- Interface de la classe <LectureLog> (fichier LectureLog.h) ----------------
#if ! defined ( LECTURELOG_H )
#define LECTURELOG_H
//--------------------------------------------------- Interfaces utilisées
#include<string>
//------------------------------------------------------------- Constantes
//------------------------------------------------------------------ Types
struct Ligne
{
string ip;
string date;
string typeAction;
string url;
string referer;
Ligne(string i = "", string d = "", string ta = "", string u = "", string r = "")
:ip(i), date(d), typeAction(ta), url(u), referer(r)
{}
};
//------------------------------------------------------------------------
// Rôle de la classe <LectureLog>
//Cette classe permet de lire la ligne courante d'un fichier log Apache et
//d'affecter à son attribut les caractéristiques de cette ligne qui sont
//l'ip, la date et l'heure de la requête, le type d'action excutée,
//l'url du document demandé et le referer
//
//------------------------------------------------------------------------
class LectureLog
{
//----------------------------------------------------------------- PUBLIC
public:
//----------------------------------------------------- Méthodes publiques
friend ostream & operator <<(ostream & os,const LectureLog & lect);
// Mode d'emploi : Déclaration de la fonction non-membre operator <<
//amie de la classe LectureLog
//Paramètres:
// -os est une référence à un flux de sortie pour afficher l'objet lect
// -lect est l'objet que l'on souhaite affiché
// Contrat : aucun
friend class AnalyseLog;
// Mode d'emploi : Déclaration de la classe AnalyseLog amie de la classe LectureLog
// Contrat : aucun
void LireLigneFichierLog ( ifstream & fic );
// Mode d'emploi : Lire la ligne courante du fichier fic
//et récupérer ses caractéristiques
//Paramètre :
// -fic est le nom du fichier que l'on veut lire
// Contrat :
//
//------------------------------------------------- Surcharge d'opérateurs
//LectureLog & operator = ( const LectureLog & unLectureLog );
// Mode d'emploi :
//
// Contrat :
//
//-------------------------------------------- Constructeurs - destructeur
//LectureLog ( const LectureLog & unLectureLog );
// Mode d'emploi (constructeur de copie) :
//
// Contrat :
//
LectureLog ( Ligne l = Ligne());
// Mode d'emploi : Contruit un LectureLog
//Paramètres :
// -l est un élément de la structure Ligne pour initialiser l'attribut ligneFichier
// Contrat : aucun
virtual ~LectureLog ( );
// Mode d'emploi : Détruit un LectureLog
//Paramètres : aucun
// Contrat : aucun
//------------------------------------------------------------------ PRIVE
protected:
//----------------------------------------------------- Méthodes protégées
//----------------------------------------------------- Attributs protégés
//Les caractéristiques d'un eligne d'un fichier
Ligne ligneFichier;
};
//-------------------------------- Autres définitions dépendantes de <LectureLog>
#endif // LECTURELOG_H