diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/filechangenotifier_8h_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/filechangenotifier_8h_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,116 @@ + + + + +TB9.2 Example Applications: examples/Base/FileServer/FileChangeNotifier/inc/filechangenotifier.h Source File + + + + + +

examples/Base/FileServer/FileChangeNotifier/inc/filechangenotifier.h

00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+00002 // All rights reserved.
+00003 // This component and the accompanying materials are made available
+00004 // under the terms of "Eclipse Public License v1.0"
+00005 // which accompanies this distribution, and is available
+00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00007 //
+00008 // Initial Contributors:
+00009 // Nokia Corporation - initial contribution.
+00010 //
+00011 // Contributors:
+00012 //
+00013 // Description:
+00014 //
+00015 
+00016 
+00017 #ifndef __FILECHANGENOTIFIER_H__
+00018 #define __FILECHANGENOTIFIER_H__
+00019 
+00020 #include <e32base.h>
+00021 #include <e32cons.h>
+00022 #include <f32file.h>
+00023 #include <f32notification.h>
+00024 
+00025 /*
+00026  * Demonstrates the various features of Enhanced File change notifier.
+00027  * - User gets notified when there is a change in a File.
+00028  * - User gets notified when there is a change in a Folder.
+00029  * - User gets notified when there is a change in a Drive.
+00030  */
+00031 class CChangeNotifier: public CActive
+00032 {
+00033 public:
+00034     static CChangeNotifier* NewL(TInt aPriority = EPriorityStandard);
+00035     virtual ~CChangeNotifier();
+00036     void RequestCharacter(); 
+00037 protected:
+00038     void ConstructL();
+00039 
+00040 public:
+00041     enum TFileOperations{
+00042         ECreateFile,
+00043         EChangeFileContents,
+00044         ERenameFile,
+00045         EChangeFileAttributes ,
+00046         EDeleteFile,
+00047         ECreateFolder,
+00048         ERenameFolder,
+00049         EDeleteFolder,
+00050         EVolumeNameChange,
+00051         EMultipleNotifications
+00052         };
+00053 private: 
+00054     virtual void DoCancel();
+00055     virtual void RunL();
+00056     void PressAnyKey();
+00057     void NotifyChangeToFile(); // get notified when there is a change in the file.
+00058     void NotifyChangeToFolder(); // get notified when there is a change in the folder.
+00059     void CreateFile(); // get notified when a new file is created.
+00060     void ChangeFileContents(); // get notified when the file contents are changed.
+00061     void RenameFile(); // get notified when a file is renamed.
+00062     void ChangeFileAttributes (); // get notified when the file attributes change.
+00063     void DeleteFile(); // get notified when a file is deleted.
+00064     void CreateFolder(); // get notified when a folder is created.
+00065     void RenameFolder(); // get notified when a folder is renamed.
+00066     void DeleteFolder(); // get notified when a folder is deleted.
+00067     void DeleteFileandFolder(); // get notitified when a folder is deleted, file in the folder is also deleted.
+00068     void VolumeNameChange(); // get notified when there is a volume name change.
+00069     void MultipleNotifications(); // multiple notifications can be requested at once, completed notifications are filled in the buffer.
+00070     void DoChanges(CChangeNotifier::TFileOperations operation); // Do file/folder changes.
+00071     void ProcessMultipleChanges(const TFsNotification* aNotification); // Process the completion of multiple notifications requested by 'Multiple Notifications' use case.
+00072     
+00073 private: 
+00074     CChangeNotifier(TInt aPriority = EPriorityStandard );
+00075     /*
+00076      * These booleans are used to detect whether the file change operation was performed earlier or not.
+00077      * Ex: If a folder is already created and the user tries to create it once again, it prints that the file is created.
+00078      */
+00079     TBool iIsCreateFolder; // to verify whether a folder is created or not.
+00080     TBool iIsRenameFolder; // to verify whether the rename operation on a folder is performed already.
+00081     TBool iIsDeleteFolder; // to verify whether the delete folder operation is performed already.
+00082     TBool iIsVolumeNameChange; // to verify whether the volume name change operation is done already.
+00083     TBool iIsCreateFile; // to verify whether the file is created in the desired location already.
+00084     TBool iIsRenameFile; // to verify whether the rename operation on the file is performed already.
+00085     TBool iIsChangeFileAttributes ; // to verify whether the file attributed are changed already.
+00086     TBool iIsDeleteFile; // to verify whether the file is deleted already.
+00087     TBool iDeleteFileContinue; // this boolean is used when a folder with a file needs to be removed. it removes the file and then calls folder removal.
+00088     TBool iIsMultipleNotifications;
+00089     RFs iFs;
+00090     TChar iDrive; // System drive
+00091     TInt iDriveNumber; // drive number of U: drive
+00092     TBool iOption; // This boolean is used to exit, if none of the Main menu options is chosen.
+00093     TBool iOptionContinue; // it is used to continue with the Main menu, if none of the sub menu options is chosen.
+00094     CConsoleBase* iConsole;
+00095     CFsNotify* iNotify; // This is client which will be posting notification requests and will be notified after completion of these requests.
+00096     TRequestStatus iReqStatus;
+00097 };
+00098 #endif  // __CHANGENOTIFIER_H__
+00099 
+00100 
+
+
Generated by  + +doxygen 1.6.2
+ +