Example #1
0
void CSdlAppUi::StartTestL(TInt aCmd)
{

	//TInt flags = CSDL::EDrawModeGdi | CSDL::EEnableFocusStop
	//		| CSDL::EMainThread;// | CSDL::EAutoOrientation;

	TInt flags = 0;

	//flags |= CSDL::EDrawModeDSB | CSDL::EDrawModeDSBDoubleBuffer;
	flags |= CSDL::EDrawModeGdi;
	// Don't draw when in background.
	//flags |= CSDL::EEnableFocusStop;
	flags |= CSDL::EAutoOrientation;
	// This should be on by default anyway
	flags |= CSDL::EMainThread;

	//Create CommandLine Arguments and read it.
	CDesC8ArrayFlat *arr = new (ELeave) CDesC8ArrayFlat(1);
	CleanupStack::PushL(arr);

	CCommandLineArguments* args = CCommandLineArguments::NewLC();
	// The real args we are interested in start at the 2nd arg
	for (TInt i = 1; i < args->Count(); i++)
	{
		TBuf8<256> arg;
		arg.Copy(args->Arg(i));

		arr->AppendL(arg);
		//TPtrC argumentPrt(args->Arg(i));
		//console->Printf(_L("Arg %d == %S\n"), i, &argumentPrt);
	}

	iSdl = CSDL::NewL(flags);

	iSdl->SetContainerWindowL(iSDLWin->GetWindow(), iEikonEnv->WsSession(),
			*iEikonEnv->ScreenDevice());
	iSdl->CallMainL(iWait->iStatus, *arr, flags, 0x14000);
	iWait->Start();

	arr->Reset();
	CleanupStack::PopAndDestroy(2); // command line and arr
}
Example #2
0
TCertStatus PkiUtil::GetValidCaCertSubjectNameListL(RPKIServiceAPI& aPkiService,
        const CArrayFixFlat<TCertInfo*>& aIkeCAList,
        CDesC8ArrayFlat& aCaCertNameList)
{

    TCertStatus status = ECertValid;
    RPointerArray<CX509Certificate> certificateList;
    TRAPD(err, certificateList = PkiUtil::GetCaCertListL(aPkiService, aIkeCAList));

    switch(err)
    {
    case KErrNone:
        for (TInt i = 0; i < certificateList.Count(); ++i)
        {
            const CX509Certificate* cert = certificateList[i];
            status = CertStatusL(*cert, -1);

            if (status == ECertValid)
            {
                const CX500DistinguishedName& subjectName = cert->SubjectName();
                HBufC* subjectNameString = PkiUtil::CertDnL(subjectName);
                CleanupStack::PushL(subjectNameString);

                // Reserve enough space for UTF-8
                TInt len = 3*( subjectNameString->Length() );
                HBufC8* subjectNameString8Bit = HBufC8::NewLC(len);
                TPtr8 subjectNameString8BitPtr = subjectNameString8Bit->Des();
                if (CnvUtfConverter::ConvertFromUnicodeToUtf8(subjectNameString8BitPtr,
                        *subjectNameString) != 0)
                {
                    User::Leave(KErrCorrupt);
                }
                TRAPD(err, aCaCertNameList.InsertIsqL(*subjectNameString8Bit));

                CleanupStack::PopAndDestroy(subjectNameString8Bit);
                CleanupStack::PopAndDestroy(subjectNameString);

                err = (err == KErrAlreadyExists) ? KErrNone : err;
                User::LeaveIfError(err);
            }
            else
            {
                aCaCertNameList.Reset();
                break;
            }
        }
        break;
    case KErrNotFound: // Flow through
    case KErrArgument: // CA cert is not found if policys CA DATA is invalid
        status = ECertNotFound;
        break;
    default:
        certificateList.ResetAndDestroy();
        certificateList.Close();
        User::Leave(err);
    }

    certificateList.ResetAndDestroy();
    certificateList.Close();

    return status;
}