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