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

Nepomuk

  • Nepomuk
  • ResourceWatcher
Public Slots | Signals | Public Member Functions | List of all members
Nepomuk::ResourceWatcher Class Reference

#include <resourcewatcher.h>

Inheritance diagram for Nepomuk::ResourceWatcher:
Inheritance graph
[legend]

Public Slots

void addProperty (const Types::Property &property)
 
void addResource (const Nepomuk::Resource &res)
 
void addType (const Types::Class &type)
 
QList< Types::Property > properties () const
 
int propertyCount () const
 
void removeProperty (const Types::Property &property)
 
void removeResource (const Nepomuk::Resource &res)
 
void removeType (const Types::Class &type)
 
int resourceCount () const
 
QList< Nepomuk::Resource > resources () const
 
void setProperties (const QList< Types::Property > &properties_)
 
void setResources (const QList< Nepomuk::Resource > &resources_)
 
void setTypes (const QList< Types::Class > &types_)
 
bool start ()
 
void stop ()
 
int typeCount () const
 
QList< Types::Class > types () const
 

Signals

void propertyAdded (const Nepomuk::Resource &resource, const Nepomuk::Types::Property &property, const QVariant &value)
 
void propertyChanged (const Nepomuk::Resource &resource, const Nepomuk::Types::Property &property, const QVariantList &oldValue, const QVariantList &newValue)
 
void propertyRemoved (const Nepomuk::Resource &resource, const Nepomuk::Types::Property &property, const QVariant &value)
 
void resourceCreated (const Nepomuk::Resource &resource, const QList< QUrl > &types)
 
void resourceRemoved (const QUrl &uri, const QList< QUrl > &types)
 
void resourceTypeAdded (const Nepomuk::Resource &res, const Types::Class &type)
 
void resourceTypeRemoved (const Nepomuk::Resource &res, const Types::Class &type)
 

Public Member Functions

 ResourceWatcher (QObject *parent=0)
 
virtual ~ResourceWatcher ()
 

Detailed Description

Selectively monitor the nepomuk repository for changes.

Resources may be monitored on the basis of types, properties, and uris.

Changes may be monitored in one of the following ways:

  1. By resources - Specify the exact resources that should be watched. Any changes made to the specified resources (Excluding nepomuk_dms_metadata) will be notified through the propertyAdded() and propertyRemoved() signals. Notifications will also be sent if any of the watched resources is deleted.
  2. By resources and properties - Specify the exact resources and their properties. Any changes made to the specified resources which touch one of the specified properties will be notified through the propertyAdded() and propertyRemoved() signals.
  3. By types - Specific types may be specified via add/setType. If types are set, then notifications will be sent for all new resources of that type. This includes property changes and resource creation and removal. TODO: add flags that allow to only watch for resource creation and removal.
  4. By types and properties - Both the types and properties may be specified. Notifications will be sent for property changes in resource with the specified types.

Resource Watcher Usage Example

The following code creates a new ResourceWatcher, configures it to listen to changes on the nmm:performer property on one specific resource res.

Nepomuk::ResourceWatcher* watcher = new Nepomuk::ResourceWatcher(this);
watcher->addResource(res);
watcher->addProperty(NMM:performer());
connect(watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
this, SLOT(slotPropertyChanged()));
connect(watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
this, SLOT(slotPropertyChanged()));
rwatcher->start();
Author
Vishesh Handa handa.nosp@m..vis.nosp@m.h@gma.nosp@m.il.c.nosp@m.om, Sebastian Trueg trueg.nosp@m.@kde.nosp@m..org

Definition at line 78 of file resourcewatcher.h.

Constructor & Destructor Documentation

Nepomuk::ResourceWatcher::ResourceWatcher ( QObject *  parent = 0)

Create a new ResourceWatcher instance.

This instance will not emit any signals before it has been configured and started.

virtual Nepomuk::ResourceWatcher::~ResourceWatcher ( )
virtual

Destructor.

Member Function Documentation

void Nepomuk::ResourceWatcher::addProperty ( const Types::Property &  property)
slot

Add a property to be watched.

Every change to a value of this property will be signalled, depending on the configured resources() or types().

See also
setProperties()
void Nepomuk::ResourceWatcher::addResource ( const Nepomuk::Resource &  res)
slot

Add a resource to be watched.

Every change to this resource will be signalled, depending on the configured properties().

See also
setResources()
void Nepomuk::ResourceWatcher::addType ( const Types::Class &  type)
slot

Add a type to be watched.

Every resource of this type will be watched for changes.

See also
setTypes()
QList<Types::Property> Nepomuk::ResourceWatcher::properties ( ) const
slot

The properties that have been configured via addProperty() and setProperties().

Every change to a value of any of these properties will be signalled, depending on the configured resources() or types().

void Nepomuk::ResourceWatcher::propertyAdded ( const Nepomuk::Resource &  resource,
const Nepomuk::Types::Property &  property,
const QVariant &  value 
)
signal

This signal is emitted when a property value is added.

Parameters
resourceThe changed resource.
propertyThe property which has a new value.
valueThe newly added property value.
void Nepomuk::ResourceWatcher::propertyChanged ( const Nepomuk::Resource &  resource,
const Nepomuk::Types::Property &  property,
const QVariantList &  oldValue,
const QVariantList &  newValue 
)
signal

This signal is emitted when a property value is changed.

This signal cannot be emitted for all changes. It doesn't work if a property is first removed and then set, cause the Data Mangement Service does not maintain an internal cache for the purpose of emitting the propertyChanged signal.

Specially, since one could theoretically take forever between the removal and the setting of the property.

Parameters
resourceThe changed resource.
propertyThe property which was changed.
oldValueThe removed property value.
int Nepomuk::ResourceWatcher::propertyCount ( ) const
slot

Return the number of properties that are being watched.

This method is slightly faster than called properties().count()

See also
properties addProperty setProperty
void Nepomuk::ResourceWatcher::propertyRemoved ( const Nepomuk::Resource &  resource,
const Nepomuk::Types::Property &  property,
const QVariant &  value 
)
signal

This signal is emitted when a property value is removed.

Parameters
resourceThe changed resource.
propertyThe property which was changed.
valueThe removed property value.
void Nepomuk::ResourceWatcher::removeProperty ( const Types::Property &  property)
slot

Remove a property to be watched.

Every change to a value of this property will be signalled, depending on the configured resources() or types().

See also
setProperties()
void Nepomuk::ResourceWatcher::removeResource ( const Nepomuk::Resource &  res)
slot

Remove a resource to be watched.

Every change to this resource will be signalled, depending on the configured properties().

See also
setResources()
void Nepomuk::ResourceWatcher::removeType ( const Types::Class &  type)
slot

Remove a type to be watched.

Every resource of this type will be watched for changes.

See also
setTypes()
int Nepomuk::ResourceWatcher::resourceCount ( ) const
slot

Return the number of resources that are being watched.

This method is slightly faster than called resources().count()

See also
resources addResource setResources
void Nepomuk::ResourceWatcher::resourceCreated ( const Nepomuk::Resource &  resource,
const QList< QUrl > &  types 
)
signal

This signal is emitted when a new resource is created.

Parameters
resourceThe newly created resource.
typesThe types the new resource has. If types() have been configured this list will always contain one of the configured types.
void Nepomuk::ResourceWatcher::resourceRemoved ( const QUrl &  uri,
const QList< QUrl > &  types 
)
signal

This signal is emitted when a resource is deleted.

Parameters
uriThe resource URI of the removed resource.
typesThe types the removed resource had. If types() have been configured this list will always contain one of the configured types.
QList<Nepomuk::Resource> Nepomuk::ResourceWatcher::resources ( ) const
slot

The resources that have been configured via addResource() and setResources().

Every change to one of these resources will be signalled, depending on the configured properties().

void Nepomuk::ResourceWatcher::resourceTypeAdded ( const Nepomuk::Resource &  res,
const Types::Class &  type 
)
signal

This signal is emitted when a type has been added to a resource.

This does not include creation which is signalled via resourceCreated(). It only applies to changes in a resource's types.

Parameters
resThe changed resource.
typeThe newly added type. If types() have been configured it will be one of them.
void Nepomuk::ResourceWatcher::resourceTypeRemoved ( const Nepomuk::Resource &  res,
const Types::Class &  type 
)
signal

This signal is emitted when a type has been removed from a resource.

This does not include removal of entire resources which is signalled via resourceRemoved(). It only applies to changes in a resource's types.

Parameters
resThe changed resource.
typeThe removed type. If types() have been configured it will be one of them.
void Nepomuk::ResourceWatcher::setProperties ( const QList< Types::Property > &  properties_)
slot

Set the properties to be watched.

Every change to a value of any of these properties will be signalled, depending on the configured resources() or types().

See also
addProperty()
void Nepomuk::ResourceWatcher::setResources ( const QList< Nepomuk::Resource > &  resources_)
slot

Set the resources to be watched.

Every change to one of these resources will be signalled, depending on the configured properties().

See also
addResource()
void Nepomuk::ResourceWatcher::setTypes ( const QList< Types::Class > &  types_)
slot

Set the types to be watched.

Every resource having one of these types will be watched for changes.

See also
addType()
bool Nepomuk::ResourceWatcher::start ( )
slot

Start the signalling of changes.

Before calling this method no signal will be emitted. In combination with stop() this allows to suspend the watching. Calling start() multiple times has no effect.

void Nepomuk::ResourceWatcher::stop ( )
slot

Stop the signalling of changes.

Allows to stop the watcher which has been started via start(). Calling stop() multiple times has no effect.

int Nepomuk::ResourceWatcher::typeCount ( ) const
slot

Return the number of types that are being watched.

This method is slightly faster than called types().count()

See also
types addType setType
QList<Types::Class> Nepomuk::ResourceWatcher::types ( ) const
slot

The types that have been configured via addType() and setTypes().

Every resource having one of these types will be watched for changes.


The documentation for this class was generated from the following file:
  • resourcewatcher.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:48:02 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Nepomuk

Skip menu "Nepomuk"
  • 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