calendarui/calenplugins/agendaeventviewerplugin/inc/eventviewerplugininterface.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 14:57:40 +0300
changeset 18 c198609911f9
child 23 fd30d51f876b
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: Header file for EventViewer Plugin Interface
*
*/

#ifndef EVENTVIEWERPLUGININTERFACE_H
#define EVENTVIEWERPLUGININTERFACE_H

// System includes
#include <QObject>
#include <QtPlugin>
#include <qglobal.h>

// Forward declarations
class QFile;
class QString;
class AgendaUtil;
class AgendaEntry;

#define CALENDAR_EVENTVIEWER_PLUGIN_PATH QString("z:/resource/qt/plugins/calendar")
#define CALENDAR_EVENTVIEWER_PLUGIN_NAME QString("agendaeventviewerplugin.qtplugin")

class EventViewerPluginInterface : public QObject
{
	Q_OBJECT
	
public:
	enum Actions {
		ActionEdit = 0x01,
		ActionDelete = 0x02,
		ActionEditDelete = ActionEdit | ActionDelete,
		ActionSave = 0x04
	};
	virtual ~EventViewerPluginInterface() {}


		
public:
	virtual void viewEvent(const ulong id, 
	                       Actions action,
	                       AgendaUtil *agendaUtil) = 0;
	virtual void viewEvent(const QFile &fileHandle, 
	                       Actions action,
	                       AgendaUtil *agendaUtil) = 0;
	virtual void viewEvent(AgendaEntry entry,
	                       Actions action,
	                       AgendaUtil *agendaUtil) = 0;

signals:
	void viewingCompleted();
	void editingStarted();
	void editingCompleted();
	void deletingStarted();
	void deletingCompleted();

};

Q_DECLARE_INTERFACE(EventViewerPluginInterface, 
        "org.nokia.calendar.EventViewerPluginInterface/1.0")

#endif // EVENTVIEWERPLUGININTERFACE_H

// End of file