15 * |
15 * |
16 */ |
16 */ |
17 #ifndef TSWINDOWGROUPSOBSERVER_H |
17 #ifndef TSWINDOWGROUPSOBSERVER_H |
18 #define TSWINDOWGROUPSOBSERVER_H |
18 #define TSWINDOWGROUPSOBSERVER_H |
19 |
19 |
20 #include "tsresourcemanager.h" |
20 class MTsResourceManager; |
21 |
21 class MTsRunningApplicationStorage; |
22 class MTsRunningApplication |
|
23 { |
|
24 public: |
|
25 virtual TUid UidL()const =0; |
|
26 virtual const TDesC& CaptionL() const =0; |
|
27 virtual TBool IsHiddenL() const =0; |
|
28 virtual TBool IsSystemL() const =0; |
|
29 virtual TInt WindowGroupId() const =0; |
|
30 virtual TInt ParentWindowGroupId() const =0; |
|
31 virtual TBool IsEmbeded() const =0; |
|
32 |
|
33 |
|
34 }; |
|
35 |
|
36 class MTsRunningApplicationStorage |
|
37 { |
|
38 public: |
|
39 virtual const MTsRunningApplication& operator[] (TInt aOffset) const=0; |
|
40 virtual TInt Count() const =0; |
|
41 virtual TInt ParentIndex( const MTsRunningApplication& aRaunningApp ) const =0; |
|
42 virtual TArray<TInt> BlockedWindowGroups() const =0; |
|
43 |
|
44 }; |
|
45 |
|
46 /** |
22 /** |
47 * Interface declare mathods to notify about window server events |
23 * Interface declare mathods to notify about window server events |
48 */ |
24 */ |
49 class MTsWindowGroupsObserver |
25 class MTsWindowGroupsObserver |
50 { |
26 { |
51 public: |
27 public: |
52 /** |
28 /** |
53 * Method notify about window group changes. |
29 * Method notify about window group changes. |
54 * @param aResources - resource manager |
30 * @param aResources - resource manager |
55 * @param aStorage - list of running applications |
31 * @param aStorage - list of running applications |
56 */ |
32 */ |
57 virtual void HandleWindowGroupChanged(MTsResourceManager &aResources, |
33 virtual void HandleWindowGroupChanged( |
58 const MTsRunningApplicationStorage& aStorage) =0; |
34 MTsResourceManager& aResources, |
59 }; |
35 const MTsRunningApplicationStorage& aStorage) =0; |
60 |
36 }; |
61 /** |
|
62 * Interface declare methods to subscribe windo server events |
|
63 */ |
|
64 class MTsWindowGroupsMonitor |
|
65 { |
|
66 public: |
|
67 /** |
|
68 * Method make subscription for window server events |
|
69 * @param observer - events observer |
|
70 */ |
|
71 virtual void SubscribeL(MTsWindowGroupsObserver & observer) =0; |
|
72 |
|
73 /** |
|
74 * Method cancel subscription for window server events |
|
75 * @param observer - events observer |
|
76 */ |
|
77 virtual void Cancel(MTsWindowGroupsObserver &) =0; |
|
78 }; |
|
79 |
|
80 /** |
|
81 * Window server observer implementation. Class automaticly subscribe / cancel subscription |
|
82 * at construction / destruction level. |
|
83 * |
|
84 */ |
|
85 class CTsWindowGroupsObserver: public CBase, |
|
86 public MTsWindowGroupsObserver |
|
87 { |
|
88 public: |
|
89 /** |
|
90 * Destructor |
|
91 * Function automaticly cancel subscrption to window server events |
|
92 */ |
|
93 ~CTsWindowGroupsObserver(); |
|
94 |
|
95 protected: |
|
96 /** |
|
97 * First phase constructor |
|
98 */ |
|
99 CTsWindowGroupsObserver(MTsWindowGroupsMonitor &); |
|
100 |
|
101 /** |
|
102 * Second phase constructor. |
|
103 * Function automaticly subscribe window server events |
|
104 */ |
|
105 void BaseConstructL(); |
|
106 |
|
107 private: |
|
108 MTsWindowGroupsMonitor & mMonitor; |
|
109 }; |
|
110 |
37 |
111 #endif //TSWINDOWGROUPSOBSERVER_H |
38 #endif //TSWINDOWGROUPSOBSERVER_H |