author | Maciej Seroka <maciejs@symbian.org> |
Fri, 27 Nov 2009 12:22:12 +0000 | |
changeset 793 | 0c32c669a39d |
child 872 | 17498133d9ad |
permissions | -rw-r--r-- |
793
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
1 |
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
2 |
// All rights reserved. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
4 |
// under the terms of the License "Symbian Foundation License v1.0" |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
7 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
10 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
11 |
// Contributors: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
12 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
13 |
// Description: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
14 |
// AppArc recognizer and application scanning |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
15 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
16 |
// |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
17 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
18 |
#if !defined(__APSSCAN_H__) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
19 |
#define __APSSCAN_H__ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
20 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
21 |
#if !defined(__F32FILE_H__) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
22 |
#include <f32file.h> |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
23 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
24 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
25 |
class MApaFsChangeObserver |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
26 |
/** An interface for notifying a file system observer when |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
27 |
a change has been made to the file system. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
28 |
This interface is intended for use only by CApaFsMonitor. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
29 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
30 |
@internalComponent |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
31 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
32 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
33 |
public: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
34 |
virtual void FsChanged()=0; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
35 |
}; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
36 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
37 |
class CApaFsMonitor : public CBase, MApaFsChangeObserver |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
38 |
/** Monitors changes in the file system. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
39 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
40 |
If a change is detected, the callback function supplied by the user of the class |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
41 |
is called after a 0.25 second delay. If there are further changes, the callback |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
42 |
is not called again until 3 seconds have elapsed. It uses RFs::NotifyChange() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
43 |
to request notifications. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
44 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
45 |
@see RFs::NotifyChange() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
46 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
47 |
@publishedPartner |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
48 |
@released */ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
49 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
50 |
public: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
51 |
IMPORT_C ~CApaFsMonitor(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
52 |
IMPORT_C static CApaFsMonitor* NewL(RFs& aFs, const TDesC& aLocation, TCallBack aCallBack); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
53 |
IMPORT_C void SetBlocked(TBool aIsBlocked); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
54 |
IMPORT_C void Start(TNotifyType aNotifyType); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
55 |
IMPORT_C TNotifyType NotifyType() const; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
56 |
IMPORT_C void AddLocationL(const TDesC& aLocation); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
57 |
IMPORT_C void Cancel(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
58 |
TBool AnyNotificationImpending() const; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
59 |
private: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
60 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
61 |
CApaFsMonitor(RFs& aFs, TCallBack aCallBack); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
62 |
static TInt TimerCallBack(TAny* aObject); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
63 |
void DoStart(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
64 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
65 |
// from MApaFsChangeObserver |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
66 |
void FsChanged(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
67 |
class CApaFsNotifier; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
68 |
private: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
69 |
RFs& iFs; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
70 |
TNotifyType iNotifyType; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
71 |
TCallBack iCallBack; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
72 |
CPeriodic* iFsTimer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
73 |
TBool iFsHasChanged; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
74 |
TBool iIsBlocked; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
75 |
RPointerArray<CApaFsNotifier> iNotifiers; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
76 |
}; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
77 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
78 |
#if !defined(__WINC__) |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
79 |
class REComSession; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
80 |
/** |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
81 |
CApaEComMonitor |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
82 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
83 |
A low priority (EPriorityIdle) active object which monitors changes |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
84 |
in the Ecom plugin. |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
85 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
86 |
@see REComSession::NotifyOnChange() |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
87 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
88 |
@internalAll |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
89 |
*/ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
90 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
91 |
class CApaEComMonitor : public CActive |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
92 |
{ |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
93 |
public: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
94 |
~CApaEComMonitor(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
95 |
static CApaEComMonitor* NewL(TCallBack aCallBack); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
96 |
void Start(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
97 |
private: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
98 |
CApaEComMonitor(TCallBack aCallBack); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
99 |
void ConstructL (); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
100 |
static TInt TimerCallBack(TAny* aObject); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
101 |
void DoStart(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
102 |
void DoCancel(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
103 |
void RunL(); |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
104 |
private: |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
105 |
TCallBack iCallBack; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
106 |
CPeriodic* iEComTimer; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
107 |
REComSession* iEComSession; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
108 |
TBool iEComHasChanged; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
109 |
}; |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
110 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
111 |
#endif |
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
112 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
113 |
|
0c32c669a39d
Added new smoke test for phone languages
Maciej Seroka <maciejs@symbian.org>
parents:
diff
changeset
|
114 |
#endif |