1 /* |
1 /* |
2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of the License "Eclipse Public License v1.0" |
5 * under the terms of the License "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
32 #include "sisregistryfiledescription.h" |
32 #include "sisregistryfiledescription.h" |
33 #include "processor.h" |
33 #include "processor.h" |
34 |
34 |
35 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
35 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
36 #include "registrywrapper.h" |
36 #include "registrywrapper.h" |
|
37 #include "appregextractor.h" |
|
38 #include <swi/sisregistrypackage.h> |
|
39 #include <swi/sisregistryentry.h> |
37 #else |
40 #else |
38 #include "sisregistrywritablesession.h" |
41 #include "sisregistrywritablesession.h" |
39 #endif |
42 #endif |
40 |
43 |
41 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
44 #ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
269 virtual TBool DoStateProcessEmbeddedL(); |
274 virtual TBool DoStateProcessEmbeddedL(); |
270 virtual TBool DoStateExtractFilesL(); |
275 virtual TBool DoStateExtractFilesL(); |
271 virtual TBool DoStateVerifyPathsL(); |
276 virtual TBool DoStateVerifyPathsL(); |
272 virtual TBool DoStateInstallFilesL(); |
277 virtual TBool DoStateInstallFilesL(); |
273 virtual TBool DoStateDisplayFilesL(); |
278 virtual TBool DoStateDisplayFilesL(); |
|
279 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
|
280 virtual TBool DoParseApplicationRegistrationFilesL(); |
|
281 TBool ParseRegistrationResourceFileL(const TDesC& aTargetFileName); |
|
282 TBool GetComponentIdL(const Usif::RSoftwareComponentRegistry& aScrSession, const TUid& aPackageUid, const TInt aPackageIndex, Usif::TComponentId& aComponentId); |
|
283 void AddAppArcRegResourceFilesL(); |
|
284 void AddAppArcRegResourceFilesForRegEntryL( RSisRegistryEntry& aEntry); |
|
285 TInt UserSelectedLanguageIndexL(const CApplication& aApplication) const; |
|
286 #endif |
274 virtual TBool DoStateUpdateRegistryL(); |
287 virtual TBool DoStateUpdateRegistryL(); |
275 virtual TBool DoStateProcessFilesL(); |
288 virtual TBool DoStateProcessFilesL(); |
276 virtual TBool DoStateProcessSkipFilesL(); |
289 virtual TBool DoStateProcessSkipFilesL(); |
277 |
290 |
278 virtual void DoCancel(); |
291 virtual void DoCancel(); |
304 */ |
317 */ |
305 CSisRegistryFileDescription* CreateSisStubRegistryFileDescriptionLC(RFs& aFs, const TDesC& aFileName); |
318 CSisRegistryFileDescription* CreateSisStubRegistryFileDescriptionLC(RFs& aFs, const TDesC& aFileName); |
306 |
319 |
307 /// @return true if aFilename is an Apparc registration file |
320 /// @return true if aFilename is an Apparc registration file |
308 bool FileIsApparcReg(const TDesC& aFilename) const; |
321 bool FileIsApparcReg(const TDesC& aFilename) const; |
|
322 |
309 private: |
323 private: |
310 /// Security Manager provided by SWIS |
324 /// Security Manager provided by SWIS |
311 CSecurityManager& iSecurityManager; |
325 CSecurityManager& iSecurityManager; |
312 |
326 |
313 /// SisHelper provided by SWIS |
327 /// SisHelper provided by SWIS |
332 /** |
346 /** |
333 * The list of Apparc registration files to pass to apparc before |
347 * The list of Apparc registration files to pass to apparc before |
334 * running an exe. |
348 * running an exe. |
335 */ |
349 */ |
336 RPointerArray<TDesC> iApparcRegFiles; |
350 RPointerArray<TDesC> iApparcRegFiles; |
337 |
351 |
338 RLoader iLoader; |
352 RLoader iLoader; |
339 |
353 |
340 /** |
354 /** |
341 * The list of input received from user for the DisplayText dialog. This array is parallel bit |
355 * The list of input received from user for the DisplayText dialog. This array is parallel bit |
342 * array with ApplicationL().FilesToSkipOnInstall() |
356 * array with ApplicationL().FilesToSkipOnInstall() |
343 */ |
357 */ |
344 RArray<TBool> iSkipFile; |
358 RArray<TBool> iSkipFile; |
345 |
359 |
346 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
360 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
347 /** The list of the software types to be registered read from the XML registration file. */ |
361 /** The list of the software types to be registered read from the XML registration file. */ |
348 RCPointerArray<CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray; |
362 RCPointerArray<Usif::CSoftwareTypeRegInfo> iSoftwareTypeRegInfoArray; |
|
363 RPointerArray<Usif::CApplicationRegistrationData> iApparcRegFileData; |
|
364 /** |
|
365 * The list of Apparc registration files to parse to populate SCR |
|
366 */ |
|
367 RPointerArray<CAppRegFileData> iApparcRegFilesForParsing; |
|
368 |
|
369 CAppRegExtractor *iAppRegExtractor; |
|
370 |
349 #endif |
371 #endif |
350 }; |
372 }; |
351 |
373 #ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK |
|
374 class CAppRegFileData:public CBase |
|
375 { |
|
376 public: |
|
377 static CAppRegFileData* NewLC(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); |
|
378 static CAppRegFileData* NewL(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); |
|
379 TDesC& GetAppRegFile(); |
|
380 CSisRegistryPackage& GetSisRegistryPackage(); |
|
381 ~CAppRegFileData(); |
|
382 private: |
|
383 CAppRegFileData(); |
|
384 void ConstructL(const TDesC& aAppRegFile, const CSisRegistryPackage& aSisRegistryPackage); |
|
385 HBufC *iAppRegFile; |
|
386 CSisRegistryPackage *iSisRegistryPackage; |
|
387 }; |
|
388 #endif |
352 |
389 |
353 // inline functions |
390 // inline functions |
354 |
391 |
355 inline const CSisRegistryFileDescription& CInstallationProcessor::CFileCopyDescription::FileDescription() const |
392 inline const CSisRegistryFileDescription& CInstallationProcessor::CFileCopyDescription::FileDescription() const |
356 { |
393 { |