--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h Thu Dec 17 08:47:43 2009 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: EAP and WLAN authentication protocols.
+*
+*/
+
+
+#ifndef __EAPPLUGININTERFACE_H__
+#define __EAPPLUGININTERFACE_H__
+
+// INCLUDES
+#include <ecom/ecom.h>
+#include "eap_vpn_if_uids.h"
+
+class MAbsEapVpnInterface;
+
+class TAbsEapVpnInterfaceParams
+{
+ public:
+ MAbsEapVpnInterface* iCaller;
+ TBool iClient;
+};
+
+// FORWARD DECLARATIONS
+
+/**
+ * Class: CEapVpnInterface
+ *
+ * Description: Custom ECOM interface definition. This interface is used by
+ * clients to load eap_vpn_if instance and use the defined generic functions
+ */
+class CEapVpnInterface :
+ public CActive
+{
+public: // Constructors and destructor
+ /**
+ * Function: NewL
+ *
+ * Description: Wraps ECom object instantitation. Will return the
+ * default interface implementation.
+ *
+ * Note: This is not a "normal" NewL method, since normally NewL
+ * methods are only defined for concrete classes.
+ * Note that also implementations of this interface
+ * provide NewL methods. They are the familiar NewL's,
+ * which create instance of classes.
+ */
+ static CEapVpnInterface* NewL(MAbsEapVpnInterface* aCaller, TBool aClient);
+
+ /**
+ * Function: NewL
+ *
+ * Description: Wraps ECom object instantitation. Will search for
+ * interface implementation, which matches to given
+ * aOperationName.
+ *
+ * @param aType name of requested implementation. (This is not the eap type!)
+ * Implementations advertise their "name" as specified
+ * in their resource file field
+ * IMPLEMENTATION_INFO::default_data.
+ *
+ * Note: This is not a "normal" NewL method, since normally NewL
+ * methods are only defined for concrete classes.
+ * Note that also implementations of this interface provide
+ * NewL methods. They are the familiar NewL's, which create
+ * instance of classes.
+ */
+ static CEapVpnInterface* NewL(const TDesC8& aType, MAbsEapVpnInterface* aCaller, TBool aClient);
+
+ /**
+ * Function: ~CEapVpnInterfaceImplementation
+ *
+ * Description: Destroy the object
+ */
+ inline virtual ~CEapVpnInterface();
+
+protected:
+
+ CEapVpnInterface();
+
+public:
+
+ /**
+ * Function: StartL
+ *
+ * Description: Initializes the eap plugin
+ *
+ * @param aType name of requested eap type implementation.
+ *
+ */
+ virtual TInt StartL(const TUint8 aEapType) = 0;
+
+ /**
+ * Function: EapConfigure
+ *
+ * Description: Configures the eap plugin
+ *
+ * @param aManualUsername The username, if not zero
+ * @param aManualRealm The realm, if not zero
+ * @param aManualRealmPrefix The realm prefix, if not zero
+ * @param aHideInitialIdentity Scramble username, if true
+ *
+ */
+ virtual TInt EapConfigure(TDesC8& aManualUsername, TDesC8& aManualRealm, TDesC8& aRealmPrefix, TBool aHideInitialIdentity) = 0;
+
+ /**
+ * Function: QueryIdentity
+ *
+ * Description: Ask the identity
+ */
+ virtual TInt QueryIdentity() = 0;
+
+ /**
+ * Function: EapInbound
+ *
+ * Description: Handle incoming Eap message
+ *
+ * @param aMessage incoming eap message.
+ *
+ */
+ virtual TInt EapInbound(const TDesC8& aMessage) = 0;
+
+ virtual void RunL()=0;
+ virtual void DoCancel() = 0;
+
+private:
+ /** iDtor_ID_Key Instance identifier key. When instance of an
+ * implementation is created by ECOM framework, the
+ * framework will assign UID for it. The UID is used in
+ * destructor to notify framework that this instance is
+ * being destroyed and resources can be released.
+ */
+ TUid iDtor_ID_Key;
+ };
+
+// This includes the implementation of the instantiation functions and
+// destructor
+#include "eap_vpn_if.inl"
+
+#endif