19 |
19 |
20 #include "cammcwatcher.h" |
20 #include "cammcwatcher.h" |
21 |
21 |
22 // ================= MEMBER FUNCTIONS ======================= |
22 // ================= MEMBER FUNCTIONS ======================= |
23 |
23 |
24 // --------------------------------------------------------- |
24 // ---------------------------------------------------------------------------- |
25 // CCaWidgetMmcWatcher::NewL |
25 // |
26 // Second phase constructor |
26 // ---------------------------------------------------------------------------- |
27 // --------------------------------------------------------- |
|
28 // |
27 // |
29 EXPORT_C CCaMmcWatcher* CCaMmcWatcher::NewL( RFs& aFs, |
28 EXPORT_C CCaMmcWatcher* CCaMmcWatcher::NewL( RFs& aFs, |
30 MMmcWatcherCallback* aObserver ) |
29 MMmcWatcherCallback* aObserver ) |
31 { |
30 { |
32 CCaMmcWatcher* self = NewLC( aFs, aObserver ); |
31 CCaMmcWatcher* self = NewLC( aFs, aObserver ); |
33 CleanupStack::Pop( self ); |
32 CleanupStack::Pop( self ); |
34 return self; |
33 return self; |
35 } |
34 } |
36 |
35 |
37 // --------------------------------------------------------- |
36 // ---------------------------------------------------------------------------- |
38 // CCaWidgetMmcWatcher::NewLC |
37 // |
39 // Second phase constructor |
38 // ---------------------------------------------------------------------------- |
40 // --------------------------------------------------------- |
|
41 // |
39 // |
42 EXPORT_C CCaMmcWatcher* CCaMmcWatcher::NewLC( RFs& aFs, |
40 EXPORT_C CCaMmcWatcher* CCaMmcWatcher::NewLC( RFs& aFs, |
43 MMmcWatcherCallback* aObserver ) |
41 MMmcWatcherCallback* aObserver ) |
44 { |
42 { |
45 CCaMmcWatcher* self = new (ELeave) CCaMmcWatcher( aFs, |
43 CCaMmcWatcher* self = new (ELeave) CCaMmcWatcher( aFs, |
47 CleanupStack::PushL ( self ); |
45 CleanupStack::PushL ( self ); |
48 self->ConstructL(); |
46 self->ConstructL(); |
49 return self; |
47 return self; |
50 } |
48 } |
51 |
49 |
52 // --------------------------------------------------------- |
50 // ---------------------------------------------------------------------------- |
53 // CCaWidgetMmcWatcher::~CCaWidgetMmcWatcher |
51 // |
54 // Destructor |
52 // ---------------------------------------------------------------------------- |
55 // --------------------------------------------------------- |
|
56 // |
53 // |
57 CCaMmcWatcher::~CCaMmcWatcher() |
54 CCaMmcWatcher::~CCaMmcWatcher() |
58 { |
55 { |
59 Cancel(); |
56 Cancel(); |
60 } |
57 } |
61 |
58 |
62 // --------------------------------------------------------- |
59 // ---------------------------------------------------------------------------- |
63 // CCaWidgetMmcWatcher::CCaWidgetMmcWatcher |
60 // |
64 // Default constructor |
61 // ---------------------------------------------------------------------------- |
65 // --------------------------------------------------------- |
|
66 // |
62 // |
67 CCaMmcWatcher::CCaMmcWatcher( RFs& aFs, |
63 CCaMmcWatcher::CCaMmcWatcher( RFs& aFs, |
68 MMmcWatcherCallback* aObserver ) |
64 MMmcWatcherCallback* aObserver ) |
69 : CActive( CActive::EPriorityStandard ), |
65 : CActive( CActive::EPriorityStandard ), |
70 iFs(aFs), |
66 iFs(aFs), |
71 iObserver(aObserver) |
67 iObserver(aObserver) |
72 { |
68 { |
73 CActiveScheduler::Add(this); |
69 CActiveScheduler::Add(this); |
74 } |
70 } |
75 |
71 |
76 // --------------------------------------------------------- |
72 // ---------------------------------------------------------------------------- |
77 // CCaWidgetMmcWatcher::ConstructL |
73 // |
78 // default Symbian OS constructor |
74 // ---------------------------------------------------------------------------- |
79 // --------------------------------------------------------- |
|
80 // |
75 // |
81 void CCaMmcWatcher::ConstructL() |
76 void CCaMmcWatcher::ConstructL() |
82 { |
77 { |
83 WaitForChangeL(); |
78 WaitForChangeL(); |
84 } |
79 } |
85 |
80 |
86 // --------------------------------------------------------- |
81 // ---------------------------------------------------------------------------- |
87 // CCaWidgetMmcWatcher::WaitForChangeL |
82 // |
88 // Request notification for disk change |
83 // ---------------------------------------------------------------------------- |
89 // --------------------------------------------------------- |
|
90 // |
84 // |
91 void CCaMmcWatcher::WaitForChangeL() |
85 void CCaMmcWatcher::WaitForChangeL() |
92 { |
86 { |
93 TInt mmcDrive; |
87 TInt mmcDrive; |
94 User::LeaveIfError( DriveInfo::GetDefaultDrive( |
88 User::LeaveIfError( DriveInfo::GetDefaultDrive( |
96 TDriveName mmcDriveName( TDriveUnit( mmcDrive ).Name() ); |
90 TDriveName mmcDriveName( TDriveUnit( mmcDrive ).Name() ); |
97 iFs.NotifyChange( ENotifyEntry, iStatus, mmcDriveName ); |
91 iFs.NotifyChange( ENotifyEntry, iStatus, mmcDriveName ); |
98 SetActive(); |
92 SetActive(); |
99 } |
93 } |
100 |
94 |
101 // --------------------------------------------------------- |
95 // ---------------------------------------------------------------------------- |
102 // CCaWidgetMmcWatcher::DoCancel |
96 // |
103 // --------------------------------------------------------- |
97 // ---------------------------------------------------------------------------- |
104 // |
98 // |
105 void CCaMmcWatcher::DoCancel() |
99 void CCaMmcWatcher::DoCancel() |
106 { |
100 { |
107 iFs.NotifyChangeCancel(); |
101 iFs.NotifyChangeCancel(); |
108 } |
102 } |
109 |
103 |
110 #ifdef COVERAGE_MEASUREMENT |
104 #ifdef COVERAGE_MEASUREMENT |
111 #pragma CTC SKIP |
105 #pragma CTC SKIP |
112 #endif //COVERAGE_MEASUREMENT (error is ignored) |
106 #endif //COVERAGE_MEASUREMENT (error is ignored) |
113 // --------------------------------------------------------------------------- |
107 // --------------------------------------------------------------------------- |
114 // CCaWidgetMmcWatcher::RunError |
108 // |
115 // --------------------------------------------------------------------------- |
109 // --------------------------------------------------------------------------- |
116 // |
110 // |
117 TInt CCaMmcWatcher::RunError( TInt /*aError*/ ) |
111 TInt CCaMmcWatcher::RunError( TInt /*aError*/ ) |
118 { |
112 { |
119 // No need to do anything |
113 // No need to do anything |
124 #endif //COVERAGE_MEASUREMENT |
118 #endif //COVERAGE_MEASUREMENT |
125 |
119 |
126 #ifdef COVERAGE_MEASUREMENT |
120 #ifdef COVERAGE_MEASUREMENT |
127 #pragma CTC SKIP |
121 #pragma CTC SKIP |
128 #endif //COVERAGE_MEASUREMENT (memory card removal) |
122 #endif //COVERAGE_MEASUREMENT (memory card removal) |
129 // --------------------------------------------------------- |
123 // --------------------------------------------------------------------------- |
130 // CCaWidgetMmcWatcher::RunL |
124 // |
131 // --------------------------------------------------------- |
125 // --------------------------------------------------------------------------- |
132 // |
126 // |
133 void CCaMmcWatcher::RunL() |
127 void CCaMmcWatcher::RunL() |
134 { |
128 { |
135 TInt status( iStatus.Int() ); |
129 TInt status( iStatus.Int() ); |
136 WaitForChangeL(); |
130 WaitForChangeL(); |