iptel_plat/vccpropertyhandler_api/inc/vccuipsproperty.h
changeset 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/iptel_plat/vccpropertyhandler_api/inc/vccuipsproperty.h	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2007 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:   Vcc P&S property manager
+*
+*/
+
+
+
+
+#ifndef C_VCCPSPROPERTY_H
+#define C_VCCPSPROPERTY_H
+
+#include <e32base.h>
+#include <e32std.h>
+#include <e32property.h>
+
+#include <vccsubscribekeys.h>
+
+/**
+ *  CVccUiPsProperty manages the VCC P&S keys on the UI side:
+ *
+ *  This class defines the VCC property keys used by the UI.
+ *  It provides access to read/write values. Keys can be deleted.
+ *
+ *  Key KVccPropKeyHoRequest:
+ *      EVccNoRequestOngoing                idle state
+ *      EVccManualStartCsToPsHoRequest      manual HO PS->CS
+ *      EVccManualCancelCsToPsHoRequest     manual HO CS->PS
+ *      EVccUndefinedRequest                P&S key not available
+ *
+ *  @code
+ *      CVccUiPsProperty* iVccPsp = CVccUiPsProperty::NewL();
+ *      ...
+ *      iVccPsp.NotifySubscriberL(EVccManualStartCsToPsHoRequest);
+ *      ...
+ *      iVccPsp.NotifySubscriberL(EVccManualCancelCsToPsHoRequest);
+ *      ...
+ *      delete iVccPsp;
+ *  @endcode
+ *
+ *
+ *  @lib vccuipropertyhandler.lib
+ *  @since S60 v3.2
+ */
+class CVccUiPsProperty : public CBase
+{
+public:
+
+    /**
+     * Two-phased constructor.
+     *
+     * Defines UI side VCC property keys if they are not available.
+     */
+    IMPORT_C static CVccUiPsProperty* NewL();
+
+    /**
+     * Destructor.
+     * Note! Deletes Vcc UI side property keys
+     */
+    IMPORT_C virtual ~CVccUiPsProperty();
+
+    /**
+     * Update VCC property key KVccPropKeyHoRequest with the given value.
+     *
+     *  @since S60 v3.2
+     * @param aValue The new value
+     */
+    IMPORT_C void NotifySubscriberL( TVccHoRequest aValue );
+
+    /**
+     * Gets the current value of the Vcc property key KVccPropKeyHoRequest.
+     *
+    *  @since S60 v3.2
+     * @param aValue The value of the key
+     * @return KErrNone / KErrPermissionDenied/ KErrNotFound/KErrArgument
+     */
+    IMPORT_C TInt GetCurrentRequest( TVccHoRequest& aValue );
+
+    /**
+     * Deletes keys used by UI
+     */
+    IMPORT_C TInt DeleteKeys();
+
+private:
+    /**
+     * C++ Constructor
+     */
+    CVccUiPsProperty();
+
+    /**
+     * Symbian 2nd phase Constructor
+     */
+    void ConstructL();
+
+    /**
+     * Defines keys used by UI
+     */
+    void DefineKeysL();
+
+    /**
+     * creates handles to property keys used by UI
+     */
+    void CreateHandlesL();
+
+private: //data
+
+    /**
+     * Handle to property which is updated by the UI
+     * Own
+     */
+    RProperty iHoRequestKey;
+};
+
+#endif /*C_VCCPSPROPERTY_H*/