upnpavcontrolpoint/avcpengineclient/src/upnpavcpenginerfsclient.cpp
changeset 34 eab116a48b80
parent 30 5ec426854821
equal deleted inserted replaced
33:6ac064bb53eb 34:eab116a48b80
    37 //
    37 //
    38 EXPORT_C RUpnpAVCPEngineRFSClient::RUpnpAVCPEngineRFSClient()
    38 EXPORT_C RUpnpAVCPEngineRFSClient::RUpnpAVCPEngineRFSClient()
    39     :RUpnpAVCPEngineClient()
    39     :RUpnpAVCPEngineClient()
    40     {
    40     {
    41     }
    41     }
    42 
    42 	
       
    43 // -----------------------------------------------------------------------------
       
    44 // Cleanup mechanism
       
    45 // -----------------------------------------------------------------------------
       
    46 //
       
    47 void RUpnpAVCPEngineRFSClient::CleanupArray(TAny* aDirs)
       
    48     {
       
    49     TFileInfo* dirs = (TFileInfo*) aDirs ;
       
    50     delete[] dirs;
       
    51     }
    43 
    52 
    44 // -----------------------------------------------------------------------------
    53 // -----------------------------------------------------------------------------
    45 // RUpnpAVCPEngineRFSClient::GetDirectoryL
    54 // RUpnpAVCPEngineRFSClient::GetDirectoryL
    46 // -----------------------------------------------------------------------------
    55 // -----------------------------------------------------------------------------
    47 //
    56 //
    62     
    71     
    63     if ( size > 0 )   
    72     if ( size > 0 )   
    64     	{        
    73     	{        
    65         TFileInfo* dirs = new TFileInfo[size];
    74         TFileInfo* dirs = new TFileInfo[size];
    66         // put array on cleanup stack
    75         // put array on cleanup stack
       
    76         CleanupStack::PushL(TCleanupItem(CleanupArray, dirs));
    67         TPtr8 result(reinterpret_cast<TUint8*>(dirs), sizeof(TFileInfo)*size, sizeof(TFileInfo)*size);
    77         TPtr8 result(reinterpret_cast<TUint8*>(dirs), sizeof(TFileInfo)*size, sizeof(TFileInfo)*size);
    68         err = SendReceive(EDownloadDirList,TIpcArgs(id, &result));
    78         err = SendReceive(EDownloadDirList,TIpcArgs(id, &result));
    69 
    79 
    70         for (TInt i = 0; i < size; i++) 
    80         for (TInt i = 0; i < size; i++) 
    71         	{
    81         	{
    72         	CRsfwDirEnt* entry = GetFileInformationL(dirs[i]);
    82         	CRsfwDirEnt* entry = GetFileInformationL(dirs[i]);
    73             aDirList.AppendL(entry);
    83             aDirList.AppendL(entry);
    74         	}
    84         	}
    75         delete[] dirs;
    85         CleanupStack::PopAndDestroy(dirs);
    76     	}
    86     	}
    77     return err;
    87     return err;
    78 	}
    88 	}
    79 
    89 
    80 // -----------------------------------------------------------------------------
    90 // -----------------------------------------------------------------------------