17 |
17 |
18 |
18 |
19 #ifndef C_AIUIIDLEINTEGRATIONIMPL_H |
19 #ifndef C_AIUIIDLEINTEGRATIONIMPL_H |
20 #define C_AIUIIDLEINTEGRATIONIMPL_H |
20 #define C_AIUIIDLEINTEGRATIONIMPL_H |
21 |
21 |
|
22 // System includes |
|
23 #include <e32property.h> |
|
24 |
|
25 // User includes |
22 #include "aiuiidleintegration.h" |
26 #include "aiuiidleintegration.h" |
23 #include <startupdomainpskeys.h> |
|
24 |
27 |
|
28 // Forward declarations |
25 class CActiveIdleState; |
29 class CActiveIdleState; |
26 class CAknIncallBubble; |
30 class CAknIncallBubble; |
27 class MAiPSPropertyObserver; |
31 class MAiPSPropertyObserver; |
28 class MAiFwEventHandler; |
32 class MAiFwEventHandler; |
29 |
33 |
30 /** |
34 /** |
31 * CAiUiIdleIntegration implementation. |
35 * CAiUiIdleIntegration implementation. |
32 */ |
36 */ |
33 NONSHARABLE_CLASS( CAiUiIdleIntegrationImpl ) : public CAiUiIdleIntegration |
37 NONSHARABLE_CLASS( CAiUiIdleIntegrationImpl ) : public CAiUiIdleIntegration |
34 { |
38 { |
35 public: // constructor and destructor |
39 public: |
|
40 // constructor and destructor |
36 |
41 |
37 static CAiUiIdleIntegrationImpl* NewL( CEikonEnv& aEikEnv, |
42 static CAiUiIdleIntegrationImpl* NewL( CEikonEnv& aEikEnv, |
38 const TAiIdleKeySoundConfig& aKeySoundConfig, |
43 const TAiIdleKeySoundConfig& aKeySoundConfig, |
39 MAiFwEventHandler* aAiFwEventHandler ); |
44 MAiFwEventHandler* aAiFwEventHandler ); |
40 |
45 |
41 ~CAiUiIdleIntegrationImpl(); |
46 ~CAiUiIdleIntegrationImpl(); |
42 |
47 |
43 public: // new functions |
48 public: |
|
49 // new functions |
44 |
50 |
45 void HandleWsEventL( const TWsEvent& aEvent, |
51 void HandleWsEventL( const TWsEvent& aEvent, |
46 CCoeControl* aDestination ); |
52 CCoeControl* aDestination ); |
47 |
53 |
48 private: // constructors |
54 private: |
|
55 // constructors |
49 |
56 |
50 CAiUiIdleIntegrationImpl(CEikonEnv& aEikEnv, |
57 CAiUiIdleIntegrationImpl(CEikonEnv& aEikEnv, |
51 MAiFwEventHandler* aAiFwEventHandler); |
58 MAiFwEventHandler* aAiFwEventHandler); |
52 void ConstructL(const TAiIdleKeySoundConfig& aKeySoundConfig); |
59 void ConstructL(const TAiIdleKeySoundConfig& aKeySoundConfig); |
53 |
60 |
54 private: // new functions |
61 private: |
|
62 // new functions |
55 |
63 |
56 void ActivateUI(); |
64 void ActivateUI(); |
57 |
65 |
58 void SetCallBubbleIfNeededL(); |
66 void SetCallBubbleIfNeededL(); |
59 void ClearCallBubbleL(); |
67 void ClearCallBubbleL(); |
60 |
68 |
61 static TInt HandleSystemStateChange( TAny *aPtr ); |
|
62 static TInt HandleUiStartupStateChange( TAny *aPtr ); |
|
63 static TInt HandleCallEvent( TAny *aPtr ); |
69 static TInt HandleCallEvent( TAny *aPtr ); |
64 |
70 |
65 private: // data |
71 private: |
66 |
72 // data |
67 CEikonEnv& iEikEnv; |
|
68 CActiveIdleState* iActiveIdleState; |
|
69 TBool iThisApplicationForeground; |
|
70 TBool iIncallBubbleAllowed; |
|
71 TInt iThisApplicationWgId; |
|
72 TInt iEikonServerWgId; |
|
73 CAknIncallBubble* iIncallBubble; |
|
74 |
73 |
75 /** |
74 /** |
76 * Observer for system state Publish&Subscribe key. |
75 * EikonEnv |
77 * Owned. |
76 * Not owned |
78 */ |
77 */ |
79 MAiPSPropertyObserver* iSystemStateObserver; |
78 CEikonEnv& iEikEnv; |
80 |
79 |
81 /** |
80 /** |
82 * Observer for system state Publish&Subscribe key. |
81 * Active idle state |
83 * Owned. |
82 * Owned |
84 */ |
83 */ |
85 MAiPSPropertyObserver* iUiStartupStateObserver; |
84 CActiveIdleState* iActiveIdleState; |
|
85 |
|
86 /** |
|
87 * Incall bubble |
|
88 * Owned |
|
89 */ |
|
90 CAknIncallBubble* iIncallBubble; |
86 |
91 |
87 /** |
92 /** |
88 * Observer telephony state |
93 * Observer telephony state |
89 * Owned |
94 * Owned |
90 */ |
95 */ |