imservices/instantmessagingcache/imcacheclient/inc/imcacheprocessstarter.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:49 +0200
changeset 0 e6b17d312c8b
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "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:  start the server
*
*/



#ifndef __IMCACHEPROCESSSTARTER_H__
#define __IMCACHEPROCESSSTARTER_H__

#include <e32std.h>

/**
 * Generic process starter.
 */
class IMCacheProcessStarter
    {
    public:     // New methods

		/**
    	* read full path for client 
    	* @param aExeName the , name of server exe
    	* @param aFullExePath path of server exe
    	*/
        static void FullExePathForClientLocation(
                        const TDesC& aExeName,
                        TFileName& aFullExePath );

		/**
    	* StartInstance the instance of server
    	* @param aFullExePath path of server exe
    	* @param aCommand the , to excute 
    	* @param aParams, starter parameter
    	*/
        static TInt StartInstance(
                        const TDesC& aFullExePath,
                        const TDesC& aCommand
                        );
		
		/**
    	* connect to the server
    	* @param aFullExePath path of server exe
    	* @param aCommand the , to excute 
       	* @param aSessionToConnect, sesion to be used
		* @param aServerName, server  name 
		* @param aClientVersion, client version
		* @param aAsyncMessageSlots, slots number
		*/
        static TInt ConnectToServer(
                        const TDesC& aFullExePath,
                        const TDesC& aCommand,
                        RSessionBase& aSessionToConnect,
                        const TDesC& aServerName,
                        const TVersion& aClientVersion,
                        TInt aAsyncMessageSlots );



    private:    // Helpers
    
    	/**
    	* DoStartInstance
        * @param aFullExePath path of server exe
        * @param aCommand the , to excute 
    	* @param aParams, starter parameter
    	*/
        static TInt DoStartInstance(
                        const TDesC& aFullExePath,
                        const TDesC& aCommand );
                        
        

    };

#endif      //  __IMCACHEPROCESSSTARTER_H__


//END OF FILE