-
Notifications
You must be signed in to change notification settings - Fork 0
/
Filtre.h
98 lines (71 loc) · 3.15 KB
/
Filtre.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
/*************************************************************************
Filtre
-------------------
début : 09/01/2019
copyright : (C) 2019 par Jacquot Pierre
Villenave Sophie
*************************************************************************/
//---------- Interface de la classe <Filtre> (fichier Filtre.h) ----------
#if ! defined ( FILTRE_H )
#define FILTRE_H
//--------------------------------------------------- Interfaces utilisées
#include <string>
#include <vector>
//------------------------------------------------------------- Constantes
//------------------------------------------------------------------ Types
//------------------------------------------------------------------------
// Rôle de la classe <Filtre> :
// Permet de créer des filtres applicables aux lignes d'un log Apache.
// On peut rajouter des filtres en ajoutant un héritier à la classe mère
// Filtre.
//------------------------------------------------------------------------
class Filtre
{
//----------------------------------------------------------------- PUBLIC
public:
//----------------------------------------------------- Methodes publiques
virtual bool LigneEstConforme ( const std::vector<std::string> & infos ) const = 0;
//Mode d'emploi :
// Retourne vrai si les infos de la ligne passées en paramètres sont
// correct du point de vue du filtre.
//-------------------------------------------------- Surchage d'opérateurs
//------------------------------------------- Constructeurs - Destructeurs
Filtre ( );
virtual ~Filtre ( );
//------------------------------------------------------------------ PRIVE
protected:
//----------------------------------------------------- Methodes protégées
//----------------------------------------------------- Attributs protégés
};
//------------------------------- Autres définitions dépendantes de Filtre
class FiltreHeure : public Filtre
{
//----------------------------------------------------------------- PUBLIC
public:
//----------------------------------------------------- Methodes publiques
virtual bool LigneEstConforme ( const std::vector<std::string> & infos ) const;
//------------------------------------------- Constructeurs - Destructeurs
FiltreHeure ( int heure );
virtual ~FiltreHeure ( );
//------------------------------------------------------------------ PRIVE
private:
int Heure;
};
class FiltreExtensions : public Filtre
{
//----------------------------------------------------------------- PUBLIC
public:
//----------------------------------------------------- Methodes publiques
virtual bool LigneEstConforme ( const std::vector<std::string> & infos ) const;
//------------------------------------------- Constructeurs - Destructeurs
FiltreExtensions ( string * extensions , unsigned int length );
// Mode d'emploi :
// Construit un objet en copiant le contenu dans le tableau fourni
// en paramètre dans ExtensionsInterdites.
virtual ~FiltreExtensions ( );
//------------------------------------------------------------------ PRIVE
private:
unsigned int NbExtensions;
string * ExtensionsInterdites;
};
#endif // ! defined ( FILTRE_H )