--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contentmgmt/referencedrmagent/tsmoke/smoke.cpp Mon Oct 12 10:17:04 2009 +0300
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <ecom/ecom.h>
+#include <caf/content.h>
+#include <caf/data.h>
+
+#include "smoke.h"
+#include <ecom/implementationinformation.h>
+
+using namespace ContentAccess;
+
+CTestConsole* CTestConsole::NewL(CConsoleBase* aCon)
+{
+ CTestConsole* self;
+ self=new (ELeave) CTestConsole;
+ self->iCon=aCon;
+ self->iFile=NULL;
+ return self;
+}
+
+CTestConsole::CTestConsole(void):CConsoleBase()
+{}
+
+CTestConsole::~CTestConsole(void)
+{
+ delete iCon;
+ if (iFile)
+ {
+ iFile->Close();
+ }
+}
+
+void CTestConsole::Write(const TDesC16& aString)
+{
+ iCon->Write(aString);
+ if (iFile)
+ {
+ TUint8 space[200];
+ TPtr8 ptr(space,200);
+ ptr.Copy(aString);
+ iFile->Write(ptr);
+ }
+}
+
+void CTestConsole::SetLogFile(RFile* aFile)
+{
+ iFile=aFile;
+}
+
+RTest test(_L("CAF Build Test"));
+
+void RunTest1(void)
+{
+ test.Start(_L(" @SYMTestCaseID:SEC-CAF-SMOKE-0001 CAF Test "));
+
+ CTestConsole* con=NULL;
+ TRAPD(ret, con=CTestConsole::NewL(test.Console()));
+ RFs fs;
+
+ fs.Connect();
+ RFile* file;
+ file=new (ELeave) RFile;
+
+ file->Replace(fs,_L("c:\\DRMLog.txt"),EFileShareAny|EFileWrite);
+ con->SetLogFile(file);
+ test.SetConsole(con);
+
+ const TUid KInterfaceUID = {0x101FC2CE};
+
+ RImplInfoPtrArray aImplInfoArray;
+
+ // do here
+ test.Printf(_L("\nCAF Test Starting\n"));
+ test.Getch();
+
+ test.Printf(_L("Ready to get implementations of %08X\n"),KInterfaceUID);
+ //test.Getch();
+
+ __UHEAP_MARK; // start heap debug
+
+ REComSession::ListImplementationsL(KInterfaceUID , aImplInfoArray);
+
+ TUint count = aImplInfoArray.Count();
+ CImplementationInformation *infoptr = aImplInfoArray[0];
+
+ TBufC<30> temp = infoptr->DisplayName();
+ test.Printf(_L("Found %d agent implementation(s).\n"),count);
+ test.Printf(_L("Name: %S\n"),&temp);
+ test.Getch();
+
+ // Need to delete implementation array
+ aImplInfoArray.ResetAndDestroy();
+
+ /*
+ TUid key;
+ TAgentCreationParams params;
+ params.iURIPtr = &temp;
+ params.iIntentPtr = &temp;
+
+ // Note that we have no idea about the real type of CAgent...
+ CAgent *agent =
+ reinterpret_cast<CAgent *>(REComSession::CreateImplementationL(KF32ImplementationUID,
+ key,
+ (TAny*)¶ms));
+ TUint major=0, minor=0;
+ agent->Version(major, minor);
+ test.Printf(_L("\nVersion (key %d) returned %d:%d\n"),key,major,minor);
+ delete agent;
+ REComSession::DestroyedImplementation(key);
+ */
+
+ _LIT(KDummyContent,"c:\\dummy.txt");
+ test.Printf(_L("Hit enter to create content object (accessing %S)...\n"),&KDummyContent);
+ test.Getch();
+
+ CContent *myContent = 0; ret = 0;
+
+ TRAP(ret, myContent = CContent::NewL(KDummyContent));
+ if (ret)
+ {
+ test.Printf(_L("Content create failed (%d)..."),ret);
+ test.Getch();
+ }
+
+ test.Printf(_L("Hit enter to create data object..."),ret);
+ test.Getch();
+
+ CData *myData = NULL;
+
+ TRAP(ret, myData = myContent->OpenContentL(EPeek));
+
+ if (ret)
+ {
+ test.Printf(_L("Data create failed (%d)..."),ret);
+ test.Getch();
+ }
+
+ TInt mySize;
+ myData->DataSizeL(mySize);
+ test.Printf(_L("\nAgent reports data size as %d bytes\n"),mySize);
+ test.Getch();
+
+ test.Printf(_L("\nTest Ending\n"));
+ test.Getch();
+ __UHEAP_MARKEND; // end heap debug
+
+ test.End();
+ test.Close();
+}
+
+
+GLDEF_C TInt E32Main(void)
+{
+ CTrapCleanup* cleanup;
+ cleanup = CTrapCleanup::New();
+ // CActiveScheduler* s = new CActiveScheduler;
+ // s->Install(s);
+
+ TRAP_IGNORE(RunTest1());
+
+
+ delete cleanup;
+ return(KErrNone);
+}