root/trunk/todo_fr.txt

Revision 67, 4.5 KB (checked in by jc.lefebvre, 4 years ago)

Changed to ZLIB License.

Line 
1//***************************************************************************
2//
3// [ nCore ]
4//
5// Copyright (c) 2001-2008 Jean-Charles Lefebvre <jcl ATNOSPAM jcl DOT name>
6//
7// This file is part of nCore.
8//
9// This software is provided 'as-is', without any express or implied
10// warranty.  In no event will the authors be held liable for any damages
11// arising from the use of this software.
12//
13// Permission is granted to anyone to use this software for any purpose,
14// including commercial applications, and to alter it and redistribute it
15// freely, subject to the following restrictions :
16//
17// 1. The origin of this software must not be misrepresented; you must not
18//    claim that you wrote the original software. If you use this software
19//    in a product, an acknowledgment in the product documentation would be
20//    appreciated but is not required.
21// 2. Altered source versions must be plainly marked as such, and must not
22//    be misrepresented as being the original software.
23// 3. This notice may not be removed or altered from any source distribution.
24//
25//***************************************************************************
26
27
28//---------------------------------------------------------------------------
29// Very High Priority
30// "Do It Now !"
31//---------------------------------------------------------------------------
32
33
34//---------------------------------------------------------------------------
35// Normal Priority
36// "Do nothing in a hurry :)"
37//---------------------------------------------------------------------------
38
39
40//---------------------------------------------------------------------------
41// Low Priority
42// "Ideas which are considered"
43//---------------------------------------------------------------------------
44* Networking - NetServer
45  * Handle multiple accept() at time :
46    http://www.programmersheaven.com/mb/CandCPP/245610/245610/ReadMessage.aspx
47
48* Networking - Multicast
49
50* Networking - NAT / UPnP / NLA
51
52* Networking - MTU
53  * Etre "MTU-size-aware", rajouter une méthode statique dans NetSocket pour
54    définir la taille de la MTU et donc la taille maximale d'un paquet.
55  * Pour le calcul de la taille totale d'un paquet, ne pas oublier de
56    soustraire la taille du raw-header (le vrai) en fonction de la famille
57    d'adressage (IPv4, IPv6) et du protocol utilisé (TCP, UDP).
58
59* ConfigManager
60  * Interface unique pour ConfigFile et un ConfigWinRegistry-like.
61  * Attention au support des clés multiples (i.e. avec le même nom).
62  * Créer les méthodes RegisterSettingString, RegisterSettingBool,
63    RegisterSettingInt32, RegisterSettingInt64, RegisterSettingDouble et
64    RegisterSettingEnum comme suit :
65    RegisterSettingInt32 (const StringA& strName, int32 nDefaultValue=0, int32 nMinValue=0, int32 nMaxValue=0)
66    RegisterSettingEnum (const StringA& strName, int32 nDefaultValue=0, int32 nMinValue=0, int32 nMaxValue=0)
67  * Les settings seront stockées dans une multimap.
68  * Lors d'un Load(), l'implémentation du ConfigManager charge bien toutes
69    les valeurs trouvées puis ferme la source des données (file ou registry).
70  * Ajouter une méthode/option au manager pour créer
71
72* Autoconf / Automake
73  Avoir une version compilable perenne sur Linux aussi !
74  Scripts de configurations doivent être utilisable pour du cross-compiling;
75
76* StringA
77  Implementer les Regex Posix et Perl.
78  Ajouter les variables de controle NCORE_ENABLE_STRINGA_REGEX_POSIX et
79  NCORE_ENABLE_STRINGA_REGEX_PERL pour pouvoir les (dés)activer à la
80  compilation.
81
82* StringA
83  Faire une méthode pour calculer un relative path par rapport à un autre
84  path. Exemple : Je donne PathA et PathB et la méthode renvoie PathC avec :
85  PathA = c:/dir/test/file.ext
86  PathB = c:/my/very/long/path/fileB.ext
87  PathC = ../../my/very/long/path/fileB.ext
88  WARNING : Faire attention aux UNC sous Windows ("//server/share") !
89
90* nCorePrivate
91  * Passer les classes privées dans une nouveau namespace à part.
92  * using namespace nCore; namespace nCorePrivate {
93
94* System
95  Ajouter un paramètre de récursivité à FileSystem::Delete() à l'occasion :)
96
97* Codecs
98  Où implémenter les codecs ?
99  Les brancher sur un objet Streamer ?
100  Non, pas de codec à ce niveau : trop générique -> useless.
101  Donc pas de sous-système de codecs pour l'instant.
102  -> Conclusion : pour l'instant les besoins sont trop vagues...
103     Les préciser puis revoir le potentiel d'implémentation.
104
105* NetSmtpSender - CODEC support
106  * Setup d'un ou plusieurs CODEC pour l'envoi de fichiers joints.
Note: See TracBrowser for help on using the browser.