kerneltest/f32test/testfsys/t_tfsys_notify.cpp
author hgs
Mon, 01 Nov 2010 20:11:36 +0000
changeset 299 b5a01337d018
permissions -rw-r--r--
201043_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
299
b5a01337d018 201043_04
hgs
parents:
diff changeset
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
b5a01337d018 201043_04
hgs
parents:
diff changeset
     2
// All rights reserved.
b5a01337d018 201043_04
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b5a01337d018 201043_04
hgs
parents:
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
b5a01337d018 201043_04
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b5a01337d018 201043_04
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b5a01337d018 201043_04
hgs
parents:
diff changeset
     7
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
     8
// Initial Contributors:
b5a01337d018 201043_04
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b5a01337d018 201043_04
hgs
parents:
diff changeset
    10
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
    11
// Contributors:
b5a01337d018 201043_04
hgs
parents:
diff changeset
    12
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
    13
// Description:
b5a01337d018 201043_04
hgs
parents:
diff changeset
    14
// f32test\testfsys\t_tfsys.cpp
b5a01337d018 201043_04
hgs
parents:
diff changeset
    15
// 
b5a01337d018 201043_04
hgs
parents:
diff changeset
    16
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
    17
b5a01337d018 201043_04
hgs
parents:
diff changeset
    18
#include "t_tfsys_notify.h"
b5a01337d018 201043_04
hgs
parents:
diff changeset
    19
b5a01337d018 201043_04
hgs
parents:
diff changeset
    20
b5a01337d018 201043_04
hgs
parents:
diff changeset
    21
const TInt KMajorVersionNumber=1;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    22
const TInt KMinorVersionNumber=0;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    23
b5a01337d018 201043_04
hgs
parents:
diff changeset
    24
void CTestNotificationMountCB::FileOpenL(const TDesC& aName,TUint /*aMode*/,TFileOpen /*anOpen*/,CFileCB* /*aFile*/)
b5a01337d018 201043_04
hgs
parents:
diff changeset
    25
    {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    26
    RDebug::Print(_L("CTestMountCB::FileOpenL - aName = %S"),&aName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    27
    
b5a01337d018 201043_04
hgs
parents:
diff changeset
    28
    if(aName.Match(_L("\\Wellformed_functionReplace.txt"))!= KErrNotFound) //PhantomFile_functionWrite.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
    29
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    30
        CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(*this,EFsFileReplace);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    31
        TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    32
        phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    33
        phantomName.Append(_L("PhantomFile_functionReplace.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    34
        TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    35
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    36
        r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    37
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    38
        r = IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    39
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    40
        CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    41
        return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    42
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
    43
    else if(aName.Match(_L("\\Extended_Replaced.txt"))!= KErrNotFound) //\\Extended_Replaced.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
    44
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    45
        CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(*this,EFsFileReplace);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    46
        TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    47
        phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    48
        phantomName.Append(_L("PhantomExtended_Replaced.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    49
        TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    50
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    51
        r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    52
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    53
        r = IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    54
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    55
        CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    56
        return;       
b5a01337d018 201043_04
hgs
parents:
diff changeset
    57
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
    58
    else if(aName.Match(_L("\\Extended_RenameMe.txt"))!= KErrNotFound) //\\PhantomExtended_Renamed.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
    59
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    60
        CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(*this,EFsRename);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    61
        TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    62
        phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    63
        phantomName.Append(_L("PhantomExtended_RenameMe.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    64
        TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    65
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    66
        TBuf<KMaxFileName> phantomRename;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    67
        phantomRename.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    68
        phantomRename.Append(_L("PhantomExtended_Renamed.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    69
        r = notificationInfo->SetNewName(phantomRename);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    70
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    71
        r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    72
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    73
        r = IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    74
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    75
        CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    76
        return;       
b5a01337d018 201043_04
hgs
parents:
diff changeset
    77
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
    78
    
b5a01337d018 201043_04
hgs
parents:
diff changeset
    79
 
b5a01337d018 201043_04
hgs
parents:
diff changeset
    80
    }
b5a01337d018 201043_04
hgs
parents:
diff changeset
    81
b5a01337d018 201043_04
hgs
parents:
diff changeset
    82
void CTestNotificationFileCB::RenameL(const TDesC& /*aNewName*/)
b5a01337d018 201043_04
hgs
parents:
diff changeset
    83
    {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    84
    RDebug::Print(_L("CTestNotificationFileCB::RenameL - aName = %S"),iFileName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    85
    
b5a01337d018 201043_04
hgs
parents:
diff changeset
    86
    if(iFileName->Match(_L("\\Wellformed_functionReplace.txt"))!= KErrNotFound) //PhantomFile_functionWrite.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
    87
         {
b5a01337d018 201043_04
hgs
parents:
diff changeset
    88
         CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(Mount(),EFsFileRename);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    89
         TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    90
         phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    91
         phantomName.Append(_L("PhantomFile_functionReplace.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    92
         TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    93
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    94
         TBuf<KMaxFileName> phantomNewName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
    95
         phantomNewName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    96
         phantomNewName.Append(_L("PhantomFile_functionRename.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
    97
         r = notificationInfo->SetNewName(phantomNewName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    98
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
    99
         r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   100
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   101
         r = Mount().IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   102
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   103
         CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   104
         return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   105
         }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   106
    
b5a01337d018 201043_04
hgs
parents:
diff changeset
   107
    //MALFORMED
b5a01337d018 201043_04
hgs
parents:
diff changeset
   108
    if(iFileName->Match(_L("\\Malformed_functionWrite.txt"))!=KErrNotFound)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   109
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   110
        CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(Mount(),EFsFileRename);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   111
        TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   112
        phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   113
        phantomName.Append(_L("Malformed_functionWrite.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   114
        TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   115
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   116
        // Don't set NewName - Should cause error.
b5a01337d018 201043_04
hgs
parents:
diff changeset
   117
        //      SetNewName(phantomNewName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   118
        r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   119
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   120
        r = Mount().IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   121
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   122
        CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   123
        return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   124
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   125
    }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   126
b5a01337d018 201043_04
hgs
parents:
diff changeset
   127
void CTestNotificationFileCB::WriteL(TInt /*aPos*/,TInt& /*aLength*/,const TAny* /*aDes*/,const RMessagePtr2& /*aMessage*/)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   128
    {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   129
    if(iFileName->Match(_L("\\Wellformed_functionWrite.txt"))!= KErrNotFound) //PhantomFile_functionWrite.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
   130
         {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   131
         RDebug::Printf("CTestNotificationFileCB::WriteL - wellformed_functionWrite.txt");
b5a01337d018 201043_04
hgs
parents:
diff changeset
   132
         CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(Mount(),EFsFileWrite);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   133
         TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   134
         phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   135
         phantomName.Append(_L("PhantomFile_functionWrite.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   136
         TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   137
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   138
         r = notificationInfo->SetFilesize((TInt64)4);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   139
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   140
         r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   141
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   142
         r = Mount().IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   143
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   144
         CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   145
         return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   146
         }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   147
    
b5a01337d018 201043_04
hgs
parents:
diff changeset
   148
    //MALFORMED
b5a01337d018 201043_04
hgs
parents:
diff changeset
   149
    if(iFileName->Match(_L("\\Malformed_functionWrite.txt"))!=KErrNotFound)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   150
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   151
        RDebug::Printf("CTestNotificationFileCB::WriteL - malformed_functionWrite.txt");
b5a01337d018 201043_04
hgs
parents:
diff changeset
   152
        CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(Mount(),EFsFileWrite);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   153
        TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   154
        phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   155
        phantomName.Append(_L("PhantomFileMalformed_functionWrite.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   156
        TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   157
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   158
        //We won't set filesize - which should result in an error.
b5a01337d018 201043_04
hgs
parents:
diff changeset
   159
        //  SetFilesize((TInt64)4);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   160
        //
b5a01337d018 201043_04
hgs
parents:
diff changeset
   161
        r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   162
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   163
        r = Mount().IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   164
        User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   165
        CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   166
        return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   167
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   168
            
b5a01337d018 201043_04
hgs
parents:
diff changeset
   169
    }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   170
b5a01337d018 201043_04
hgs
parents:
diff changeset
   171
void CTestNotificationFileCB::SetEntryL(const TTime& /*aTime*/,TUint /*aSetAttMask*/,TUint /*aClearAttMask*/)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   172
    {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   173
    if(iFileName->Match(_L("\\Wellformed_functionAttributes.txt"))!= KErrNotFound) //PhantomFile_functionWrite.txt
b5a01337d018 201043_04
hgs
parents:
diff changeset
   174
         {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   175
         CFsNotificationInfo* notificationInfo = CFsNotificationInfo::Allocate(Mount(),EFsFileSetAtt);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   176
         TBuf<KMaxFileName> phantomName;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   177
         phantomName.Append(_L("\\"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   178
         phantomName.Append(_L("PhantomFile_functionAttributes.txt"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   179
         TInt r = notificationInfo->SetSourceName(phantomName);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   180
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   181
         r = notificationInfo->SetAttributes(KEntryAttSystem,KEntryAttHidden);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   182
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   183
         r = notificationInfo->SetUid(TUid::Uid(KErrUnknown));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   184
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   185
         r = Mount().IssueNotification(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   186
         User::LeaveIfError(r);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   187
         CFsNotificationInfo::Free(notificationInfo);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   188
         return;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   189
         }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   190
    }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   191
b5a01337d018 201043_04
hgs
parents:
diff changeset
   192
CTestFileSystem::CTestFileSystem()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   193
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   194
// Constructor
b5a01337d018 201043_04
hgs
parents:
diff changeset
   195
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   196
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   197
	__DECLARE_NAME(_S("CNotifyTestFileSystem"));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   198
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   199
b5a01337d018 201043_04
hgs
parents:
diff changeset
   200
CTestFileSystem::~CTestFileSystem()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   201
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   202
// Destructor
b5a01337d018 201043_04
hgs
parents:
diff changeset
   203
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   204
	{}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   205
b5a01337d018 201043_04
hgs
parents:
diff changeset
   206
TInt CTestFileSystem::Install()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   207
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   208
// Install the file system
b5a01337d018 201043_04
hgs
parents:
diff changeset
   209
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   210
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   211
	iVersion=TVersion(KMajorVersionNumber,KMinorVersionNumber,KF32BuildVersionNumber);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   212
	TPtrC name=_L("CNotifyTestFileSystem");
b5a01337d018 201043_04
hgs
parents:
diff changeset
   213
	return(SetName(&name));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   214
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   215
b5a01337d018 201043_04
hgs
parents:
diff changeset
   216
CMountCB* CTestFileSystem::NewMountL() const
b5a01337d018 201043_04
hgs
parents:
diff changeset
   217
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   218
// Create a new mount control block
b5a01337d018 201043_04
hgs
parents:
diff changeset
   219
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   220
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   221
	return (new(ELeave) CTestNotificationMountCB);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   222
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   223
b5a01337d018 201043_04
hgs
parents:
diff changeset
   224
CFileCB* CTestFileSystem::NewFileL() const
b5a01337d018 201043_04
hgs
parents:
diff changeset
   225
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   226
// Create a new file
b5a01337d018 201043_04
hgs
parents:
diff changeset
   227
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   228
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   229
	return (new(ELeave) CTestNotificationFileCB);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   230
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   231
b5a01337d018 201043_04
hgs
parents:
diff changeset
   232
CDirCB* CTestFileSystem::NewDirL() const
b5a01337d018 201043_04
hgs
parents:
diff changeset
   233
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   234
// create a new directory lister
b5a01337d018 201043_04
hgs
parents:
diff changeset
   235
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   236
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   237
	return (new(ELeave) CTestDirCB);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   238
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   239
b5a01337d018 201043_04
hgs
parents:
diff changeset
   240
CFormatCB* CTestFileSystem::NewFormatL() const
b5a01337d018 201043_04
hgs
parents:
diff changeset
   241
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   242
// Create a new media formatter
b5a01337d018 201043_04
hgs
parents:
diff changeset
   243
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   244
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   245
	return (new(ELeave) CTestFormatCB);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   246
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   247
b5a01337d018 201043_04
hgs
parents:
diff changeset
   248
TInt CTestFileSystem::DefaultPath(TDes& aPath) const
b5a01337d018 201043_04
hgs
parents:
diff changeset
   249
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   250
// Return the intial default path
b5a01337d018 201043_04
hgs
parents:
diff changeset
   251
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   252
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   253
	aPath=_L("C:\\");
b5a01337d018 201043_04
hgs
parents:
diff changeset
   254
	return (KErrNone);
b5a01337d018 201043_04
hgs
parents:
diff changeset
   255
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   256
b5a01337d018 201043_04
hgs
parents:
diff changeset
   257
b5a01337d018 201043_04
hgs
parents:
diff changeset
   258
/**
b5a01337d018 201043_04
hgs
parents:
diff changeset
   259
Reports whether the specified interface is supported - if it is,
b5a01337d018 201043_04
hgs
parents:
diff changeset
   260
the supplied interface object is modified to it
b5a01337d018 201043_04
hgs
parents:
diff changeset
   261
b5a01337d018 201043_04
hgs
parents:
diff changeset
   262
@param aInterfaceId     The interface of interest
b5a01337d018 201043_04
hgs
parents:
diff changeset
   263
@param aInterface       The interface object
b5a01337d018 201043_04
hgs
parents:
diff changeset
   264
@return                 KErrNone if the interface is supported, otherwise KErrNotFound 
b5a01337d018 201043_04
hgs
parents:
diff changeset
   265
b5a01337d018 201043_04
hgs
parents:
diff changeset
   266
@see CFileSystem::GetInterface()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   267
*/
b5a01337d018 201043_04
hgs
parents:
diff changeset
   268
TInt CTestFileSystem::GetInterface(TInt aInterfaceId, TAny*& aInterface,TAny* aInput)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   269
    {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   270
    switch(aInterfaceId)
b5a01337d018 201043_04
hgs
parents:
diff changeset
   271
        {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   272
        case CFileSystem::EProxyDriveSupport: // The FAT Filesystem supports proxy drives
b5a01337d018 201043_04
hgs
parents:
diff changeset
   273
			return KErrNone;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   274
b5a01337d018 201043_04
hgs
parents:
diff changeset
   275
        default:
b5a01337d018 201043_04
hgs
parents:
diff changeset
   276
            return(CFileSystem::GetInterface(aInterfaceId, aInterface, aInput));
b5a01337d018 201043_04
hgs
parents:
diff changeset
   277
        }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   278
    }
b5a01337d018 201043_04
hgs
parents:
diff changeset
   279
b5a01337d018 201043_04
hgs
parents:
diff changeset
   280
CFileSystem* CTestFileSystem::NewL()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   281
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   282
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   283
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   284
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   285
	CFileSystem* testFSys = new(ELeave) CTestFileSystem;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   286
	return testFSys;
b5a01337d018 201043_04
hgs
parents:
diff changeset
   287
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   288
b5a01337d018 201043_04
hgs
parents:
diff changeset
   289
b5a01337d018 201043_04
hgs
parents:
diff changeset
   290
CTestNotificationMountCB::CTestNotificationMountCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   291
CTestNotificationMountCB::~CTestNotificationMountCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   292
CTestDirCB::CTestDirCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   293
CTestDirCB::~CTestDirCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   294
CTestNotificationFileCB::CTestNotificationFileCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   295
CTestNotificationFileCB::~CTestNotificationFileCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   296
CTestFormatCB::CTestFormatCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   297
CTestFormatCB::~CTestFormatCB(){};
b5a01337d018 201043_04
hgs
parents:
diff changeset
   298
b5a01337d018 201043_04
hgs
parents:
diff changeset
   299
b5a01337d018 201043_04
hgs
parents:
diff changeset
   300
extern "C" {
b5a01337d018 201043_04
hgs
parents:
diff changeset
   301
b5a01337d018 201043_04
hgs
parents:
diff changeset
   302
EXPORT_C CFileSystem* CreateFileSystem()
b5a01337d018 201043_04
hgs
parents:
diff changeset
   303
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   304
// Create a new file system
b5a01337d018 201043_04
hgs
parents:
diff changeset
   305
//
b5a01337d018 201043_04
hgs
parents:
diff changeset
   306
	{
b5a01337d018 201043_04
hgs
parents:
diff changeset
   307
	return(CTestFileSystem::NewL());
b5a01337d018 201043_04
hgs
parents:
diff changeset
   308
	}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   309
}
b5a01337d018 201043_04
hgs
parents:
diff changeset
   310