examples/Base/IPC/AdvancedClientServerExample/ProcessServer/src/processserverstart.cpp

00001 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
00002 // All rights reserved.
00003 // This component and the accompanying materials are made available
00004 // under the terms of "Eclipse Public License v1.0"
00005 // which accompanies this distribution, and is available
00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
00007 //
00008 // Initial Contributors:
00009 // Nokia Corporation - initial contribution.
00010 //
00011 // Contributors:
00012 //
00013 // Description:
00014 //
00015 
00016 #include <e32std.h>
00017 #include "processserverstart.h"
00018 #include "processserver.h"
00019 
00023 LOCAL_C void MainL()
00024         {
00025         //
00026         // create and install the active scheduler we need
00027         CActiveScheduler* s=new(ELeave) CActiveScheduler;
00028         CleanupStack::PushL(s);
00029         CActiveScheduler::Install(s);
00030         //
00031         // create the server (leave it on the cleanup stack)
00032         CProcessServer::NewLC();
00033         //
00034         // Initialisation complete, now signal the client
00035         RProcess::Rendezvous(KErrNone);
00036         //
00037         // Ready to run
00038         CActiveScheduler::Start();
00039         //
00040         // Cleanup the server and scheduler
00041         CleanupStack::PopAndDestroy(2);
00042         }
00046 GLDEF_C TInt E32Main()
00047         {
00048         __UHEAP_MARK;
00049         //
00050         CTrapCleanup* cleanup=CTrapCleanup::New();
00051         TInt r=KErrNoMemory;
00052         if (cleanup)
00053                 {
00054                 TRAP(r,MainL());
00055                 delete cleanup;
00056                 }
00057         //
00058         __UHEAP_MARKEND;
00059         return r;
00060     }
00061 
00062 

Generated by  doxygen 1.6.2