wvuing/wvuiada/Inc/MCAImpsFactory.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiada/Inc/MCAImpsFactory.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2002 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:  Abstract interface of IMPS factory.
+ *
+*/
+
+
+
+#ifndef MCAIMPSFACTORY_H
+#define MCAIMPSFACTORY_H
+
+// FORWARD DECLARATIONS
+class MCAImpsImClient;
+class MCAImpsGroupClient;
+class MCAImpsFundClient;
+class MCAImpsAccessClient;
+class TImpsCspIdentifier;
+
+// CLASS DECLARATION
+
+/**
+ *  Abstract factory interface.
+ *  Use this to create client interfaces.
+ *  Factory implementation owns interface classes. Factory is deleted when DLL
+ *  is unloaded. Factory implementation deletes interface classes in destructor.
+ *
+ *  @lib CAAdapter.lib
+ *  @since 1.2
+ */
+class MCAImpsFactory
+    {
+    public: // New functions
+
+        /**
+         * Creates access client when requested.
+         * @return MCAImpsAccessClient abstract access client class. Ownership NOT transferred.
+         */
+        virtual MCAImpsAccessClient* CreateAccessClientL() = 0;
+
+        /**
+         * Creates IM client when requested.
+         * @return MCAImpsImClient abstract IM client class. Ownership NOT transferred.
+         */
+        virtual MCAImpsImClient* CreateImClientL() = 0;
+
+        /**
+         * Creates group client when requested.
+         * @return MCAImpsGroupClient abstract group client class. Ownership NOT transferred.
+         */
+        virtual MCAImpsGroupClient* CreateGroupClientL() = 0;
+
+        /**
+         * Creates fundamental client when requested.
+         * @return MCAImpsFundClient abstract fundamental client class. Ownership NOT transferred.
+         */
+        virtual MCAImpsFundClient* CreateFundClientL() = 0;
+
+        /**
+         * Registers all interfaces from WV Engine when requested.
+         */
+        virtual void RegisterL() = 0;
+
+        /**
+         * Unregisters all interfaces from WV Engine when requested.
+         */
+        virtual void Unregister() = 0;
+
+        /**
+         * Connects to IMPS engine (server)
+         * @since 2.1
+         */
+        virtual void ConnectL() = 0;
+
+    protected:  // New functions
+
+        /**
+         * Destructor.
+         */
+        virtual ~MCAImpsFactory() { };
+
+    };
+
+#endif      // MCAIMPSFACTORY_H
+
+// End of File