summaryrefslogtreecommitdiff
path: root/libopie2/tools/regen.py
authormickeyl <mickeyl>2003-11-08 20:39:38 (UTC)
committer mickeyl <mickeyl>2003-11-08 20:39:38 (UTC)
commiteb26b0413c269b898a24deb30d5602ac0c142a56 (patch) (side-by-side diff)
tree4e9b24ce6a9e8811eb9e62d8537b452921d4564d /libopie2/tools/regen.py
parent33d86bb19d4e21b95504ba3b16789d08b4820313 (diff)
downloadopie-eb26b0413c269b898a24deb30d5602ac0c142a56.zip
opie-eb26b0413c269b898a24deb30d5602ac0c142a56.tar.gz
opie-eb26b0413c269b898a24deb30d5602ac0c142a56.tar.bz2
refactor the debug mapper and make it more secure
Diffstat (limited to 'libopie2/tools/regen.py') (more/less context) (ignore whitespace changes)
-rwxr-xr-xlibopie2/tools/regen.py52
1 files changed, 41 insertions, 11 deletions
diff --git a/libopie2/tools/regen.py b/libopie2/tools/regen.py
index 2f7f418..9ad5352 100755
--- a/libopie2/tools/regen.py
+++ b/libopie2/tools/regen.py
@@ -20,32 +20,41 @@ except:
print >>tablehfile,"""
/*
- * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
+ * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
*/
-#ifndef IOCTLMAP_H
-#define IOCTLMAP_H
+#ifndef DEBUGMAPPER_H
+#define DEBUGMAPPER_H
#include <qstring.h>
#include <qintdict.h>
typedef QIntDict<QString> IntStringMap;
-IntStringMap* constructIoctlMap();
+class DebugMapper
+{
+ public:
+ DebugMapper();
+ ~DebugMapper();
+
+ const QString& map( int value ) const;
+ private:
+ IntStringMap _map;
+};
#endif
"""
print >>tablecfile,"""
/*
- * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
+ * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
*/
#include "%s"
-IntStringMap* constructIoctlMap()
+DebugMapper::DebugMapper()
{
-\tIntStringMap* map = new IntStringMap();
+ qDebug( "DebugMapper::DebugMapper()" );
""" % (tablehfile.name)
@@ -54,11 +63,32 @@ for line in result:
if not l[0].startswith( "#define" ) or not l[2].startswith( "0x" ):
print >>sys.stderr, "can't parse line: %s" % l
continue
- #print >>tablecfile, "\tqDebug( \"adding %s = %s\" );" % ( l[2], l[1] )
- print >>tablecfile, "\tmap->insert( %s, new QString(\"%s\") );" % ( l[2], l[1] )
+ print >>tablecfile, " _map.insert( %s, new QString(\"%s\") );" % ( l[2], l[1] )
print >>tablecfile,"""
-\treturn map;
};
-""" \ No newline at end of file
+
+
+DebugMapper::~DebugMapper()
+{
+ qDebug( "DebugMapper::~DebugMapper()" );
+}
+
+
+const QString& DebugMapper::map( int value ) const
+{
+ QString* result = _map[ value ];
+
+ if ( !result )
+ {
+ qDebug( "DebugMapper::map() - value not found." );
+ return QString::null;
+ }
+ else
+ {
+ return *result;
+ }
+}
+
+"""