diff -r 000000000000 -r 2f259fa3e83a commonuisupport/uikon/examples/notifier1/notifier/Notifier1.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonuisupport/uikon/examples/notifier1/notifier/Notifier1.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,125 @@ +// Copyright (c) 2006-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 "Notifier1.h" +#include +#include +#include +#include // For the ECom entry point definitions + +const TUid KNotifier1Uid = { 0x102826DC }; +const TUid KScreenOutput = { 0x10009D48 }; + +CNotifier1* CNotifier1::NewLC() + { + CNotifier1* self = new(ELeave) CNotifier1(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CNotifier1::~CNotifier1() + { + } + +CNotifier1::CNotifier1() + { + } + +void CNotifier1::ConstructL() + { + _LIT(KResourceFile, "z:\\resource\\apps\\Notifier1Dialog.rsc"); + TFileName resourceFileName(KResourceFile); + BaflUtils::NearestLanguageFile(iEikonEnv->FsSession(), resourceFileName); + TInt offset = iEikonEnv->AddResourceFileL(resourceFileName); + TRAPD(err,ConstructSleepingAlertDialogL(R_NOTIFIER1)); + iEikonEnv->DeleteResourceFile(offset); + User::LeaveIfError(err); + } + +void CNotifier1::Release() + { + delete this; + } + +CNotifier1::TNotifierInfo CNotifier1::RegisterL() + { + iInfo.iUid=KNotifier1Uid; + iInfo.iChannel=KScreenOutput; + iInfo.iPriority=ENotifierPriorityHigh; + return iInfo; + } + +CNotifier1::TNotifierInfo CNotifier1::Info() const + { + return iInfo; + } + +void CNotifier1::StartL(const TDesC8& /*aBuffer*/, TInt /*aReplySlot*/, const RMessagePtr2& aMessage) + { + aMessage.Complete(KErrNotSupported); + } + +TPtrC8 CNotifier1::StartL(const TDesC8& /*aBuffer*/) + { + if (!IsVisible()) + { + RouseSleepingDialog(); + } + return KNullDesC8(); + } + +void CNotifier1::Cancel() + { + ExitSleepingDialog(); + } + +TPtrC8 CNotifier1::UpdateL(const TDesC8& /*aBuffer*/) + { + _LIT(KNewTitle, "Still Notifier1"); + SetTitleL(KNewTitle); + DrawNow(); + return KNullDesC8(); + } + +void CNotifier1::UpdateL(const TDesC8& /*aBuffer*/, TInt /*aReplySlot*/, const RMessagePtr2& aMessage) + { + aMessage.Complete(KErrNotSupported); + } + +CArrayPtr* NotifierArrayL() + { + CArrayPtrFlat* notifiers = new(ELeave) CArrayPtrFlat(1); + CleanupStack::PushL(notifiers); + CNotifier1* notifier1 = CNotifier1::NewLC(); + notifiers->AppendL(notifier1); + CleanupStack::Pop(notifier1); + CleanupStack::Pop(notifiers); + return notifiers; + } + + +// ECom plugin entry point + +const TImplementationProxy ImplementationTable[] = + { + IMPLEMENTATION_PROXY_ENTRY(0x102826DB, NotifierArrayL) + }; + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + return ImplementationTable; + } \ No newline at end of file