phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h
changeset 37 ba76fc04e6c2
child 45 6b911d05207e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h	Fri Jun 04 10:19:18 2010 +0100
@@ -0,0 +1,70 @@
+/*!
+* 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:  Buttons controller for storing and getting
+*               buttons' states
+*
+*/
+
+#ifndef PHONEUIQTBUTTONSCONTROLLER_H
+#define PHONEUIQTBUTTONSCONTROLLER_H
+
+#include <QObject>
+
+class PhoneUIQtButtonsController : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    enum PhoneButtonFlag
+    {
+        Hold            = 0x02, // Hold
+        Ihf             = 0x04, // Ihf
+        Wired           = 0x08, // Wired
+        Btaa            = 0x10, // Btaa
+        DisableJoin     = 0x20  // Should join option be disabled
+    };
+    Q_DECLARE_FLAGS(PhoneButtonFlags, PhoneButtonFlag)
+
+    /**
+     * Constructor
+     */
+    PhoneUIQtButtonsController ();
+
+    /**
+     * Destructor
+     */
+    virtual ~PhoneUIQtButtonsController ();
+
+    /*!
+        \fn void PhoneUIQtButtonsController::setButtonFlags (PhoneButtonFlags flag,bool set)
+        
+        This method is called when audio path or hold status is changed
+    */
+    void setButtonFlags (PhoneButtonFlags flag,bool set);
+
+    /*!
+        \fn bool PhoneUIQtButtonsController::getButtonFlags (PhoneButtonFlags flag)
+        
+        This method is called when audio path or hold status is enquired
+    */
+    inline bool getButtonFlags (PhoneButtonFlags flag) {return m_buttonFlags & flag;};
+
+private:
+    PhoneButtonFlags m_buttonFlags;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(PhoneUIQtButtonsController::PhoneButtonFlags)
+
+#endif // PHONEUIQTBUTTONSCONTROLLER_H