usbservices_plat/usb_personality_plugin_api/inc/cusbpersonality.h
changeset 35 9d8b04ca6939
parent 0 1e05558e2206
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbservices_plat/usb_personality_plugin_api/inc/cusbpersonality.h	Fri Jun 04 10:27:39 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2002-2007 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:  Basic class for personalitites
+*
+*/
+
+
+#ifndef CUSBPERSONALITY_H
+#define CUSBPERSONALITY_H
+
+#include <bldvariant.hrh>
+#include <e32base.h>
+#include <usbman.h>
+#include <usbuinotif.h>
+#include <cusbpersonalitynotifier.h>
+
+class RUsb;
+class TUsbPersonalityParams;
+
+/**
+*  Abstract interface to personality handler objects.
+*
+*  @lib -
+*  @since Series 60 3.0
+*/
+class CUsbPersonality : public CActive
+    {
+    public: // New functions
+    
+        /**
+        * Destructor.
+        */
+        
+        virtual ~CUsbPersonality();
+
+        /**
+        * DEPRICATED
+        */
+        IMPORT_C virtual void ShowUsbConnectionNote();
+        
+        virtual void ConfirmPersonalityUnload(TRequestStatus& aStatus) = 0;
+                
+        /**
+        * Called by personality handler when personality start needs to be
+        * prepared
+        * @since Series 60 3.0
+        */
+        virtual void PreparePersonalityStart(TRequestStatus& aStatus) = 0;
+        
+        /**
+        * Called by personality handler when personality start needs to be 
+        * finished
+        * @since Series 60 3.0
+        */
+        virtual void FinishPersonalityStart(TRequestStatus& aStatus) = 0; 
+
+        /**
+        * Called by personality handler when personality stop needs to be 
+        * prepared
+        * @since Series 60 3.0
+        */
+        virtual void PreparePersonalityStop(TRequestStatus& aStatus) = 0; 
+                
+        /**
+        * Called by personality handler when personality stop needs to be 
+        * finished
+        * @since Series 60 3.0
+        */
+        virtual void FinishPersonalityStop(TRequestStatus& aStatus) = 0; 
+                
+        /**
+        * State change notify
+        * @since Series 60 3.0
+        * @param aState state of the device
+        */
+        virtual void StateChangeNotify( TUsbDeviceState aState ) = 0;
+
+protected:
+        
+        /**
+        * Constructor
+        * @since S60 3.2
+        * @param aPersonalityParams Used to deliver information for personality
+        */
+        IMPORT_C CUsbPersonality(TUsbPersonalityParams& aPersonalityParams);
+        
+
+        /**
+         * This class contains information what might be needed by the personality
+         */
+        TUsbPersonalityParams& iPersonalityParams;
+
+        /**
+         * Member variable used by connection notifier
+         */
+        TUSBConnectionNotifierParamsPckg iPckg;
+        
+        /**
+         * Member variable used by connection notifier
+         */
+        TBuf8<1> iNoResult;
+    };
+
+#endif   // CUSBPERSONALITY_H
+
+// End of File