--- a/serviceproviders/sapi_applicationmanager/appmanagerservice/group/appmanagerservice.mmp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/group/appmanagerservice.mmp Tue Sep 14 22:59:08 2010 +0300
@@ -72,7 +72,7 @@
LIBRARY sisregistryclient.lib
LIBRARY ws32.lib
LIBRARY cone.lib
-LIBRARY efsrv.lib
+LIBRARY efsrv.lib commonui.lib
paged
--- a/serviceproviders/sapi_applicationmanager/appmanagerservice/inc/appmanagercommon.h Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/inc/appmanagercommon.h Tue Sep 14 22:59:08 2010 +0300
@@ -32,6 +32,7 @@
_LIT(KForeground ,"Foreground");
_LIT(KStandalone,"Standalone");
+_LIT(KChained,"Chained");
/**
* This is an interface class which provides the information about the installed application or package as per
* content type.
@@ -291,4 +292,4 @@
EAppCancel = 0x1
};
-#endif
\ No newline at end of file
+#endif
--- a/serviceproviders/sapi_applicationmanager/appmanagerservice/inc/launcher.h Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/inc/launcher.h Tue Sep 14 22:59:08 2010 +0300
@@ -24,7 +24,7 @@
class RApaLsSession;
class CLauncherObserver;
class TDocument;
-
+class CDocumentHandler;
/**
* This Class provides the core functionality of launching
@@ -73,7 +73,17 @@
const TDesC8& aMimeType,
const TOptions& aProperties ,
TDesC& aFileName );
-
+
+ /**
+ * This function Launch the Given Document. This function is written to support the requirement of webtv widget .
+ * This is applicable only to synchronous chained mode version of launchdocument.
+ * succeed.
+ * @since Series60 v3.2
+ * @param aCriteria Document to be launch
+ *
+ */
+
+ void LaunchDocumentL( TDocument& aCriteria );
/**
* Destructor
@@ -128,7 +138,8 @@
*/
RApaLsSession& iApaLsSession;
-
+ CDocumentHandler* iDocHandler; // this handler wiil be created only in the chained mode and destroyed in dtor.
+
};
-#endif __LAUNCHER_H
\ No newline at end of file
+#endif __LAUNCHER_H
--- a/serviceproviders/sapi_applicationmanager/appmanagerservice/src/appmanagerservice.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/src/appmanagerservice.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -121,7 +121,14 @@
{
//Synchronous call
__UHEAP_MARK;
- iLauncher->LaunchDocumentL( aCriteria, aMimeType, aOptions, aFileName);
+ if( 0 == aOptions.iMode.CompareF( KChained ) )
+ {
+ iLauncher->LaunchDocumentL( aCriteria );
+ }
+ else
+ {
+ iLauncher->LaunchDocumentL( aCriteria, aMimeType, aOptions, aFileName);
+ }
__UHEAP_MARKEND;
}
else
--- a/serviceproviders/sapi_applicationmanager/appmanagerservice/src/launcher.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/src/launcher.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -25,14 +25,15 @@
#include <eikenv.h>
#include <e32base.h>
#include <f32file.h>
-//#include <documenthandler.h>
+#include <documenthandler.h>
#include "launcher.h"
#include "launcherobserver.h"
#include "appmanagerservice.h"
+
_LIT(KBackground ,"Background");
-_LIT(KChained,"Chained");
+//_LIT(KChained,"Chained");
_LIT(KScheme,"s60uid://0x");
const TInt KDocMaxDigitsInHexString = 8; // 32 bits.
@@ -151,7 +152,19 @@
return threadNotUsed;
}
-
+ // -----------------------------------------------------------------------------
+ // CLauncher::LaunchDocumentL
+ // This function Launch the Given Document in synchronous chained mode
+ // -----------------------------------------------------------------------------
+ void CLauncher::LaunchDocumentL( TDocument& aCriteria )
+ {
+ if( !iDocHandler )
+ {
+ iDocHandler = CDocumentHandler::NewL();
+ }
+ TDataType dataType;
+ User::LeaveIfError(iDocHandler->OpenFileEmbeddedL(aCriteria.iPath, dataType));
+ }
// -----------------------------------------------------------------------------
// CLauncher::LaunchDocumentL
// This function Launch the Given Document
@@ -400,7 +413,10 @@
CLauncher::~CLauncher( )
{
-
+ if( iDocHandler )
+ {
+ delete iDocHandler;
+ }
}
--- a/serviceproviders/sapi_applicationmanager/group/appmanagerprovider.mmp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/group/appmanagerprovider.mmp Tue Sep 14 22:59:08 2010 +0300
@@ -70,6 +70,7 @@
LIBRARY platformenv.lib
LIBRARY ecom.lib
-LIBRARY appmanagerservice.lib
+LIBRARY appmanagerservice.lib bafl.lib
+
paged
--- a/serviceproviders/sapi_applicationmanager/src/appmanagerinterface.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_applicationmanager/src/appmanagerinterface.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -22,7 +22,7 @@
#include <liwcommon.h>
#include <liwbufferextension.h>
#include <utf.h>
-
+#include <BAUTILS.H>
#include "appmanagerinterface.h"
#include "appmanagerservice.h"
#include "appitemslist.h"
@@ -74,6 +74,11 @@
_LIT8(KTransactionID,"TransactionID");
+_LIT(KRtspPrefix,"rtsp://");
+_LIT(KTempFile, "c:\\system\\temp\\tempvideo.ram");
+_LIT(KTempPath, "c:\\system\\temp\\");
+_LIT8(KRamMime, "application/ram");
+
// -----------------------------------------------------------------------------
// CAppManagerInterface::NewLC
@@ -96,6 +101,13 @@
// -----------------------------------------------------------------------------
CAppManagerInterface::~CAppManagerInterface()
{
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ if( BaflUtils::FileExists(fs,KTempFile) )
+ {
+ BaflUtils::DeleteFile(fs,KTempFile);
+ }
+ fs.Close() ;
//Release the instance of core class
delete iCoreClass;
iCoreClass = NULL;
@@ -980,6 +992,27 @@
TPtr8 mimetype8( heapBuffer->Des() );
mimetype8.Copy( mimetype );
TPtrC filename;
+ // RTSP handling
+ if( ! document.iPath.Left(KRtspPrefix().Length()).CompareF(KRtspPrefix) )
+ {
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ RFile file;
+ fs.MkDir( KTempPath );
+ file.Replace( fs, KTempFile, EFileWrite | EFileStreamText );
+ HBufC8 *tempPath = HBufC8::NewLC( document.iPath.Length() );
+ tempPath->Des().Copy( document.iPath );
+ file.Write( *tempPath );
+ document.iPath.Set( KTempFile );
+ file.Close();
+ fs.Close();
+ HBufC8 *tempMime;
+ tempMime = KRamMime().AllocLC();
+ mimetype8.Set( tempMime->Des() );
+ CleanupStack::PopAndDestroy( tempMime );
+ CleanupStack::PopAndDestroy( tempPath );
+ }
+
if( aCallBack )
{
--- a/serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -668,250 +668,253 @@
aOutMapParam = CLiwDefaultMap::NewL();
CleanupClosePushL(*aOutMapParam);
TInt count = 0;
- switch (aInSysData->DataType())
+ if(aInSysData)
{
- case CSysData::EStatus:
- {
- TInt32 status = ((CStatus*) aInSysData)->Status();
- aOutMapParam->InsertL(KStatus,(TInt32)status);
- }
- break;
- case CSysData::EVersion:
- {
- TBuf<KMaxVersionTxt> majortxt(KNullDesC);
- TBuf<KMaxVersionTxt> minortxt(KNullDesC);
- majortxt.FillZ(0);
- minortxt.FillZ(0);
- const CVersion* version = (CVersion*) aInSysData;
- NumberConversion::AppendFormatNumber (majortxt,
- version->MajorVersion(),EDigitTypeWestern);
- aOutMapParam->InsertL(KMajorVersion,majortxt);
- NumberConversion::AppendFormatNumber (minortxt,
- version->MinorVersion(),EDigitTypeWestern);
- aOutMapParam->InsertL(KMinorVersion,minortxt);
- }
- break;
- case CSysData::EConnectionList:
- {
- CConnectionList* dataconnections = (CConnectionList*) aInSysData;
- CSysInfoConnList* connlist = CSysInfoConnList::NewL(dataconnections);
- CleanupClosePushL(*connlist);
- aOutMapParam->InsertL(KConnectionList,connlist);
- CleanupStack::PopAndDestroy(connlist);
- }
- break;
- case CSysData::ENetworkInfo:
- {
- const CNetworkInfo* networkinfo = (CNetworkInfo*) aInSysData;
- aOutMapParam->InsertL(KNetworkName,networkinfo->NetworkName());
- aOutMapParam->InsertL(KNetworkStatus,
- (TInt32)networkinfo->NetworkStatus());
- aOutMapParam->InsertL(KNetworkMode,(TInt32)networkinfo->NetworkMode());
- aOutMapParam->InsertL(KCountryCode,networkinfo->CountryCode());
- aOutMapParam->InsertL(KNetworkCode,networkinfo->NetworkCode());
- aOutMapParam->InsertL(KLocationStatus,
- networkinfo->ValidLocationAreaCode());
- aOutMapParam->InsertL(KAreaCode,(TInt32)networkinfo->LocationAreaCode());
- aOutMapParam->InsertL(KCellId,(TInt32)networkinfo->CellId());
- }
- break;
- case CSysData::EConnectionInfo:
- {
- const CConnectionInfo* connectioninfo =
- ((CConnectionInfo*) aInSysData);
- aOutMapParam->InsertL(KIAPID,(TInt32)connectioninfo->IAPId());
- aOutMapParam->InsertL(KIAPName,connectioninfo->IAPName());
- aOutMapParam->InsertL(KIAPConnectionName,
- connectioninfo->ConnectionName());
- aOutMapParam->InsertL(KNetworkName,connectioninfo->NetworkName());
- aOutMapParam->InsertL(KConnectionType,
- (TInt32)connectioninfo->BearerType());
- aOutMapParam->InsertL(KConnectionStatus,
- (TInt32)connectioninfo->ConnectionState());
- }
- break;
- case CSysData::EDriveInfo:
+ switch (aInSysData->DataType())
{
- const CDriveInfo* driveinfo = (CDriveInfo*) aInSysData;
-
- TBuf<KMaxDriveLength> drive;
- drive.FillZ();
- drive.Append('A'+driveinfo->DriveNumber());
- drive.Append(KDriveSeperator);
-
- aOutMapParam->InsertL(KDriveNo,drive);
- aOutMapParam->InsertL(KCriticalSpace,
- (TInt32)driveinfo->CriticalSpace());
- aOutMapParam->InsertL(KMediaType,(TInt32)driveinfo->MediaType());
- //totalspace and freespace converted to string .
- TBuf<KMax64BitNumLen> string64bitnum(KNullDesC);
- string64bitnum.FillZ(0);
- string64bitnum.Num(driveinfo->TotalSpace());
- aOutMapParam->InsertL(KTotalSpace,string64bitnum);
- string64bitnum.FillZ(0);
- string64bitnum.Num(driveinfo->FreeSpace());
- aOutMapParam->InsertL(KFreeSpace,string64bitnum);
- TPtrC drvname;
- driveinfo->DriveName(drvname);
- aOutMapParam->InsertL(KDriveName,drvname);
- aOutMapParam->InsertL(KBatteryState,(TInt32)driveinfo->BatteryState());
- }
- break;
-
- case CSysData::EAccessoryInfo:
- {
- const CAccessoryInfo* accessoryinfo = ((CAccessoryInfo*) aInSysData);
- aOutMapParam->InsertL(KAccessoryType,
- (TInt32)accessoryinfo->AccessoryType());
- aOutMapParam->InsertL(KAccessoryState,
- (TInt32)accessoryinfo->ConnectionState());
- }
- break;
- case CSysData::EResolution:
- {
- const CResolution* resolution = ((CResolution*) aInSysData);
- aOutMapParam->InsertL(KXPixels,(TInt32)resolution->XPixels());
- aOutMapParam->InsertL(KYPixels,(TInt32)resolution->YPixels());
- }
- break;
- case CSysData::EStringData:
- {
- const CStringData* stringdata = ((CStringData*) aInSysData);
- TPtrC string;
- stringdata->StringData(string);
- aOutMapParam->InsertL(KStringData,string);
- }
- break;
- case CSysData::EAccessoryList:
- {
- CAccList* accessories = (CAccList*) aInSysData;
- CSysInfoAccList* accessorylist = CSysInfoAccList::NewL(accessories);
- CleanupClosePushL(*accessorylist);
- aOutMapParam->InsertL(KAccessoryList,accessorylist);
- CleanupStack::PopAndDestroy(accessorylist);
- }
- break;
- case CSysData::ELanguageList:
- {
- CLiwList* langlist = CLiwDefaultList::NewL();
- CleanupClosePushL(*langlist);
- const CLanguageList* languages = ((CLanguageList*) aInSysData);
- count= languages->Count();
- for(int index=0; index<count; index++ )
+ case CSysData::EStatus:
+ {
+ TInt32 status = ((CStatus*) aInSysData)->Status();
+ aOutMapParam->InsertL(KStatus,(TInt32)status);
+ }
+ break;
+ case CSysData::EVersion:
+ {
+ TBuf<KMaxVersionTxt> majortxt(KNullDesC);
+ TBuf<KMaxVersionTxt> minortxt(KNullDesC);
+ majortxt.FillZ(0);
+ minortxt.FillZ(0);
+ const CVersion* version = (CVersion*) aInSysData;
+ NumberConversion::AppendFormatNumber (majortxt,
+ version->MajorVersion(),EDigitTypeWestern);
+ aOutMapParam->InsertL(KMajorVersion,majortxt);
+ NumberConversion::AppendFormatNumber (minortxt,
+ version->MinorVersion(),EDigitTypeWestern);
+ aOutMapParam->InsertL(KMinorVersion,minortxt);
+ }
+ break;
+ case CSysData::EConnectionList:
+ {
+ CConnectionList* dataconnections = (CConnectionList*) aInSysData;
+ CSysInfoConnList* connlist = CSysInfoConnList::NewL(dataconnections);
+ CleanupClosePushL(*connlist);
+ aOutMapParam->InsertL(KConnectionList,connlist);
+ CleanupStack::PopAndDestroy(connlist);
+ }
+ break;
+ case CSysData::ENetworkInfo:
{
- TInt language = 0;
- languages->At(index,language);
- langlist->AppendL(TLiwVariant(((TInt32)language)));
+ const CNetworkInfo* networkinfo = (CNetworkInfo*) aInSysData;
+ aOutMapParam->InsertL(KNetworkName,networkinfo->NetworkName());
+ aOutMapParam->InsertL(KNetworkStatus,
+ (TInt32)networkinfo->NetworkStatus());
+ aOutMapParam->InsertL(KNetworkMode,(TInt32)networkinfo->NetworkMode());
+ aOutMapParam->InsertL(KCountryCode,networkinfo->CountryCode());
+ aOutMapParam->InsertL(KNetworkCode,networkinfo->NetworkCode());
+ aOutMapParam->InsertL(KLocationStatus,
+ networkinfo->ValidLocationAreaCode());
+ aOutMapParam->InsertL(KAreaCode,(TInt32)networkinfo->LocationAreaCode());
+ aOutMapParam->InsertL(KCellId,(TInt32)networkinfo->CellId());
}
- aOutMapParam->InsertL(KLanguageList,langlist);
- CleanupStack::PopAndDestroy(langlist);
- }
- break;
-
- case CSysData::EDriveList:
- {
- CLiwList* drivelist = CLiwDefaultList::NewL();
- CleanupClosePushL(*drivelist);
- const CDriveList* drives = ((CDriveList*) aInSysData);
- count = drives->Count();
- for(int index=0; index<count; index++ )
+ break;
+ case CSysData::EConnectionInfo:
{
- TInt driveVal = 0;
- drives->At(index,driveVal);
+ const CConnectionInfo* connectioninfo =
+ ((CConnectionInfo*) aInSysData);
+ aOutMapParam->InsertL(KIAPID,(TInt32)connectioninfo->IAPId());
+ aOutMapParam->InsertL(KIAPName,connectioninfo->IAPName());
+ aOutMapParam->InsertL(KIAPConnectionName,
+ connectioninfo->ConnectionName());
+ aOutMapParam->InsertL(KNetworkName,connectioninfo->NetworkName());
+ aOutMapParam->InsertL(KConnectionType,
+ (TInt32)connectioninfo->BearerType());
+ aOutMapParam->InsertL(KConnectionStatus,
+ (TInt32)connectioninfo->ConnectionState());
+ }
+ break;
+ case CSysData::EDriveInfo:
+ {
+ const CDriveInfo* driveinfo = (CDriveInfo*) aInSysData;
+
TBuf<KMaxDriveLength> drive;
drive.FillZ();
- drive.Append('A'+driveVal);
+ drive.Append('A'+driveinfo->DriveNumber());
drive.Append(KDriveSeperator);
- drivelist->AppendL(TLiwVariant(drive));
+
+ aOutMapParam->InsertL(KDriveNo,drive);
+ aOutMapParam->InsertL(KCriticalSpace,
+ (TInt32)driveinfo->CriticalSpace());
+ aOutMapParam->InsertL(KMediaType,(TInt32)driveinfo->MediaType());
+ //totalspace and freespace converted to string .
+ TBuf<KMax64BitNumLen> string64bitnum(KNullDesC);
+ string64bitnum.FillZ(0);
+ string64bitnum.Num(driveinfo->TotalSpace());
+ aOutMapParam->InsertL(KTotalSpace,string64bitnum);
+ string64bitnum.FillZ(0);
+ string64bitnum.Num(driveinfo->FreeSpace());
+ aOutMapParam->InsertL(KFreeSpace,string64bitnum);
+ TPtrC drvname;
+ driveinfo->DriveName(drvname);
+ aOutMapParam->InsertL(KDriveName,drvname);
+ aOutMapParam->InsertL(KBatteryState,(TInt32)driveinfo->BatteryState());
}
- aOutMapParam->InsertL(KDriveList,drivelist);
- CleanupStack::PopAndDestroy(drivelist);
- }
- break;
-
- case CSysData::EStringList:
- {
- CLiwList* stringlist = CLiwDefaultList::NewL();
- CleanupClosePushL(*stringlist);
- CStringList* strings = ((CStringList*) aInSysData);
- count = strings->Count();
- for(int index=0; index<count; index++ )
+ break;
+
+ case CSysData::EAccessoryInfo:
{
+ const CAccessoryInfo* accessoryinfo = ((CAccessoryInfo*) aInSysData);
+ aOutMapParam->InsertL(KAccessoryType,
+ (TInt32)accessoryinfo->AccessoryType());
+ aOutMapParam->InsertL(KAccessoryState,
+ (TInt32)accessoryinfo->ConnectionState());
+ }
+ break;
+ case CSysData::EResolution:
+ {
+ const CResolution* resolution = ((CResolution*) aInSysData);
+ aOutMapParam->InsertL(KXPixels,(TInt32)resolution->XPixels());
+ aOutMapParam->InsertL(KYPixels,(TInt32)resolution->YPixels());
+ }
+ break;
+ case CSysData::EStringData:
+ {
+ const CStringData* stringdata = ((CStringData*) aInSysData);
TPtrC string;
- strings->At(index,string);
- stringlist->AppendL(TLiwVariant(string));
+ stringdata->StringData(string);
+ aOutMapParam->InsertL(KStringData,string);
+ }
+ break;
+ case CSysData::EAccessoryList:
+ {
+ CAccList* accessories = (CAccList*) aInSysData;
+ CSysInfoAccList* accessorylist = CSysInfoAccList::NewL(accessories);
+ CleanupClosePushL(*accessorylist);
+ aOutMapParam->InsertL(KAccessoryList,accessorylist);
+ CleanupStack::PopAndDestroy(accessorylist);
}
- aOutMapParam->InsertL(KStringList,stringlist);
- CleanupStack::PopAndDestroy(stringlist);
- }
- break;
- case CSysData::ECameraInfo:
- {
- CLiwList* camResList = CLiwDefaultList::NewL();
- CleanupClosePushL( *camResList );
- CLiwList* camMimeTypesList = CLiwDefaultList::NewL();
- CleanupClosePushL( *camMimeTypesList );
- const CCameraInfo* camInfo = ((CCameraInfo*) aInSysData);
- count = camInfo->ResolutionList()->Count();
-
- for ( int index=0; index<count; index++ )
+ break;
+ case CSysData::ELanguageList:
+ {
+ CLiwList* langlist = CLiwDefaultList::NewL();
+ CleanupClosePushL(*langlist);
+ const CLanguageList* languages = ((CLanguageList*) aInSysData);
+ count= languages->Count();
+ for(int index=0; index<count; index++ )
+ {
+ TInt language = 0;
+ languages->At(index,language);
+ langlist->AppendL(TLiwVariant(((TInt32)language)));
+ }
+ aOutMapParam->InsertL(KLanguageList,langlist);
+ CleanupStack::PopAndDestroy(langlist);
+ }
+ break;
+
+ case CSysData::EDriveList:
{
- TInt val = 0;
- CLiwMap* resMap = CLiwDefaultMap::NewL();
- CleanupStack::PushL( resMap );
- camInfo->ResolutionList()->At( index, 0, val );
- resMap->InsertL( KXPixels, (TInt32)val );
- camInfo->ResolutionList()->At( index, 1, val );
- resMap->InsertL( KYPixels, (TInt32)val );
- camResList->AppendL( resMap );
- CleanupStack::Pop( resMap );
- resMap->Close();
- TPtrC string;
- camInfo->MimeTypesList()->At( index, string );
- camMimeTypesList->AppendL( string );
+ CLiwList* drivelist = CLiwDefaultList::NewL();
+ CleanupClosePushL(*drivelist);
+ const CDriveList* drives = ((CDriveList*) aInSysData);
+ count = drives->Count();
+ for(int index=0; index<count; index++ )
+ {
+ TInt driveVal = 0;
+ drives->At(index,driveVal);
+ TBuf<KMaxDriveLength> drive;
+ drive.FillZ();
+ drive.Append('A'+driveVal);
+ drive.Append(KDriveSeperator);
+ drivelist->AppendL(TLiwVariant(drive));
+ }
+ aOutMapParam->InsertL(KDriveList,drivelist);
+ CleanupStack::PopAndDestroy(drivelist);
+ }
+ break;
+
+ case CSysData::EStringList:
+ {
+ CLiwList* stringlist = CLiwDefaultList::NewL();
+ CleanupClosePushL(*stringlist);
+ CStringList* strings = ((CStringList*) aInSysData);
+ count = strings->Count();
+ for(int index=0; index<count; index++ )
+ {
+ TPtrC string;
+ strings->At(index,string);
+ stringlist->AppendL(TLiwVariant(string));
+ }
+ aOutMapParam->InsertL(KStringList,stringlist);
+ CleanupStack::PopAndDestroy(stringlist);
}
- aOutMapParam->InsertL( KCamResList, camResList );
- aOutMapParam->InsertL( KCamMimeTypesList, camMimeTypesList );
- CleanupStack::PopAndDestroy( camMimeTypesList );
- CleanupStack::PopAndDestroy( camResList );
+ break;
+ case CSysData::ECameraInfo:
+ {
+ CLiwList* camResList = CLiwDefaultList::NewL();
+ CleanupClosePushL( *camResList );
+ CLiwList* camMimeTypesList = CLiwDefaultList::NewL();
+ CleanupClosePushL( *camMimeTypesList );
+ const CCameraInfo* camInfo = ((CCameraInfo*) aInSysData);
+ count = camInfo->ResolutionList()->Count();
+
+ for ( int index=0; index<count; index++ )
+ {
+ TInt val = 0;
+ CLiwMap* resMap = CLiwDefaultMap::NewL();
+ CleanupStack::PushL( resMap );
+ camInfo->ResolutionList()->At( index, 0, val );
+ resMap->InsertL( KXPixels, (TInt32)val );
+ camInfo->ResolutionList()->At( index, 1, val );
+ resMap->InsertL( KYPixels, (TInt32)val );
+ camResList->AppendL( resMap );
+ CleanupStack::Pop( resMap );
+ resMap->Close();
+ TPtrC string;
+ camInfo->MimeTypesList()->At( index, string );
+ camMimeTypesList->AppendL( string );
+ }
+ aOutMapParam->InsertL( KCamResList, camResList );
+ aOutMapParam->InsertL( KCamMimeTypesList, camMimeTypesList );
+ CleanupStack::PopAndDestroy( camMimeTypesList );
+ CleanupStack::PopAndDestroy( camResList );
+ }
+ break;
+ case CSysData::EVideoDecList:
+ {
+ CLiwList* decResList = CLiwDefaultList::NewL();
+ CleanupClosePushL( *decResList );
+ const CVideoDecDataList* declist = ((CVideoDecDataList*) aInSysData);
+ count = declist->Count();
+ CVideoDecDataList::CVideoDecData * decinfo = NULL;
+
+ for ( int index=0; index<count; index++ )
+ {
+ TInt val = 0;
+ CLiwMap* resMap = CLiwDefaultMap::NewL();
+ CleanupStack::PushL( resMap );
+ decinfo=(*declist)[index];
+ TPtrC temp;
+ temp.Set(*(decinfo->Manufacturer));
+ TPtrC temp1;
+ temp1.Set(*(decinfo->Identifier));
+
+ resMap->InsertL( KDecManufacturer, temp );
+ resMap->InsertL( KIdentifier, temp1 );
+ resMap->InsertL( KMaxBitrate, (TInt32)decinfo->MaxBitrate );
+ resMap->InsertL( KAccelerated, (TBool)decinfo->Accelerated );
+ resMap->InsertL( KVersion, decinfo->Version );
+
+ decResList->AppendL( resMap );
+ CleanupStack::Pop( resMap );
+ resMap->Close();
+ }
+ aOutMapParam->InsertL( KCapability, decResList );
+ CleanupStack::PopAndDestroy( decResList );
+ //aOutMapParam->InsertL( KCapability, 1 );
+ }
+ break;
+ default:
+ User::Leave(KErrArgument);
}
- break;
- case CSysData::EVideoDecList:
- {
- CLiwList* decResList = CLiwDefaultList::NewL();
- CleanupClosePushL( *decResList );
- const CVideoDecDataList* declist = ((CVideoDecDataList*) aInSysData);
- count = declist->Count();
- CVideoDecDataList::CVideoDecData * decinfo = NULL;
-
- for ( int index=0; index<count; index++ )
- {
- TInt val = 0;
- CLiwMap* resMap = CLiwDefaultMap::NewL();
- CleanupStack::PushL( resMap );
- decinfo=(*declist)[index];
- TPtrC temp;
- temp.Set(*(decinfo->Manufacturer));
- TPtrC temp1;
- temp1.Set(*(decinfo->Identifier));
-
- resMap->InsertL( KDecManufacturer, temp );
- resMap->InsertL( KIdentifier, temp1 );
- resMap->InsertL( KMaxBitrate, (TInt32)decinfo->MaxBitrate );
- resMap->InsertL( KAccelerated, (TBool)decinfo->Accelerated );
- resMap->InsertL( KVersion, decinfo->Version );
-
- decResList->AppendL( resMap );
- CleanupStack::Pop( resMap );
- resMap->Close();
- }
- aOutMapParam->InsertL( KCapability, decResList );
- CleanupStack::PopAndDestroy( decResList );
- //aOutMapParam->InsertL( KCapability, 1 );
- }
- break;
- default:
- User::Leave(KErrArgument);
}
CleanupStack::Pop(aOutMapParam);
}
--- a/serviceproviders/sapi_sysinfo/src/sysinfoobserver.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_sysinfo/src/sysinfoobserver.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -96,10 +96,12 @@
eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr)));
CLiwMap* outparam=NULL;
- if( (aOutput->DataType() == CSysData::EAccessoryList) ||
- (aOutput->DataType() == CSysData::EConnectionList) )
- ownership = ETrue;
-
+ if(aOutput)
+ {
+ if( (aOutput->DataType() == CSysData::EAccessoryList) ||
+ (aOutput->DataType() == CSysData::EConnectionList) )
+ ownership = ETrue;
+ }
CSysInfoInterface::ConvertSysData2AiwParamL(aOutput,outparam);
//Add Entity and Key to the output map.
if(outparam)
--- a/serviceproviders/sapi_sysinfo/sysinfoservice/src/activestore.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_sysinfo/sysinfoservice/src/activestore.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -106,6 +106,12 @@
else if( (!Key.CompareF(SysInfo::KConnectionStatus)) && (aSysRequest.RequestType() == TSysRequest::ENotification) )
aActiveObj = CConnection::NewL(aSysRequest);
+ else if( (!Key.CompareF(SysInfo::KConnectionStatus)) && (aSysRequest.RequestType() == TSysRequest::EASyncONESHOT) ){
+ TSysRequest systemRequest(aSysRequest.Entity(),SysInfo::KActiveConnections,aSysRequest.SystemData(),aSysRequest.TransactionID(),aSysRequest.Observer(),
+ TSysRequest::EASyncONESHOT);
+ aActiveObj = CConnection::NewL(systemRequest);
+ }
+
else
User::Leave(KErrNotFound);
}
--- a/serviceproviders/sapi_sysinfo/sysinfoservice/src/sysconnectionrequest.cpp Wed Sep 01 12:28:47 2010 +0100
+++ b/serviceproviders/sapi_sysinfo/sysinfoservice/src/sysconnectionrequest.cpp Tue Sep 14 22:59:08 2010 +0300
@@ -164,14 +164,23 @@
TInt32 transId = this->TransactionID();
iReadConnectionInfo = NULL;
- if(TSysRequest::ENotification == RequestType())
+ if(TSysRequest::ENotification == RequestType() )
{
- iConnectionInfoArray.AppendL(aInfo);
- if( !iConnectionInit )
+ if(!error)
{
- CConnectionInfo* conninfo = aInfo->CopyL();
+ iConnectionInfoArray.AppendL(aInfo);
+ if( !iConnectionInit )
+ {
+ CConnectionInfo* conninfo = aInfo->CopyL();
+ TRAP_IGNORE(SystemObserver()->HandleResponseL(*iEntity, *iKey,
+ conninfo, transId, RequestType(), error));
+ }
+ }
+ else
+ {
TRAP_IGNORE(SystemObserver()->HandleResponseL(*iEntity, *iKey,
- conninfo, transId, RequestType(), error));
+ NULL, transId, RequestType(), error));
+
}
}
else
@@ -238,6 +247,7 @@
{
TUint connectionId =0;
CReadConnectionInfo* rdConnectionInfo = NULL;
+
switch( aEvent.EventType() )
{
case EConnMonCreateConnection:
@@ -355,7 +365,7 @@
TInt error(iStatus.Int());
if(error >= KErrNone)
- {
+ {
switch(iState)
{
case EInitial: