author | sl@SLION-WIN7.fritz.box |
Fri, 15 Jun 2012 03:10:57 +0200 | |
changeset 0 | bde4ae8d615e |
permissions | -rw-r--r-- |
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
7 //
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
10 //
11 // Contributors:
12 //
13 // Description:
14 // f32\sfile\sf_ops.cpp
15 //
16 //
18 #include "sf_std.h"
22 TBool TOperation::IsOpenSubSess() const
23 //
24 // If so need to allocate for both open and close as close sub session must happen
25 //
26 {
27 switch(iFunction)
28 {
29 case EFsDirOpen:
30 case EFsFileDuplicate:
31 case EFsFileOpen:
32 case EFsFileCreate:
33 case EFsFileReplace:
34 case EFsFileTemp:
35 case EFsFormatOpen:
36 case EFsRawDiskOpen:
37 case EFsPluginOpen:
38 #ifdef SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
39 case EFsNotificationOpen:
40 #endif //SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
41 return ETrue;
42 default:
43 return EFalse;
44 }
45 }
47 TBool TOperation::IsCloseSubSess() const
48 //
49 // If so need to close sub session
50 //
51 {
52 switch (iFunction)
53 {
54 case EFsFileSubClose:
55 case EFsFormatSubClose:
56 case EFsDirSubClose:
57 case EFsRawSubClose:
58 case EFsPluginSubClose:
59 #ifdef SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
60 case EFsNotificationSubClose:
61 #endif //SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
62 return ETrue;
63 default:
64 return EFalse;
65 }
66 }
69 TBool TOperation::IsChangeNotify() const
70 //
71 //
72 //
73 {
74 switch(iFunction)
75 {
76 case EFsFileCreate:
77 case EFsFileReplace:
78 case EFsDelete:
79 case EFsReplace:
80 case EFsFileRename:
81 case EFsMkDir:
82 case EFsRmDir:
83 case EFsRename:
84 case EFsSetVolume:
85 case EFsFileSet:
86 case EFsFileSetAtt:
87 case EFsFileSetModified:
88 case EFsFileSetSize:
89 case EFsSetEntry:
90 case EFsFileWrite:
91 case EFsFileWriteDirty:
92 case EFsRawDiskWrite:
93 case EFsFileTemp:
94 case EFsSetDriveName:
95 case EFsLockDrive:
96 case EFsUnlockDrive:
97 return ETrue;
98 default:
99 return EFalse;
100 }
101 }
103 TBool TOperation::IsDiskSpaceNotify() const
104 //
105 //
106 //
107 {
108 switch(iFunction)
109 {
110 case EFsSetVolume:
111 case EFsMkDir:
112 case EFsRmDir:
113 case EFsDelete:
114 case EFsRename:
115 case EFsReplace:
116 case EFsFileCreate:
117 case EFsFileReplace:
118 case EFsFileTemp:
119 case EFsFileWrite:
120 case EFsFileWriteDirty:
121 case EFsFileFlush:
122 case EFsFileSetSize:
123 case EFsFileRename:
124 case EFsReserveDriveSpace:
125 case EFsFileSubClose:
126 return ETrue;
127 default:
128 return EFalse;
129 }
130 }
132 TBool TOperation::IsWrite() const
133 //
134 // return true if operation may cause write to media
135 //
136 {
137 switch(iFunction)
138 {
139 case EFsSetVolume:
140 case EFsMkDir:
141 case EFsRmDir:
142 case EFsDelete:
143 case EFsRename:
144 case EFsReplace:
145 case EFsSetEntry:
146 case EFsFileCreate:
147 case EFsFileReplace:
148 case EFsFileTemp:
149 case EFsFileWrite:
150 case EFsFileWriteDirty:
151 case EFsFileSetSize:
152 case EFsFileSetAtt:
153 case EFsFileSetModified:
154 case EFsFileSet:
155 case EFsFileRename:
156 case EFsFormatOpen:
157 case EFsFormatNext:
158 case EFsRawDiskWrite:
159 case EFsScanDrive:
160 case EFsLockDrive:
161 case EFsUnlockDrive:
162 return ETrue;
163 default:
164 return EFalse;
165 }
166 }
168 TUint TOperation::NotifyType() const
169 //
170 // Convert operation that caused the notification to a
171 // value corresponding to the correct TNotifyType enum
172 //
173 {
174 switch (iFunction)
175 {
176 case EFsFileCreate:
177 case EFsFileReplace:
178 case EFsDelete:
179 case EFsReplace:
180 case EFsFileRename:
181 return(ENotifyFile|ENotifyEntry);
182 case EFsMkDir:
183 case EFsRmDir:
184 return(ENotifyDir|ENotifyEntry);
185 case EFsRename:
186 return(ENotifyDir|ENotifyFile|ENotifyEntry);
187 case EFsSetVolume:
188 return(ENotifyDisk|ENotifyEntry);
189 case EFsFileSet:
190 case EFsFileSetAtt:
191 case EFsFileSetModified:
192 case EFsFileSetSize:
193 case EFsSetEntry:
194 return(ENotifyAttributes);
195 case EFsFileWrite:
196 case EFsFileWriteDirty:
197 return(ENotifyWrite);
198 case EFsRawDiskWrite:
199 case EFsLockDrive:
200 case EFsUnlockDrive:
201 return(ENotifyDisk);
202 case EFsFileTemp:
203 case EFsSetDriveName:
204 return(ENotifyAll);
205 default:
206 return(0);
207 }
208 }
210 TBool TOperation::IsCompleted() const
211 //
212 //
213 //
214 {
215 switch(iFunction)
216 {
217 case EFsNotifyChange:
218 case EFsNotifyChangeEx:
219 #ifdef SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
220 case EFsNotificationBuffer:
221 case EFsNotificationRequest:
222 #endif //SYMBIAN_F32_ENHANCED_CHANGE_NOTIFICATION
223 case EFsNotifyDiskSpace:
224 case EFsNotifyDismount:
225 case EFsStartupInitComplete:
226 case EFsResourceCountMarkEnd:
227 case EFsPluginDoRequest:
228 case EFsFileWriteDirty:
229 return(EFalse);
230 default:
231 return(ETrue);
232 }
233 }