presencefwsimpleadpt/inc/simpleplugin.h
branchRCL_3
changeset 35 fbd2e7cec7ef
parent 0 c8caa15ef882
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/presencefwsimpleadpt/inc/simpleplugin.h	Wed Sep 01 12:23:14 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2006 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:    Simple Protocol implementation for Presence Framework
+*
+*/
+
+
+
+
+#ifndef CSIMPLEPLUGIN_H
+#define CSIMPLEPLUGIN_H
+
+#include <e32std.h>
+
+#include <ximpbase.h>
+#include <ximpprotocolpluginbase.h>
+
+class MXIMPProtocolConnection;
+class MXIMPServiceInfo;
+class MXIMPClientContextInfo;
+class CSimplePluginConnection;
+
+
+/**
+ * CSimplePlugin
+ *
+ * Implementation of CPrFwProtocolPluginBase
+ *
+ * @lib ?library
+ * @since s60 v5.0
+ */
+class CSimplePlugin: public CXIMPProtocolPluginBase
+    {
+public:
+
+    static CSimplePlugin* NewL();
+    static CSimplePlugin* NewLC();
+
+    virtual ~CSimplePlugin();
+
+private:
+
+    CSimplePlugin();
+    void ConstructL();
+
+
+public:
+
+// from base class MXIMPProtocolPlugin
+
+    /**
+     * Defined in a base class
+     */
+    void PrimeHost( MXIMPProtocolPluginHost& aHost );
+
+    /**
+     * Defined in a base class
+     */
+    MXIMPProtocolConnection& AcquireConnectionL(
+        const MXIMPServiceInfo& aService,
+        const MXIMPContextClientInfo& aContextClient );
+
+    /**
+     * Defined in a base class
+     */
+    void ReleaseConnection(
+        MXIMPProtocolConnection& aConnection );
+
+// from base class MXIMPBase
+
+    /**
+     * Defined in a base class
+     */
+    TAny* GetInterface(
+        TInt32 aInterfaceId,
+        TIfGetOps aOps );
+
+    /**
+     * Defined in a base class
+     */
+    const TAny* GetInterface(
+        TInt32 aInterfaceId,
+        TIfGetOps aOps ) const;
+
+    /**
+     * Defined in a base class
+     */
+    TInt32 GetInterfaceId() const;
+
+
+private: // Data
+
+    /*
+     * Prime host
+     * Not own.
+     */
+    MXIMPProtocolPluginHost* iHost;
+
+    /**
+     * Simple plugin connections
+     */
+    RPointerArray< CSimplePluginConnection > iConnections;
+
+    };
+
+#endif // CSIMPLEPLUGIN_H