• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

Nepomuk-Core

  • sources
  • kde-4.12
  • kdelibs
  • nepomuk-core
  • services
  • filewatch
metadatamover.h
Go to the documentation of this file.
1 /* This file is part of the KDE Project
2  Copyright (c) 2009-2011 Sebastian Trueg <trueg@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License version 2 as published by the Free Software Foundation.
7 
8  This library is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  Library General Public License for more details.
12 
13  You should have received a copy of the GNU Library General Public License
14  along with this library; see the file COPYING.LIB. If not, write to
15  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16  Boston, MA 02110-1301, USA.
17 */
18 
19 #ifndef _NEPOMUK_METADATA_MOVER_H_
20 #define _NEPOMUK_METADATA_MOVER_H_
21 
22 #include <QtCore/QMutex>
23 #include <QtCore/QQueue>
24 #include <QtCore/QSet>
25 #include <QtCore/QDateTime>
26 
27 #include <KUrl>
28 
29 #include "updaterequest.h"
30 
31 class QTimer;
32 
33 namespace Soprano {
34  class Model;
35 }
36 
37 namespace Nepomuk2 {
38  class MetadataMover : public QObject
39  {
40  Q_OBJECT
41 
42  public:
43  MetadataMover( Soprano::Model* model, QObject* parent = 0 );
44  ~MetadataMover();
45 
46  public Q_SLOTS:
47  void moveFileMetadata( const KUrl& from, const KUrl& to );
48  void removeFileMetadata( const KUrl& file );
49  void removeFileMetadata( const KUrl::List& files );
50 
51  Q_SIGNALS:
59  void movedWithoutData( const QString& path );
60 
66  void statusMessage(const QString &msg);
67 
71  void metadataUpdateStarted();
72 
76  void metadataUpdateStopped();
77 
78  private Q_SLOTS:
79  void slotWorkUpdateQueue();
80 
84  void slotStartUpdateTimer();
85 
86  private:
90  void removeMetadata( const KUrl& url );
91 
96  void updateMetadata( const KUrl& from, const KUrl& to );
97 
98  // if the second url is empty, just delete the metadata
99  QQueue<UpdateRequest> m_updateQueue;
100 
101  QMutex m_queueMutex;
102 
103  QTimer* m_queueTimer;
104 
105  Soprano::Model* m_model;
106  };
107 }
108 
109 #endif
Nepomuk2::MetadataMover
Definition: metadatamover.h:38
Nepomuk2::MetadataMover::metadataUpdateStopped
void metadataUpdateStopped()
Emitted once all remove/move requests are finished.
Nepomuk2::MetadataMover::moveFileMetadata
void moveFileMetadata(const KUrl &from, const KUrl &to)
Definition: metadatamover.cpp:57
QObject
Nepomuk2::MetadataMover::MetadataMover
MetadataMover(Soprano::Model *model, QObject *parent=0)
Definition: metadatamover.cpp:38
Nepomuk2::MetadataMover::~MetadataMover
~MetadataMover()
Definition: metadatamover.cpp:52
Nepomuk2::MetadataMover::statusMessage
void statusMessage(const QString &msg)
Emitted once for each remove and/or move requests.
Nepomuk2::MetadataMover::movedWithoutData
void movedWithoutData(const QString &path)
Emitted for files (and folders) that have been moved but do not have metadata to be moved...
updaterequest.h
Nepomuk2::MetadataMover::removeFileMetadata
void removeFileMetadata(const KUrl &file)
Definition: metadatamover.cpp:73
Nepomuk2::MetadataMover::metadataUpdateStarted
void metadataUpdateStarted()
Emitted once remove/move requests are started.
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:48:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Nepomuk-Core

Skip menu "Nepomuk-Core"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal