diff options
author | deloptes <deloptes@gmail.com> | 2016-09-26 21:07:55 +0200 |
---|---|---|
committer | Patrick Ohly <patrick.ohly@intel.com> | 2016-09-26 21:07:55 +0200 |
commit | cb34f4972bcbde44b8dc702fff3a7d791a317fc0 (patch) | |
tree | 14bcdf64034300e302e1e5797646dc9e86f91419 /src/backends/tdepim/TDEPIMNotesSource.h | |
parent | 8fccc44cc5dc745c90577cc50b1a5936f1cdd8be (diff) |
tde, tdepim: backend for the TDE desktop (FDO #97780)
This is the code for TDE < 14.1.
Diffstat (limited to 'src/backends/tdepim/TDEPIMNotesSource.h')
-rw-r--r-- | src/backends/tdepim/TDEPIMNotesSource.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/backends/tdepim/TDEPIMNotesSource.h b/src/backends/tdepim/TDEPIMNotesSource.h new file mode 100644 index 00000000..d8b1809a --- /dev/null +++ b/src/backends/tdepim/TDEPIMNotesSource.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2016 Emanoil Kotsev emanoil.kotsev@fincom.at + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) version 3. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + * + * + * $Id: TDEPIMNotesSource.h,v 1.5 2016/09/08 22:58:08 emanoil Exp $ + * + */ + +#ifndef INCL_TDEPIMNOTESSOURCE +#define INCL_TDEPIMNOTESSOURCE + +#include "config.h" + +#include "KNotesIface_stub.h" +#include <syncevo/TrackingSyncSource.h> + +#include <syncevo/declarations.h> +SE_BEGIN_CXX + +#ifdef ENABLE_TDEPIMNOTES + +/** + * Implements access to TDE memo lists (stored as knotes items), + * exporting/importing the memos in plain UTF-8 text. + */ +class TDEPIMNotesSource : public TrackingSyncSource, public SyncSourceLogging +{ + public: + TDEPIMNotesSource( const SyncSourceParams ¶ms ); + virtual ~TDEPIMNotesSource(); + // + // implementation of SyncSource + // + virtual Databases getDatabases(); + virtual void open(); + virtual bool isEmpty(); + virtual void close(); + virtual std::string getMimeType() const { return "text/plain"; } + virtual std::string getMimeVersion() const { return "1.0"; } + + /* implementation of TrackingSyncSource interface */ + virtual void listAllItems(RevisionMap_t &revisions); + virtual InsertItemResult insertItem(const string &luid, const std::string &item, bool raw); + void readItem(const std::string &luid, std::string &item, bool raw); + virtual void removeItem(const string &luid); + + /* implementation of SyncSourceLogging interface */ + virtual std::string getDescription(const string &luid); + +private: + TQString appId; + + KNotesIface_stub *kn_iface; + DCOPClient *kn_dcop; + + /** Ugly hack to restart KNotes if it was running */ + bool knotesWasRunning; + + /** + * This functions is used internally to strip HTML from the note + */ + static TQString stripHtml(TQString input); + + /** + * Implement some brief information extraction from the note + */ + virtual void getSynthesisInfo(SynthesisInfo &info, + XMLConfigFragments &fragments); + +}; + +#endif // ENABLE_TDEPIMNOTES + + +SE_END_CXX +#endif // INCL_TDEPIMNOTESSOURCE |