phoneapp/phoneuiutils/inc/cphonepubsubproxy.h
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- a/phoneapp/phoneuiutils/inc/cphonepubsubproxy.h	Fri May 14 15:51:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Used as proxy for phone application to get and observe 
-*                the change of the variable.state of the phone.
-*
-*/
-
-
-#ifndef __CPHONEPUBSUBPROXY_H
-#define __CPHONEPUBSUBPROXY_H
-
-//  INCLUDES
-#include <coemain.h>
-#include <e32property.h>
-#include "mphonepubsubobserver.h"
-
-// FORWARD DECLARATIONS
-class CPhonePublishSubscriberAO;
-class CIdle;
-
-/**
-*  CPhonePubSubProxy is an API used as proxy for phone application to get/set
-*  and observe variable states.
-*
-*  How to get some setting?
-*  ---------------------------
-*  example code:
-*
-*  TUid category = KUidSystemCategory
-*  TUInt key = KPSUidAutolockStatusValue
-*  Tint value = CPhonePubSubProxy::Instance()->GetValue( category, key ); 
-*  
-*  uid and states can be found in PSVariables.h
-*  
-*  How to set any settings
-*  --------------------------------------
-*  example code:
-*
-*  TUid category = KUidSystemCategory
-*  TUInt key = KPSUidAutolockStatusValue
-*  TInt value = EPSAutolockOn;
-*
-*  CPhonePubSubProxy::Instance()->ChangePropertyValue( category, key, value );
-*
-*  How to observe any settings
-*  --------------------------------------
-*  example code:
-* 
-*  class CPhoneSomeManager : private MPhonePubSubObserver
-*  {
-*  
-*  virtual void HandlePropertyChangedL( const TUid& aCategory, 
-*            const TUint aKey, const TInt aValue );
-*  }
-*
-*  CPhoneSomeManager::SomeFunctionL
-*      {
-*      CPhonePubSubProxy::Instance()->NotifyChangeL( cat1, key1, this );
-*      CPhonePubSubProxy::Instance()->NotifyChangeL( cat2, key2, this );
-*      }
-*  
-*  CPhoneSomeManager::HandlePropertyChangedL( 
-*      const TUid& aCategory, 
-*      const TUint aKey, 
-*      const TInt aValue )
-*      {
-*      switch( aCategory )
-*          {
-*          case KUidSomeCategory1:
-*               .... //do something for the category i.e. look at value
-*          case KUidSomeCategory2:
-*               .... //do something for the category i.e. look at value
-*          default:
-*               .... //panic in debug
-*          }
-*      }
-*
-*  The CancelAllNotifies() should be always called before destroy the object
-*  CPhoneSomeManager::~CPhoneSomeManager()
-*      {
-*      CPhonePubSubProxy::Instance()->CancelAllNotifies( this );
-*      }
-*/
-
-// CLASS DECLARATION
-
-/**
-*  Used as proxy for phone application to get and observe the change of the
-*  state of the phone.
-*/
-class CPhonePubSubProxy : public CCoeStatic, public MPhonePubSubObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * First call initializes the singleton object. Subsequent calls 
-        * return instance.
-        * @return the created instance.
-        */
-        IMPORT_C static CPhonePubSubProxy* Instance();
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CPhonePubSubProxy();
-
-    public: // New Functions 
-
-        /**
-        * Cancel all requests by the observer. This function should always be 
-        * call before an object is destroyed. During shutdown, this singleton
-        * may be deleted before the classes that observe it. If this happens, the
-        * routine will just return since of requests have already been cancelled.
-        * @param aObserver
-        */
-        IMPORT_C static void CancelAllNotifications( 
-            MPhonePubSubObserver* aObserver );
-        
-        /**
-        * Get the property value of particular category key.
-        *
-        * @param aCategory the category for the key.
-        * @param aKey the property key.
-        * @return current property value.
-        */
-        IMPORT_C TInt Value( const TUid& aCategory, const TUint aKey );
-
-        /**
-        * Notify the change of state to particular varible.
-        *
-        * @param aUid Specify the uid of the particular varible.
-        * @param aObserver The observer to receive the notification.
-        */
-        IMPORT_C void NotifyChangeL( 
-            const TUid& aCategory, 
-            const TUint aKey,
-            MPhonePubSubObserver* aObserver );
-
-        /**
-        * Change a specific property value.
-        *
-        * @param aCategory Category of property.
-        * @param aKey Property key to be changed
-        * @param aValue New property value.
-        */
-        IMPORT_C void ChangePropertyValue( 
-            const TUid& aCategory,
-            const TUint aKey,
-            const TInt aValue );
-
-    private:
-        /**
-        * Two-phased constructor.
-        * @return new instance.
-        */
-        static CPhonePubSubProxy* NewL();
-
-        /**
-        * C++ constructor.
-        */
-        CPhonePubSubProxy();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-    private:
-        
-        /**
-        * Cancel all request by the observer. 
-        * @param aObserver
-        */
-        void CancelAllObserverNotifies( 
-            MPhonePubSubObserver* aObserver );
-        
-        /**
-        * function used to forward change events to observers.
-        * @param aCategory Category of property
-        * @param aKey Property key that is changed
-        * @param aValue New property value
-        */
-        void HandlePropertyChangedL( 
-            const TUid& aCategory, 
-            const TUint aKey, 
-            const TInt aValue );
-        
-    private:    // Data
-
-        // Observer elements.
-        class TPubSubObserverTag
-            {
-           public: 
-                // Unique property category.
-                TUid iCategory; 
-                // Property key
-                TUint iKey;
-                // Observer.
-                MPhonePubSubObserver* iObserver;
-            };
-
-        // Owned array of observers.
-        CArrayFixFlat<TPubSubObserverTag>* iObserverArray;
-
-        // Owned array of publish subscribers.
-        CArrayPtrFlat<CPhonePublishSubscriberAO>* iPublishSubscriberArray;
-
-    };
-
-#endif      // __CPHONEPUBSUBPROXY_H
-            
-// End of File