-rwxr-xr-x | libopie2/tools/regen.py | 52 |
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 @@ -1,64 +1,94 @@ #!/usr/bin/env python # # regenerate ioctl_table.h # import sys import os result = os.popen( 'find /usr/include -name "*.h" |xargs grep -h SIOC|grep 0x' ).readlines() try: tablehfile = file( sys.argv[1]+".h", "w" ) except: tablehfile = sys.stdout try: tablecfile = file( sys.argv[1]+".cpp", "w" ) except: tablecfile = sys.stdout 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) for line in result: l = line.split() 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; + } +} + +""" |