34 #else |
34 #else |
35 _LIT( KRdbBaseDir, "c:\\private\\101f51f2\\rdb\\"); |
35 _LIT( KRdbBaseDir, "c:\\private\\101f51f2\\rdb\\"); |
36 #endif |
36 #endif |
37 |
37 |
38 _LIT( KDomainRoDir, "DomainROs" ); |
38 _LIT( KDomainRoDir, "DomainROs" ); |
39 static const TChar KDirs[CDbWatcher::KNumDirs] = |
39 static const TChar KDirs[CDbWatcher::KNumDirs] = |
40 { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; |
40 { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; |
41 |
41 |
42 // ======== MEMBER FUNCTIONS ======== |
42 // ======== MEMBER FUNCTIONS ======== |
43 |
43 |
44 void CDbWatcher::ConstructL( MWatcherObserver& aObserver ) |
44 void CDbWatcher::ConstructL( MWatcherObserver& aObserver ) |
45 { |
45 { |
46 TInt i; |
46 TInt i; |
47 TFileName file; |
47 TFileName file; |
48 |
48 |
49 DRMLOG( _L( "CDbWatcher::ConstructL <-" ) ); |
49 DRMLOG( _L( "CDbWatcher::ConstructL <-" ) ); |
50 |
50 |
51 User::LeaveIfError( iFs.Connect() ); |
51 User::LeaveIfError( iFs.Connect() ); |
52 for ( i = 0; i < KNumDirs; i++ ) |
52 for ( i = 0; i < KNumDirs; i++ ) |
53 { |
53 { |
54 |
54 |
55 #ifndef RD_MULTIPLE_DRIVE |
55 #ifndef RD_MULTIPLE_DRIVE |
56 |
56 |
57 // Ignore errors |
57 // Ignore errors |
58 file.Copy( KRdbBaseDir ); |
58 file.Copy( KRdbBaseDir ); |
59 |
59 |
60 #else //RD_MULTIPLE_DRIVE |
60 #else //RD_MULTIPLE_DRIVE |
61 |
61 |
62 TInt driveNumber( -1 ); |
62 TInt driveNumber( -1 ); |
63 TChar driveLetter; |
63 TChar driveLetter; |
64 DriveInfo::GetDefaultDrive( DriveInfo::EDefaultSystem, driveNumber ); |
64 DriveInfo::GetDefaultDrive( DriveInfo::EDefaultSystem, driveNumber ); |
65 iFs.DriveToChar( driveNumber, driveLetter ); |
65 iFs.DriveToChar( driveNumber, driveLetter ); |
66 |
66 |
67 TFileName dbBaseDir; |
67 TFileName dbBaseDir; |
68 dbBaseDir.Format( KRdbBaseDir, (TUint)driveLetter ); |
68 dbBaseDir.Format( KRdbBaseDir, (TUint)driveLetter ); |
69 |
69 |
70 // Ignore errors |
70 // Ignore errors |
71 file.Copy( dbBaseDir ); |
71 file.Copy( dbBaseDir ); |
72 |
72 |
73 #endif |
73 #endif |
74 |
74 |
75 if ( i < KNumDirs - 1 ) |
75 if ( i < KNumDirs - 1 ) |
76 { |
76 { |
77 file.Append( KDirs[i] ); |
77 file.Append( KDirs[i] ); |
78 } |
78 } |
79 else |
79 else |
80 { |
80 { |
81 file.Append( KDomainRoDir ); |
81 file.Append( KDomainRoDir ); |
82 } |
82 } |
83 iDirWatcher[i] = CDirWatcher::NewL( aObserver, iFs, file ); |
83 iDirWatcher[i] = CDirWatcher::NewL( aObserver, iFs, file ); |
84 } |
84 } |
85 |
85 |
86 DRMLOG( _L( "CDbWatcher::ConstructL ->" ) ); |
86 DRMLOG( _L( "CDbWatcher::ConstructL ->" ) ); |
87 } |
87 } |
88 |
88 |
89 CDbWatcher* CDbWatcher::NewL( MWatcherObserver& aObserver ) |
89 CDbWatcher* CDbWatcher::NewL( MWatcherObserver& aObserver ) |
90 { |
90 { |
100 } |
100 } |
101 |
101 |
102 CDbWatcher::~CDbWatcher() |
102 CDbWatcher::~CDbWatcher() |
103 { |
103 { |
104 TInt i; |
104 TInt i; |
105 |
105 |
106 DRMLOG( _L( "CDbWatcher::~CDbWatcher ->" ) ); |
106 DRMLOG( _L( "CDbWatcher::~CDbWatcher ->" ) ); |
107 |
107 |
108 for ( i = 0; i < KNumDirs; i++ ) |
108 for ( i = 0; i < KNumDirs; i++ ) |
109 { |
109 { |
110 delete iDirWatcher[i]; |
110 delete iDirWatcher[i]; |
111 } |
111 } |
112 iFs.Close(); |
112 iFs.Close(); |
113 |
113 |
114 DRMLOG( _L( "CDbWatcher::~CDbWatcher <-" ) ); |
114 DRMLOG( _L( "CDbWatcher::~CDbWatcher <-" ) ); |
115 } |
115 } |
116 |
116 |
117 void CDbWatcher::StartWatching() |
117 void CDbWatcher::StartWatching() |
118 { |
118 { |
119 TInt i; |
119 TInt i; |
120 |
120 |
121 DRMLOG( _L( "CDbWatcher::StartWatching ->" ) ); |
121 DRMLOG( _L( "CDbWatcher::StartWatching ->" ) ); |
122 |
122 |
123 for ( i = 0; i < KNumDirs; i++ ) |
123 for ( i = 0; i < KNumDirs; i++ ) |
124 { |
124 { |
125 iDirWatcher[i]->StartWatching(); |
125 iDirWatcher[i]->StartWatching(); |
126 } |
126 } |
127 |
127 |
128 DRMLOG( _L( "CDbWatcher::StartWatching <-" ) ); |
128 DRMLOG( _L( "CDbWatcher::StartWatching <-" ) ); |
129 } |
129 } |