00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include "printcapentry.h"
00021
00022
QString Field::toString()
const
00023
{
00024
QString s = name;
00025
switch (type)
00026 {
00027
case String:
00028 s += (
"=" + value);
00029
break;
00030
case Integer:
00031 s += (
"#" + value);
00032
break;
00033
case Boolean:
00034
if (!value.toInt())
00035 s +=
"@";
00036
break;
00037 }
00038
return s;
00039 }
00040
00041
bool PrintcapEntry::writeEntry(
QTextStream& t)
00042 {
00043 t << comment << endl;
00044 t << name;
00045
if (aliases.count() > 0)
00046 t <<
'|' << aliases.join(
"|");
00047 t <<
':';
00048
for (
QMap<QString,Field>::ConstIterator it=fields.begin(); it!=fields.end(); ++it)
00049 {
00050 t <<
'\\' << endl <<
" :";
00051 t << (*it).name;
00052
switch ((*it).type)
00053 {
00054
case Field::String:
00055 t <<
'=' << (*it).value <<
':';
00056
break;
00057
case Field::Integer:
00058 t <<
'#' << (*it).value <<
':';
00059
break;
00060
case Field::Boolean:
00061 t <<
':';
00062
break;
00063
default:
00064 t << endl << endl;
00065
return false;
00066 }
00067 }
00068 t << endl;
00069
if (!postcomment.isEmpty())
00070 t << postcomment << endl;
00071 t << endl;
00072
return true;
00073 }
00074
00075
void PrintcapEntry::addField(
const QString& name, Field::Type type,
const QString& value)
00076 {
00077 Field f;
00078 f.name = name;
00079 f.type = type;
00080 f.value = value;
00081 fields[name] = f;
00082 }