messagingfw/biomsgfw/BioWatchers/Src/class0sms.cpp
changeset 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/biomsgfw/BioWatchers/Src/class0sms.cpp	Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,93 @@
+// Copyright (c) 2007-2009 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:
+//
+
+
+#include <f32file.h>
+#include <barsc.h> 
+#include <barsread.h>
+#include <ecom/implementationproxy.h>
+#include <barsread.h>
+#include "class0sms.h"
+
+//UID for Class 0 SMS Notifier
+const TUid KUidClass0SmsNotifier = {0x2000C382};
+
+
+//
+// DLL Global Methods
+//
+
+const TImplementationProxy ImplementationTable[] = 
+	{
+		IMPLEMENTATION_PROXY_ENTRY(0x2000BDF1, CClass0Sms::NewL)
+	};
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+	{
+	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+
+	return ImplementationTable;
+	}
+	
+
+CClass0Sms* CClass0Sms::NewL()
+	{
+	CClass0Sms* self= new (ELeave) CClass0Sms();
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop();
+	return self;
+	}
+	
+//CClass0Sms constructor	
+CClass0Sms::CClass0Sms()
+	{
+	//nothing to do here
+	}
+	
+//CClass0Sms destructor
+CClass0Sms::~CClass0Sms()
+	{
+	//needs to close the notifier
+	iNotifier.Close();
+    }
+	
+//CClass0Sms ConstructL
+void CClass0Sms::ConstructL()
+	{
+	//Connects to the RNotifier server. KErrNone, if it succeeds.
+	User::LeaveIfError(iNotifier.Connect());
+	}
+
+/**
+DisplayMessageHandler method wil calling the StartNotifier/UpdateNotifier according to aIsCompleteMsg flag. Here it passes the Class 0 SMS Message.
+@param aSmsMessage will contains Starting & Ending PDU position of decoded message,
+    and boolean value indicates that, is this last incomplete message. And it contains Class0SMS data.
+	This needs be Internalize in client side, in the same order(i.e TInt aStartPos, TInt endPos, TBool aIsLastMessage, TPtr aSmsData).
+@param aComplete indicates, is it a partial messsage or full message.  
+*/
+void CClass0Sms::DisplayMessageHandler(TDesC8& aSmsMessage, TBool aIsCompleteMsg)
+	{
+	TPckgBuf<TInt> 	response;
+	
+	if(aIsCompleteMsg)
+		{
+		iNotifier.StartNotifier(KUidClass0SmsNotifier, aSmsMessage);		
+		}
+	else
+		{
+		iNotifier.UpdateNotifier(KUidClass0SmsNotifier, aSmsMessage, response);
+		}
+	}