equal
deleted
inserted
replaced
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 // ----------------------------------------------------------------------------- |