kitchensync Library API Documentation

unknownsyncee.cpp

00001 /*
00002     This file is part of KitchenSync.
00003 
00004     Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019     Boston, MA 02111-1307, USA.
00020 */
00021 
00022 #include "unknownsyncee.h"
00023 
00024 using namespace KSync;
00025 
00026 UnknownSyncEntry::UnknownSyncEntry( const QByteArray &array,
00027                                     const QString &path, Syncee *parent )
00028     : SyncEntry( parent ), mArray( array ), mPath( path )
00029 {
00030     mHasAccess = false;
00031     mMode = ByteArray;
00032     mTime = QDateTime::currentDateTime();
00033 }
00034 
00035 UnknownSyncEntry::UnknownSyncEntry( const QString &fileName,
00036                                     const QString &path, Syncee *parent )
00037     : SyncEntry( parent ), mPath( path ), mFileName( fileName )
00038 {
00039     mHasAccess = false;
00040     mMode = Tempfile;
00041     mTime = QDateTime::currentDateTime();
00042 }
00043 
00044 UnknownSyncEntry::UnknownSyncEntry( const UnknownSyncEntry& entry)
00045     : SyncEntry( entry )
00046 {
00047     mMode = entry.mMode;
00048     mHasAccess = entry.mHasAccess;
00049     mPath = entry.mPath;
00050     mArray = entry.mArray;
00051     mTime = entry.mTime;
00052 }
00053 
00054 UnknownSyncEntry::~UnknownSyncEntry()
00055 {
00056 }
00057 
00058 QByteArray UnknownSyncEntry::array() const
00059 {
00060     return mArray;
00061 }
00062 
00063 QString UnknownSyncEntry::path() const
00064 {
00065     return mPath;
00066 }
00067 
00068 QString UnknownSyncEntry::fileName() const
00069 {
00070     return mFileName;
00071 }
00072 
00073 int UnknownSyncEntry::mode() const
00074 {
00075     return mMode;
00076 }
00077 
00078 QDateTime UnknownSyncEntry::lastAccess() const
00079 {
00080     return mTime;
00081 }
00082 
00083 void UnknownSyncEntry::setLastAccess( const QDateTime& time )
00084 {
00085     mHasAccess = true;
00086     mTime = time;
00087 }
00088 
00089 QString UnknownSyncEntry::name()
00090 {
00091     return mPath;
00092 }
00093 
00094 QString UnknownSyncEntry::id()
00095 {
00096     QString ids;
00097     ids = mPath;
00098 
00099     return ids;
00100 }
00101 
00102 QString UnknownSyncEntry::timestamp()
00103 {
00104     if (mHasAccess )
00105         return mTime.toString();
00106     else
00107         return id();
00108 }
00109 
00110 QString UnknownSyncEntry::type() const
00111 {
00112     return QString::fromLatin1("UnknownSyncEntry");
00113 }
00114 
00115 bool UnknownSyncEntry::equals( SyncEntry* entry )
00116 {
00117     UnknownSyncEntry* unEntry = dynamic_cast<UnknownSyncEntry*> ( entry );
00118     if ( !unEntry )
00119         return false;
00120 
00121     if (mHasAccess == unEntry->mHasAccess &&
00122         mMode == unEntry->mMode &&
00123         mFileName == unEntry->mFileName &&
00124         mPath == unEntry->mPath &&
00125         mArray == unEntry->mArray) {
00126 
00127         if (mHasAccess )
00128             return (mTime == unEntry->mTime );
00129         else
00130             return true;
00131     }
00132     else
00133         return false;
00134 }
00135 
00136 SyncEntry* UnknownSyncEntry::clone()
00137 {
00138     return new UnknownSyncEntry( *this );
00139 }
00140 
00141 
00142 UnknownSyncee::UnknownSyncee() : Syncee()
00143 {
00144     mList.setAutoDelete( true );
00145 }
00146 
00147 UnknownSyncee::~UnknownSyncee()
00148 {
00149 }
00150 
00151 SyncEntry *UnknownSyncee::firstEntry()
00152 {
00153     return mList.first();
00154 }
00155 
00156 SyncEntry *UnknownSyncee::nextEntry()
00157 {
00158     return mList.next();
00159 }
00160 
00161 QString UnknownSyncee::type() const
00162 {
00163     return QString::fromLatin1("UnknownSyncee");
00164 }
00165 
00166 SyncEntry::PtrList UnknownSyncee::added()
00167 {
00168     return voidi();
00169 }
00170 
00171 SyncEntry::PtrList UnknownSyncee::modified()
00172 {
00173     return voidi();
00174 }
00175 
00176 SyncEntry::PtrList UnknownSyncee::removed()
00177 {
00178     return voidi();
00179 }
00180 
00181 SyncEntry::PtrList UnknownSyncee::voidi()
00182 {
00183     SyncEntry::PtrList list;
00184     return list;
00185 }
00186 
00187 void UnknownSyncee::addEntry( SyncEntry *entry )
00188 {
00189     UnknownSyncEntry *unEntry;
00190     unEntry = dynamic_cast<UnknownSyncEntry *> (entry);
00191     if (unEntry == 0 )
00192         return;
00193     unEntry->setSyncee( this );
00194     mList.append( unEntry );
00195 }
00196 
00197 void UnknownSyncee::removeEntry( SyncEntry *entry )
00198 {
00199     UnknownSyncEntry *unEntry;
00200     unEntry = dynamic_cast<UnknownSyncEntry *> (entry);
00201     if (unEntry == 0 )
00202         return;
00203     mList.remove( unEntry );
00204 }
00205 
00206 Syncee *UnknownSyncee::clone()
00207 {
00208     UnknownSyncee *syncee;
00209     syncee = new UnknownSyncee();
00210     // always FirstMode
00211     UnknownSyncEntry *entry;
00212     for ( entry = mList.first(); entry != 0; entry = mList.next() ) {
00213         syncee->addEntry( entry->clone() ); // should be casted up to UnknownSyncEntry again...
00214     }
00215     return syncee;
00216 }
KDE Logo
This file is part of the documentation for kitchensync Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 4 14:41:09 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003