devencdiskutils/Pk5Recognizer/src/Pk5Recognizer.cpp
changeset 0 164170e6151a
child 9 6e226572c5f0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devencdiskutils/Pk5Recognizer/src/Pk5Recognizer.cpp	Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2008 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:  Implementation of application entry point functions.
+*
+*/
+
+
+// INCLUDE FILES
+#include <apmrec.h>
+#include <apmstd.h>
+#include <e32svr.h>
+#include <ImplementationProxy.h>
+
+#include "Pk5Recognizer.h"
+#include <barsread.h>
+#include <EikEnv.h>
+#include <f32file.h>
+
+// CONSTANTS
+const TUid KUidPk5Recognizer={0x2000FD89};
+_LIT8(KPk5MimeType, "application/vnd.nokia.pk5");
+const TInt KMaxBufferSize(512);
+_LIT(KPk5Extension, ".pk5");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CPk5Recognizer::CPk5Recognizer()
+// ---------------------------------------------------------
+//
+CPk5Recognizer::CPk5Recognizer()
+    :CApaDataRecognizerType(
+    	KUidPk5Recognizer,
+        CApaDataRecognizerType::ENormal )
+    {
+    iCountDataTypes = 1;
+    }
+
+// ---------------------------------------------------------
+// CPk5Recognizer::~CPk5Recognizer()
+// ---------------------------------------------------------
+//
+CPk5Recognizer::~CPk5Recognizer()
+    {
+    
+    }
+
+// ---------------------------------------------------------
+// CPk5Recognizer::NewL()
+// ---------------------------------------------------------
+//
+CPk5Recognizer* CPk5Recognizer::NewL()
+    {
+    CPk5Recognizer* self = new(ELeave) CPk5Recognizer();
+	CleanupStack::PushL( self  );
+	self->ConstructL();
+	CleanupStack::Pop();
+	return self;
+    }
+
+// ---------------------------------------------------------
+// CPk5Recognizer::ConstructL()
+// ---------------------------------------------------------
+//
+void CPk5Recognizer::ConstructL()
+	{
+	
+	}
+
+// ---------------------------------------------------------
+// CPk5Recognizer::PreferredBufSize()
+// ---------------------------------------------------------
+//
+TUint CPk5Recognizer::PreferredBufSize()
+	{
+    return KMaxBufferSize;
+    }
+
+// ---------------------------------------------------------
+// CPk5Recognizer::SupportedDataTypeL()
+// ---------------------------------------------------------
+//
+TDataType CPk5Recognizer::SupportedDataTypeL(TInt /*aIndex*/) const
+	{
+    return TDataType(KPk5MimeType);
+    }
+    		
+// ---------------------------------------------------------
+// CPk5Recognizer::DoRecognizeL()
+// ---------------------------------------------------------
+//
+void CPk5Recognizer::DoRecognizeL(const TDesC& aName, const TDesC8& /*aBuffer*/)
+    {
+    iConfidence = ENotRecognized;
+    
+    if ( aName.Length() > KPk5Extension().Length() )
+        {
+        TPtrC extension = aName.Right( KPk5Extension().Length() );
+        
+        if( extension.Compare( KPk5Extension ) == 0 )
+        	{
+            iDataType = TDataType(KPk5MimeType);
+            iConfidence = ECertain;
+            }
+        }
+    }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// CApaDataRecognizerType* CreateRecognizer
+// The gate function - ordinal 1
+// -----------------------------------------------------------------------------
+//
+#ifdef EKA2
+
+// ---------------------------------------------------------
+// CPk5Recognizer::CreateRecognizerL()
+// ---------------------------------------------------------
+//
+CApaDataRecognizerType* CPk5Recognizer::CreateRecognizerL()
+    {
+    return CPk5Recognizer::NewL();
+    }
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(KPk5RecognizerImplementationUid, 
+    	CPk5Recognizer::CreateRecognizerL)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+    
+#else
+EXPORT_C CApaDataRecognizerType* CreateRecognizer()
+    {
+    CApaDataRecognizerType* thing=new CPk5Recognizer();
+    return thing; // NULL if new failed
+    }
+
+#endif
+// -----------------------------------------------------------------------------
+// E32Dll
+// DLL entry point
+// -----------------------------------------------------------------------------
+//
+
+#ifndef EKA2
+GLDEF_C TInt E32Dll(TDllReason /*aReason*/)
+    {
+    return KErrNone;
+    }
+#endif
+
+// End of File