/* This file is part of Kandy. Copyright (c) 2001 Cornelius Schumacher This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As a special exception, permission is given to link this program with any edition of TQt, and distribute the resulting executable, without including the source code for TQt in the source distribution. */ #include #include #include #include #include "atcommand.h" #include "commandset.h" CommandSet::CommandSet() { mList.setAutoDelete(true); } CommandSet::~CommandSet() { } void CommandSet::addCommand(ATCommand *command) { mList.append(command); } void CommandSet::deleteCommand(ATCommand *command) { mList.removeRef(command); } bool CommandSet::loadFile(const TQString& filename) { // kdDebug(5960) << "CommandSet::loadFile(): " << filename << endl; TQDomDocument doc("Kandy"); TQFile f(filename); if (!f.open(IO_ReadOnly)) return false; if (!doc.setContent(&f)) { f.close(); return false; } f.close(); TQDomNodeList commands = doc.elementsByTagName("command"); for(uint i=0;isetCmdName(c->attribute("name","unknown")); command->setCmdString(c->attribute("string","at")); command->setHexOutput(c->attribute("hexoutput","n") == "y"); TQDomNode n = c->firstChild(); while(!n.isNull()) { TQDomElement e = n.toElement(); if (!e.isNull()) { ATParameter *p = new ATParameter; p->setName(e.attribute("name","unnamed")); p->setValue(e.attribute("value","0")); p->setUserInput(e.attribute("userinput","n") == "y"); command->addParameter(p); } n = n.nextSibling(); } } void CommandSet::saveCommand(ATCommand *command,TQDomDocument *doc, TQDomElement *parent) { TQDomElement c = doc->createElement("command"); c.setAttribute("name",command->cmdName()); c.setAttribute("string",command->cmdString()); c.setAttribute("hexoutput",command->hexOutput() ? "y" : "n"); parent->appendChild(c); TQPtrList paras = command->parameters(); for(uint i=0;icreateElement("parameter"); e.setAttribute("name",p->name()); e.setAttribute("value",p->value()); e.setAttribute("userinput",p->userInput() ? "y" : "n"); parent->appendChild(e); }