PECengine/PluginServer2/ClntInc/RPEngPluginClient.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/PluginServer2/ClntInc/RPEngPluginClient.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2004 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:  See class description below.
+*
+*/
+
+
+#ifndef __RPENGPLUGINCLIENT_H__
+#define __RPENGPLUGINCLIENT_H__
+
+//  INCLUDES
+#include <e32std.h>
+
+//  CONSTANTS
+
+/**
+*  Main class of plugin server client side.
+*
+*  Features:
+*
+*   - Load individual or all plugins
+*       - Also load all plugins with exception list
+*   - Unload individual or all plugins
+*   - Observer plugin status
+*   - Shutdown or restart plugin server
+*   - Inform plugins about state changes
+*   - Verify if plugins are running
+*   - Get list of running plugins
+*   - Send messages to plugins
+*
+*  @lib PEngPlgSrv2.lib
+*  @since 3.0
+*/
+class RPEngPluginClient : public RSessionBase
+    {
+
+    public:     // Constructors and destructors
+
+        IMPORT_C RPEngPluginClient();
+        IMPORT_C ~RPEngPluginClient();
+
+    public: //Server management methods
+
+        /**
+        * Connects to plugin server. If the server is not running, it is started.
+        *
+        * @since 3.0
+        * @param aOOMRate is deterministic OOM failure rate. Works only in debug builds. For testing only!
+        * @return TInt is error code which indicates if connecting was successfull.
+        */
+        IMPORT_C TInt Connect( TInt aOOMRate = 0 );
+        TInt ConnectWithoutStarting();
+
+        /**
+        * Close connection to plugin server. Doesn't shutdown server session.
+        *
+        * @since 3.0
+        */
+        IMPORT_C void Close();
+
+        /**
+        * Informs plugin server about network state changes
+        *
+        * @param aOnlineStatus is ETrue if network session was opened
+        * @return TInt KErrNone if everything went ok
+        * @since 3.0
+        */
+        TInt SetOnlineState( TBool aOnlineStatus );
+
+        /**
+        * Shutdown plugin server process
+        *
+        * Close called automatically.
+        *
+        * @since 3.0
+        */
+        TInt ShutdownServer();
+
+    public: //Plugin handling methods
+
+        /**
+        * Count of plugins running at the moment.
+        *
+        * @since 3.0
+        * @return TUint is count of plugins.
+        */
+        IMPORT_C TUint PluginCountL();
+
+        /**
+        * Gets the plugin's uid by the index
+        *
+        * @since 3.0
+        * @param aIndex The index of the plugin in server's
+        *               held plugins
+        * @return
+        */
+        IMPORT_C TInt PluginUidL( TInt aIndex );
+
+
+    };
+
+#endif      //  __RPENGPLUGINCLIENT_H__
\ No newline at end of file