--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videocollection/tsrc/stubs/inc/videoservices.h Mon May 03 12:32:50 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2009 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: VideoServices class definition
+*
+*/
+
+#ifndef __VIDEOSERVICES_H__
+#define __VIDEOSERVICES_H__
+
+/**
+ *
+ * We need stub for this because it has static data and HW compilation of moc file fails because of that.
+ *
+ */
+
+#include <QStringList>
+
+//FORWARD CLASS DECLARATION
+class VideoServiceUriFetch;
+class VideoServicePlay;
+class VideoServiceView;
+class VideoServiceBrowse;
+class QVideoPlayerEngine;
+
+class VideoServices : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * Returns singleton instance for this class.
+ *
+ * WARNING! Not safe to call this from destructor of another function scope static object!
+ *
+ * @return The singleton instance.
+ */
+ static VideoServices *instance(QVideoPlayerEngine* engine = 0);
+
+ /**
+ * Decreases the reference count, when count reaches zero cleanup is done.
+ *
+ */
+ void decreaseReferenceCount();
+
+ /**
+ * Returns the context title set by service requestee
+ *
+ * @return QString the title
+ *
+ */
+ QString contextTitle() const;
+
+ /*
+ * Enum reflecting the services provided
+ */
+ enum TVideoService
+ {
+ ENoService,
+ EUriFetcher,
+ EPlayback,
+ EView,
+ EBrowse
+ };
+
+ /**
+ * Returns service active status
+ *
+ * @return bool true if active, false if not active
+ *
+ */
+ VideoServices::TVideoService currentService();
+
+ /**
+ * Returns browsing category.
+ *
+ * @return see vcxmyvideosdef.h for default categories.
+ */
+ int getBrowseCategory() const;
+
+public slots:
+ void itemSelected(const QString& item);
+ void browsingEnded();
+
+signals:
+ /*
+ * Emitted when service user has set the title
+ */
+ void titleReady(const QString& title);
+
+ /*
+ * Emitted to acticate requested plugin
+ */
+ void activated(int command);
+
+private:
+
+ /**
+ * Constructor
+ */
+ VideoServices();
+
+ /**
+ * Constructor
+ */
+ VideoServices(QVideoPlayerEngine* engine);
+
+ /**
+ * Destructor.
+ */
+ virtual ~VideoServices();
+
+ void setEngine(QVideoPlayerEngine* engine);
+
+ /**
+ * Sets the active service
+ *
+ * @param service
+ *
+ */
+ void setCurrentService(VideoServices::TVideoService service);
+
+ /**
+ * Returns the current engine
+ *
+ * @return engine
+ *
+ */
+ QVideoPlayerEngine* engine();
+
+ Q_DISABLE_COPY(VideoServices)
+
+private:
+
+ /**
+ * Reference count.
+ */
+ int mReferenceCount;
+
+ /**
+ * VideoServiceUriFetch service instance.
+ */
+ VideoServiceUriFetch* mServiceUriFetch;
+
+ /**
+ * VideoServicePlay service instance.
+ */
+ VideoServicePlay* mServicePlay;
+
+ /**
+ * VideoServiceView service instance.
+ */
+ VideoServiceView* mServiceView;
+
+ /**
+ * VideoServiceBrowse service instance.
+ */
+ VideoServiceBrowse *mServiceBrowse;
+
+ /**
+ * Pointer of QVideoPlayerEngine.
+ */
+ QVideoPlayerEngine* mEngine;
+
+ /*
+ * Current service
+ */
+ VideoServices::TVideoService mCurrentService;
+
+ friend class VideoServiceUriFetch;
+
+ friend class VideoServicePlay;
+
+ friend class VideoServiceView;
+
+ friend class VideoServiceBrowse;
+ };
+
+#endif //__VIDEOSERVICES_H__