+++ /dev/null
-/*************************************************************************
-This file is part of libresourceqt
-
-Copyright (C) 2010 Nokia Corporation.
-
-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
-version 2.1 of the License.
-
-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.
-*************************************************************************/
-/**
- * @file audio-resource.h
- * @brief Declaration of ResourcePolicy::AudioResource resource class.
- *
- * @copyright Copyright (C) 2010 Nokia Corporation.
- * @author Wolf Bergenheim
- * \par License
- * @license LGPL
- * This file is part of libresourceqt
- * \par
- * Copyright (C) 2010 Nokia Corporation.
- * \par
- * 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
- * version 2.1 of the License.
- * \par
- * 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.
- * \par
- * 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.
- */
-
-#ifndef AUDIO_RESOURCE_H
-#define AUDIO_RESOURCE_H
-
-#include <QObject>
-#include <QString>
-#include <policy/resource.h>
-
-namespace ResourcePolicy
-{
-
-/**
- * The AudioResource class represents the audio device. It is a bit
- * different from other resource types in that in takes more parameters to
- * allow the programmer to classify the audio stream used by the application.
- */
-class AudioResource: public QObject, public Resource
-{
- Q_OBJECT
-public:
- /**
- * The constructor.
- * \param audioGroup The audio group which this application belongs to.
- * This is an optional parameter.
- */
- AudioResource(const QString &audioGroup = QString());
- AudioResource(const AudioResource &other);
- virtual ~AudioResource();
-
- //! Accessor for the audioGroup.
- QString audioGroup() const;
- //! A test to check whether the audio group is set or not.
- bool audioGroupIsSet() const;
- /**
- * Set the audio group (classification)
- * \param newGroup The new audio group to set.
- */
- void setAudioGroup(const QString & newGroup);
-
- //! \return The PID of the process which is responsible for rendering the audio stream.
- quint32 processID() const;
- /**
- * Use this to indicate to the Resource Manager the PID of the audio
- * stream renderer.
- * \param newPID Set this to the PID of the process which will render the audio.
- */
- void setProcessID(quint32 newPID);
-
- //! \return the name of the stream tag.
- QString streamTagName() const;
- //! \return the value of the stream tag.
- QString streamTagValue() const;
- //! A test to check whether the stream tag has been set or not.
- bool streamTagIsSet() const;
- /**
- * Set the tream tag to help policy to correctly identify the audio stream
- * beloning to you.
- * \param name The name of the tag. For example "media.name"
- * \param value The value of the stream tag.
- */
- void setStreamTag(const QString &name, const QString &value);
-
- virtual ResourceType type() const;
-private:
- QString group;
- quint32 pid;
- QString streamName;
- QString streamValue;
-signals:
- /**
- * This signal is emitted when any of the properties of the AudioResource
- * are changed. This signal is connected to in the ResourceSet to
- * track the changes to the AudioResource object.
- * \param group The new audio group
- * \param pid The new PID of the audio renderer
- * \param name The new Stream tag name
- * \param value the new stream tag value
- */
- void audioPropertiesChanged(const QString &group, quint32 pid,
- const QString &name, const QString &value);
-};
-}
-
-#endif
+++ /dev/null
-/*************************************************************************
-This file is part of libresourceqt
-
-Copyright (C) 2010 Nokia Corporation.
-
-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
-version 2.1 of the License.
-
-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.
-*************************************************************************/
-/**
- * @file resource-set.h
- * @brief Declaration of ResourcePolicy::ResourceSet
- *
- * @copyright Copyright (C) 2010 Nokia Corporation.
- * @author Wolf Bergenheim
- * \par License
- * @license LGPL
- * This file is part of libresourceqt
- * \par
- * Copyright (C) 2010 Nokia Corporation.
- * \par
- * 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
- * version 2.1 of the License.
- * \par
- * 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.
- * \par
- * 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.
- */
-
-#ifndef RESOURCE_SET_H
-#define RESOURCE_SET_H
-
-#include <QString>
-#include <QObject>
-#include <QVector>
-#include <QList>
-#include <policy/resources.h>
-#include <policy/audio-resource.h>
-
-/**
- * \mainpage Resource Policy Library
- *
- * \section intro_section Introduction
- *
- * This library is used to request resources from the Policy Resource Manager.
- * To use this library two classes are provided: \ref ResourcePolicy::Resource and
- * \ref ResourcePolicy::ResourceSet.
- *
- * \section library_use_section Library Usage
- *
- * To use the Resource Policy Library, you first need to create the
- * \ref ResourcePolicy::ResourceSet like this:
- * \code
- * ResourcePolicy::ResourceSet *resources = new ResourcePolicy::ResourceSet("player");
- * \endcode
- * Then to add resources to the set use the ResourceSet::addResource() method to add
- * resources to the ResourcePolicy::ResourceSet. Like this:
- * \code
- * resources->addResource(AudioPlaybackType);
- * resources->addResource(VideoPlaybackType);
- * \endcode
- * If you want to pre-populate the AudioResource with the audio group (it is a good idea)
- * and other audio parameters you can create an audio object yourself and then
- * give that to the ResourcePolicy::ResourceSet. Note that you should NOT free this object.
- * The ResourcePolicy::ResourceSet takes ownership of this pointer.
- * \code
- * ResourcePolicy::AudioResource *audioResource = new ResourcePolicy::AudioResource("player");
- * resources->addResourceObject(audioResource);
- * \endcode
- * Calling the ResourcePolicy::ResourceSet::deleteResource() method will remove
- * and delete the object. Then when you want to acquire the ResourcePolicy::ResourceSet
- * you simply use the ResourcePolicy::ResourceSet::acquire() method, like this:
- * \code
- * QObject::connect(resources, SIGNAL(resourcesAcquired()),
- * this, SLOT(acquireOkHandler(QList<ResourcePolicy::Resource>)));
- * QObject::connect(resources, SIGNAL(resourcesDenied()), this, SLOT(acquireDeniedHandler()));
- * resources->acquire();
- * \endcode
- * You should also connect to the ResourcePolicy::ResourceSet::lostResources() signal like this:
- * \code
- * QObject::connect(resources, SIGNAL(lostResources()),
- * this, SLOT(lostResources()));
- * \endcode
- * This signal tells you when you should stop using the resources you have asked for.
- * So it is important that you connect to it.
- *
- * To modify the properties of the resources you can use the ResourcePolicy::ResourceSet::resource() method.
- *
- * \section see_devel_doc See Also
- * For a more detailed guide see the
- * <a href="https://projects.maemo.org/mediawiki/index.php/Maemo_Developer_Guide/Developing_Harmattan_applications/Application_policy_guidelines">Application policy guidelines</a>.
- */
-
-/**
- * \brief The Namespace for Resource Policy.
- * All Resource Policy Qt APIs reside under the ResourcePolicy namespace.
- */
-namespace ResourcePolicy
-{
-class ResourceEngine;
-/**
- * The resourceSet repesents a set of attributes. Each set can only contain
- * a single Resource of a given type. That is one AudioPlaybackResource, etc.
- *
- * Internally the set is stored as a QVector of \ref Resource objects.
- */
-class ResourceSet: public QObject
-{
- Q_OBJECT
- Q_DISABLE_COPY(ResourceSet)
-public:
- /**
- * Alternative constructor with additional parameters for setting
- * alwaysReply and autoRelease.
- * \param applicationClass This parameter defines the application class.
- * The application class is used to determine the priority order of the
- * application.
- * \param parent The parent of this class.
- * \param alwaysReply see setAlwaysReply()
- * \param autoRelease see setAutoRelease()
- */
- ResourceSet(const QString &applicationClass, QObject *parent,
- bool alwaysReply, bool autoRelease);
- /**
- * Alternative backwards-compatible constructor.
- * \param applicationClass This parameter defines the application class.
- * The application class is used to determine the priority order of the
- * application.
- * \param parent The optional parent of of this class.
- */
- ResourceSet(const QString &applicationClass, QObject *parent = NULL);
- /**
- * The destructor
- */
- ~ResourceSet();
-
- /**
- * This method adds a resource to the set. A set contains only a single
- * instance of a given resource. If the ResourceSet already contains a
- * resource of the given type it will be overridden.
- * \param resourceType The resource to add to the set. A copy of this object
- * is stored in the Set.
- */
- bool addResource(ResourceType resourceType);
-
- /**
- * This method adds a resource to the set. A set contains only a single
- * instance of a given resource. If the ResourceSet already contains a
- * resource of the given type it will be overridden.
- * \param resource The resource to add to the set.
- * The ResourcePolicy::ResourseSet takes ownership of the pointer. Do NOT free!
- */
- void addResourceObject(Resource *resource);
-
- /**
- * This method removes the resource of the given type
- * \param type The type of the resource to remove from the set.
- */
- void deleteResource(ResourceType type);
-
- /**
- * This method returns a list of all resource in the set.
- * \return a QList of all resources in the set.
- */ QList<Resource *> resources() const;
- /**
- * This method returns a const pointer to a resource of a specific type.
- * \param type The type of resource we are interested in.
- * \return a pointer to the Resource if it is defined NULL otherwise.
- */
- Resource * resource(ResourceType type) const;
- /**
- * Checks if the \ref ResourceSet contains the given \ref Resource
- * \param type The Resource to look for
- * \return true if the \ref Resource is defined in this \ref ResourceSet
- */
- bool contains(ResourceType type) const;
-
- /**
- * Checks if the \ref ResourceSet contains all given resources.
- * \param types A list of resources to check for
- * \return true if \b all given resources are defined in the ResourceSet.
- */
- bool contains(const QList<ResourceType> &types) const;
-
- /**
- * Returns the unique identifier for this ResourceSet.
- * @return the unique identifier for this ResourceSet.
- */
- quint32 id() const;
-
- /**
- * Returns the registered application class (given in the constructor).
- */
- QString applicationClass();
-
- /**
- * Initialize and connect the ResourceEngine of this ResourceSet.
- * Use this method after adding resources to the ResourceSet initially.
- * \return true if the method succeeds without encountering errors.
- */
- bool initAndConnect();
-
- /**
- * Try to acquire the \ref ResourceSet. The resourcesGranted() or
- * resourcesDenied() signal will be emited depending on whether the
- * requested resources could be acquired or not.
- */
- bool acquire();
- /**
- * Release the acquired resources.
- */
- bool release();
- /**
- * Commit changes to the \ref ResourcePolicy::ResourceSet. Remember to call update()
- * after adding and/or removing resources.
- */
- bool update();
-
- /**
- * Sets the auto-release. When loosing the resources due to another
- * application with a higher priority the default is that we automatically
- * re-gain our resources without having to re-request them. However if
- * the AutoRelease is set we release the resources and need to re-acquire
- * them, when the pre-emting application releases its resources.
- *
- * This feature is by default disabled.
- *
- * This flag should be set once only before calling anything else
- * (excluding setAlwaysReply()), and cannot be unset.
- */
- bool setAutoRelease();
- /**
- * Check whether we have setAutoRelease().
- * \return true if auto-release is ennabled.
- */
- bool willAutoRelease();
- /**
- * Sets that the resourcesGranted() signal is emited even if we already
- * have the requested resources granted. By default this feature is off.
- *
- * This flag should be set once only before calling anything else
- * (excluding setAutoRelease()), and cannot be unset.
- */
- bool setAlwaysReply();
- /**
- * Check whether the always-get-reply flag has been set.
- * \return true if we will always get a reply (even if there is no change).
- */
- bool alwaysGetReply();
-
-signals:
- /**
- * This signal is emited when the Resource Policy Manager notifies that
- * the given resources have become available.
- * \param availableResources A list of available resources. The list of
- * available resources contains only available resource which we have in the set.
- */
- void resourcesBecameAvailable(const QList<ResourcePolicy::ResourceType> &availableResources);
- /**
- * This signal is emitted as a response to the acquire() request.
- * \param grantedOptionalResources The list of granted optional resources.
- * All the mandatory resources have also been acquired.
- */
- void resourcesGranted(const QList<ResourcePolicy::ResourceType> &grantedOptionalResources);
- /**
- * This signal is emitted as a response to the acquire() request, in the
- * case where one or more of the mandatory resources were not available.
- */
- void resourcesDenied();
- /**
- * This signal is emitted as a response to the release() request.
- */
- void resourcesReleased();
- /**
- * This signal is emited when the manager releases our acquired resources,
- * so that we have to acquire them again when the user wishes to interact
- * with us.
- */
- void resourcesReleasedByManager();
- /**
- * This signal is emitted when some other program with a higher priority
- * supersedes us, and as a result we loose (some of) our resources.
- * It is very important to connect to this signal as it is signaling when
- * the acquired resources shouldn't be used anymore.
- */
- void lostResources();
-
- /**
- * Subscribe to this signal to receive error notifications,
- * particularly security errors.
- */
- void errorCallback(quint32, const char*);
-
- /**
- * This signals that we have connected to the Resource Manager.
- */
- void connectedToManager();
-
-private:
-
- bool initialize();
-
- quint32 identifier;
- const QString resourceClass;
- Resource* resourceSet[NumberOfTypes];
- ResourceEngine *resourceEngine;
- AudioResource *audioResource;
- bool autoRelease;
- bool alwaysReply;
- bool initialized;
- bool pendingAcquire;
- bool pendingUpdate;
- bool pendingAudioProperties;
- bool haveAudioProperties;
-
- void registerAudioProperties();
-
-private slots:
- void connectedHandler();
- void handleGranted(quint32);
- void handleDeny();
- void handleReleased();
- void handleResourcesLost(quint32);
- void handleResourcesBecameAvailable(quint32);
-
- void handleAudioPropertiesChanged(const QString &group, quint32 pid,
- const QString &name, const QString &value);
-
-};
-}
-
-#endif
-
+++ /dev/null
-/*************************************************************************
-This file is part of libresourceqt
-
-Copyright (C) 2010 Nokia Corporation.
-
-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
-version 2.1 of the License.
-
-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.
-*************************************************************************/
-/**
- * @file resource.h
- * @brief Declaration of ResourcePolicy::Resource and
- * ResourcePolicy::ResourceType
- *
- * @copyright Copyright (C) 2010 Nokia Corporation.
- * @author Wolf Bergenheim
- * \par License
- * @license LGPL
- * This file is part of libresourceqt
- * \par
- * Copyright (C) 2010 Nokia Corporation.
- * \par
- * 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
- * version 2.1 of the License.
- * \par
- * 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.
- * \par
- * 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.
- */
-
-#ifndef RESOURCE_H
-#define RESOURCE_H
-
-#include <QtCore>
-
-namespace ResourcePolicy
-{
-/**
- * This enumeration represents the resources which can be reserved.
- * \see ResourcePolicy::ResourceSet for info on how to reserve resources.
- */
-enum ResourceType {
- AudioPlaybackType = 0, ///< For audio playback
- VideoPlaybackType, ///< For video playback
- AudioRecorderType, ///< For audio recording (using of the microphone)
- VideoRecorderType, ///< For video recording (using the camera)
- VibraType, ///< For Vibra
- LedsType, ///< For LEDs
- BacklightType, ///< For the backlight (of the display)
- SystemButtonType, ///< For the system (power) button
- LockButtonType, ///< For the lock button
- ScaleButtonType, ///< The scale (zoom) button
- SnapButtonType, ///< Use this if you are a camera application
- LensCoverType,
- HeadsetButtonsType, ///< Use this to reserve the headset buttons
- NumberOfTypes
-};
-
-class ResourceSet;
-
-/**
- * This class is the super class for all resources. It represents a generic
- * \ref Resource. The type specific resource classes should be used.
- */
-class Resource
-{
- friend class ResourceSet;
-public:
- /**
- * Whether or not this resource is optional, in that it doesn't need to
- * be available for the set to be acquired.
- * \return true when this resource is optional.
- */
- bool isOptional() const;
- /**
- * Set the resource to be optional or mandatory.
- * \param resourceIsOptional This optional parameter defaults to true.
- * The default, true, results in the resource becoming optional. When it
- * is set to false the resource becomes mandatory.
- */
- void setOptional(bool resourceIsOptional = true);
- /**
- * Whether or not the resource to be shared. If it is shared then other
- * programs are allowed to share this resource.
- * \return true when this resource is shared.
- */
- bool isGranted() const;
-
- /**
- * Use this method to check for the type of Resource
- * \return The ResourceType associated to this resource
- */
- virtual ResourceType type() const = 0;
- virtual ~Resource();
-protected:
- Resource();
- Resource(const Resource &other);
-
- /**
- * \internal
- * This holds the type of the resource.
- */
- ResourceType resourceType;
- /**
- * \internal
- * This is true when this resource is optional.
- * \sa isOptional
- * \sa setOptional
- */
- bool optional;
- /**
- * \internal
- * This is just a unique identifier for the resource.
- */
- quint32 identifier;
-private:
- void setGranted();
- void unsetGranted();
- bool granted;
-
-};
-}
-
-#endif
-
+++ /dev/null
-/*************************************************************************
-This file is part of libresourceqt
-
-Copyright (C) 2010 Nokia Corporation.
-
-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
-version 2.1 of the License.
-
-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.
-*************************************************************************/
-/**
- * @file resources.h
- * @brief Declaration of The different resource classes:
- * ResourcePolicy::AudioRecorderResource
- * ResourcePolicy::BacklightResource
- * ResourcePolicy::LedsResource
- * ResourcePolicy::VibraResource
- * ResourcePolicy::VideoRecorderResource
- * ResourcePolicy::VideoResource
- * ResourcePolicy::LockButtonResource
- * ResourcePolicy::ScaleButtonResource
- * ResourcePolicy::SystemButtonResource
- * ResourcePolicy::LensCoverResource
- * ResourcePolicy::HeadsetButtonsResource
- *
- * @copyright Copyright (C) 2010 Nokia Corporation.
- * @author Wolf Bergenheim
- * \par License
- * @license LGPL
- * This file is part of libresourceqt
- * \par
- * Copyright (C) 2010 Nokia Corporation.
- * \par
- * 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
- * version 2.1 of the License.
- * \par
- * 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.
- * \par
- * 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.
- */
-
-#ifndef RESOURCES_H
-#define RESOURCES_H
-
-#include <policy/resource.h>
-#include <QString>
-
-namespace ResourcePolicy
-{
-
-/**
- * The AudioRecorderResource class represents the audio recorder device.
- */
-class AudioRecorderResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- AudioRecorderResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- AudioRecorderResource(const AudioRecorderResource &other);
- /**
- * The destructor.
- */
- virtual ~AudioRecorderResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * The BacklightResource is used by applications wanting to control the
- * backlight
- */
-class BacklightResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- BacklightResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- BacklightResource(const BacklightResource &other);
- /**
- * The destructor.
- */
- virtual ~BacklightResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to fiddle with the leds.
- */
-class LedsResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- LedsResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- LedsResource(const LedsResource &other);
- /**
- * The destructor.
- */
- virtual ~LedsResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to use the vibra.
- */
-class VibraResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- VibraResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- VibraResource(const VibraResource &other);
- /**
- * The destructor.
- */
- virtual ~VibraResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to record video.
- */
-class VideoRecorderResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- VideoRecorderResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- VideoRecorderResource(const VideoRecorderResource &other);
- /**
- * The destructor.
- */
- virtual ~VideoRecorderResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to render video with the
- * DSP decoder to render the viewfinder.
- */
-class VideoResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- VideoResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- VideoResource(const VideoResource &other);
- /**
- * The destructor.
- */
- virtual ~VideoResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to control the system button.
- */
-class SystemButtonResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- SystemButtonResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- SystemButtonResource(const SystemButtonResource &other);
- /**
- * The destructor.
- */
- virtual ~SystemButtonResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to control the lock button.
- */
-class LockButtonResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- LockButtonResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- LockButtonResource(const LockButtonResource &other);
- /**
- * The destructor.
- */
- virtual ~LockButtonResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to control
- * the volume/scale button.
- */
-class ScaleButtonResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- ScaleButtonResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- ScaleButtonResource(const ScaleButtonResource &other);
- /**
- * The destructor.
- */
- virtual ~ScaleButtonResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to take still pictures.
- */
-class SnapButtonResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- SnapButtonResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- SnapButtonResource(const SnapButtonResource &other);
- /**
- * The destructor.
- */
- virtual ~SnapButtonResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-class LensCoverResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- LensCoverResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- LensCoverResource(const LensCoverResource &other);
- /**
- * The destructor.
- */
- virtual ~LensCoverResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-/**
- * Resource to be used when the application wants to control the
- * headset buttons.
- */
-class HeadsetButtonsResource: public Resource
-{
-public:
- /**
- * The constructor.
- */
- HeadsetButtonsResource();
- /**
- * The copy constructor.
- * \param other The resource to copy from
- */
- HeadsetButtonsResource(const HeadsetButtonsResource &other);
- /**
- * The destructor.
- */
- virtual ~HeadsetButtonsResource();
-
- /**
- * \return the resource type
- */
- virtual ResourceType type() const;
-};
-
-}
-#endif
-