dummyscheduler.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <qfile.h>
00026 #include <qtextstream.h>
00027
00028 #include <kdebug.h>
00029
00030 #include "event.h"
00031 #include "icalformat.h"
00032
00033 #include "dummyscheduler.h"
00034
00035 using namespace KCal;
00036
00037 DummyScheduler::DummyScheduler(Calendar *calendar)
00038 : Scheduler(calendar)
00039 {
00040 }
00041
00042 DummyScheduler::~DummyScheduler()
00043 {
00044 }
00045
00046 bool DummyScheduler::publish (IncidenceBase *incidence,const QString &recipients)
00047 {
00048 QString messageText = mFormat->createScheduleMessage(incidence,
00049 Scheduler::Publish);
00050
00051 return saveMessage(messageText);
00052 }
00053
00054 bool DummyScheduler::performTransaction(IncidenceBase *incidence,Method method,const QString &recipients)
00055 {
00056 QString messageText = mFormat->createScheduleMessage(incidence,method);
00057
00058 return saveMessage(messageText);
00059 }
00060
00061 bool DummyScheduler::performTransaction(IncidenceBase *incidence,Method method)
00062 {
00063 QString messageText = mFormat->createScheduleMessage(incidence,method);
00064
00065 return saveMessage(messageText);
00066 }
00067
00068 bool DummyScheduler::saveMessage(const QString &message)
00069 {
00070 QFile f("dummyscheduler.store");
00071 if (f.open(IO_WriteOnly | IO_Append)) {
00072 QTextStream t(&f);
00073 t << message << endl;
00074 f.close();
00075 return true;
00076 } else {
00077 return false;
00078 }
00079 }
00080
00081 QPtrList<ScheduleMessage> DummyScheduler::retrieveTransactions()
00082 {
00083 QPtrList<ScheduleMessage> messageList;
00084
00085 QFile f("dummyscheduler.store");
00086 if (!f.open(IO_ReadOnly)) {
00087 kdDebug(5800) << "DummyScheduler::retrieveTransactions(): Can't open file"
00088 << endl;
00089 } else {
00090 QTextStream t(&f);
00091 QString messageString;
00092 QString messageLine = t.readLine();
00093 while (!messageLine.isNull()) {
00094
00095 messageString += messageLine + "\n";
00096 if (messageLine.find("END:VCALENDAR") >= 0) {
00097 kdDebug(5800) << "---------------" << messageString << endl;
00098 ScheduleMessage *message = mFormat->parseScheduleMessage(mCalendar,
00099 messageString);
00100 kdDebug(5800) << "--Parsed" << endl;
00101 if (message) {
00102 messageList.append(message);
00103 } else {
00104 QString errorMessage;
00105 if (mFormat->exception()) {
00106 errorMessage = mFormat->exception()->message();
00107 }
00108 kdDebug(5800) << "DummyScheduler::retrieveTransactions() Error parsing "
00109 "message: " << errorMessage << endl;
00110 }
00111 messageString="";
00112 }
00113 messageLine = t.readLine();
00114 }
00115 f.close();
00116 }
00117
00118 return messageList;
00119 }
This file is part of the documentation for kdelibs Version 3.1.4.