src/NPRAppEngine.cpp
author tahirm@symbian.org
Fri, 24 Jul 2009 08:46:02 +0100
changeset 0 0049171ecffb
permissions -rw-r--r--
initial release
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     1
/*
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     2
 ============================================================================
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     3
 Name	: NPRAppEngine.cpp
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     4
 Author	: Symsourcce
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     5
 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     6
 Copyright (c) 2009 Symbian Foundation Ltd
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     7
 This component and the accompanying materials are made available
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     8
 under the terms of the License "Eclipse Public License v1.0"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
     9
 which accompanies this distribution, and is available
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    10
 at the URL "http://www.eclipse.org/legal/epl-v10.html".
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    11
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    12
 Initial Contributors:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    13
 - Symsource
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    14
 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    15
 Contributors:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    16
 - Symsource
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    17
 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    18
 Description :
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    19
 ============================================================================
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    20
 */
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    21
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    22
#include <DocumentHandler.h>
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    23
#include <aknwaitdialog.h>
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    24
#include <NPR_0xEEB0E481.rsg>
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    25
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    26
#include "NPRAppEngine.h"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    27
#include "NPRAppUi.h"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    28
#include "NPRStationXmlParser.h"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    29
#include "NPRStation.h"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    30
#include "NPRStory.h"
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    31
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    32
_LIT(KNPRQuery, "http://api.npr.org/query?id=1001&apiKey=MDAzNTk1Nzk0MDEyNDQ2NjI1NzgyNGExNg001");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    33
_LIT(KNPRApiKey, "MDAzNTk1Nzk0MDEyNDQ2NjI1NzgyNGExNg001");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    34
_LIT(KNPRStationQuery,"http://api.npr.org/stations?%S&apiKey=%S");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    35
_LIT(KSearching, "Searching...");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    36
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    37
_LIT(KStationStreamFile, "c:\\data\\npr_station_stream.rm");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    38
_LIT(KNewsStreamFile, "c:\\data\\npr_news_stream.rm");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    39
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    40
_LIT8(KDataTypeRAM,"audio/x-pn-realaudio-plugin");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    41
_LIT8(KXmlMimeType, "text/xml");
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    42
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    43
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    44
CNPRAppEngine* CNPRAppEngine::NewL(CNPRAppUi& aNPRAppUi)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    45
	{	
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    46
	CNPRAppEngine* self = new (ELeave) CNPRAppEngine(aNPRAppUi);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    47
	CleanupStack::PushL(self);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    48
	self->ConstructL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    49
	CleanupStack::Pop(self);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    50
	return self;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    51
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    52
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    53
CNPRAppEngine::CNPRAppEngine(CNPRAppUi& aNPRAppUi)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    54
	:iNPRAppUi(aNPRAppUi)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    55
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    56
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    57
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    58
CNPRAppEngine::~CNPRAppEngine()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    59
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    60
	delete iDocHandler;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    61
	delete iHttp;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    62
	iStationArray.ResetAndDestroy();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    63
	iStationArray.Close();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    64
	iStoryArray.ResetAndDestroy();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    65
	iStoryArray.Close();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    66
	if(iWaitDialog)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    67
		{		
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    68
	    delete iWaitDialog;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    69
	    iWaitDialog = NULL;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    70
		}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    71
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    72
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    73
void CNPRAppEngine::ConstructL()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    74
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    75
	this->iHttp = CHttpClient::NewL(*this);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    76
    // Create the document handler
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    77
    iDocHandler = CDocumentHandler::NewL(CEikonEnv::Static()->Process());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    78
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    79
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    80
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    81
void CNPRAppEngine::SendNPRCommandL(const TNPRCommands aCommand, const TDesC& aField)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    82
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    83
	switch(aCommand)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    84
		{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    85
		case ENewsCmd:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    86
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    87
			SearchNewsL(aField);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    88
			ShowWaitingDialogL(KSearching());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    89
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    90
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    91
		case EStationsCmd:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    92
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    93
			SearchStationsL(aField);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    94
			ShowWaitingDialogL(KSearching());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    95
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    96
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    97
		case EPlayStationStream:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    98
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
    99
			TFileName filename(KStationStreamFile);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   100
			LaunchFileL(filename);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   101
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   102
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   103
		case EPlayNewsStream:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   104
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   105
			TFileName filename(KNewsStreamFile);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   106
			LaunchFileL(filename);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   107
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   108
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   109
		default:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   110
			return;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   111
		}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   112
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   113
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   114
const RPointerArray<CNPRStation>* CNPRAppEngine::Stations()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   115
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   116
	return &iStationArray;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   117
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   118
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   119
const RPointerArray<CNPRStory>* CNPRAppEngine::Stories()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   120
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   121
	return &iStoryArray;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   122
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   123
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   124
void CNPRAppEngine::SearchStationsL(const TDesC& aField)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   125
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   126
	HBufC *uri = HBufC::NewLC(KNPRStationQuery().Length()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   127
			+ aField.Length() 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   128
			+ KNPRApiKey().Length()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   129
			);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   130
	TPtr uriPtr = uri->Des();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   131
	uriPtr.Format(KNPRStationQuery,&aField, &KNPRApiKey());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   132
	iHttp->SendRequestL(uriPtr);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   133
	CleanupStack::PopAndDestroy(uri);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   134
	iNPRCommand = EStationsCmd;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   135
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   136
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   137
void CNPRAppEngine::SearchNewsL(const TDesC& /*aField*/)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   138
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   139
	iHttp->SendRequestL(KNPRQuery());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   140
	iNPRCommand = ENewsCmd;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   141
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   142
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   143
void CNPRAppEngine::ResponseStatusL(TInt /*aStatusCode*/, const TDesC& /*aStatusText*/)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   144
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   145
	DismissWaitingDialogL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   146
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   147
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   148
void CNPRAppEngine::ResponseReceivedL(const TDesC8& aResponseBuffer)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   149
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   150
	switch(iNPRCommand)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   151
		{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   152
		case ENewsCmd:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   153
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   154
			iStoryArray.ResetAndDestroy();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   155
			CNPRStoryXmlParser* newsParser = CNPRStoryXmlParser::NewLC(&iStoryArray);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   156
			CParser* parser = CParser::NewLC(KXmlMimeType, *newsParser);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   157
			parser->ParseL(aResponseBuffer);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   158
			CleanupStack::PopAndDestroy(parser); 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   159
			CleanupStack::PopAndDestroy(newsParser);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   160
			iNPRAppUi.ActivateLocalViewL(TUid::Uid(ENPRStoryListBoxViewId));
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   161
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   162
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   163
		case EStationsCmd:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   164
			{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   165
			DismissWaitingDialogL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   166
			iStationArray.ResetAndDestroy();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   167
			CNPRStationXmlParser* stationParser = CNPRStationXmlParser::NewLC(&iStationArray);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   168
			CParser* parser = CParser::NewLC(KXmlMimeType, *stationParser);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   169
			parser->ParseL(aResponseBuffer);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   170
			CleanupStack::PopAndDestroy(parser); 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   171
			CleanupStack::PopAndDestroy(stationParser);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   172
			iNPRAppUi.ActivateLocalViewL(TUid::Uid(ENPRStationListBoxViewId));
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   173
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   174
			}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   175
		default:
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   176
			DismissWaitingDialogL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   177
			break;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   178
		}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   179
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   180
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   181
void CNPRAppEngine::LaunchFileL(const TDesC& aFilename)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   182
    {
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   183
    TDataType dataType = TDataType(KDataTypeRAM());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   184
    // Open a file in a standalone handler application
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   185
    TRAPD(err,iDocHandler->OpenFileL(aFilename, dataType));
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   186
 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   187
    TUid handlerUid; 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   188
    err = iDocHandler->HandlerAppUid(handlerUid);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   189
    if (!err)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   190
        {
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   191
        RefreshDocumentFileL(handlerUid, aFilename);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   192
        }
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   193
    }
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   194
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   195
/**
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   196
 * Refreshes the file opened in a standalone handler. Does nothing if the file
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   197
 * has not been already opened.
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   198
 */
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   199
void CNPRAppEngine::RefreshDocumentFileL(const TUid& aUid, const TDesC& aFileName)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   200
    {
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   201
    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   202
    TApaTask task = taskList.FindApp(aUid);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   203
 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   204
    // If the standalone handler is already running, then update the file
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   205
    if (task.Exists())
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   206
        {
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   207
        User::LeaveIfError(task.SwitchOpenFile(aFileName));
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   208
        }
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   209
    }
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   210
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   211
void CNPRAppEngine::ShowWaitingDialogL(const TDesC& aText)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   212
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   213
	DismissWaitingDialogL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   214
	iWaitDialog = new(ELeave)CAknWaitDialog((REINTERPRET_CAST(CEikDialog**,&iWaitDialog)), EFalse );
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   215
	iWaitDialog->SetTextL(aText); 
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   216
	iWaitDialog->ExecuteLD(R_SINGULAR_WAIT_NOTE);
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   217
	}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   218
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   219
void CNPRAppEngine::DismissWaitingDialogL()
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   220
	{
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   221
	if(iWaitDialog)
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   222
		{			
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   223
		iWaitDialog->ProcessFinishedL();
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   224
		iWaitDialog=NULL;
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   225
		}
0049171ecffb initial release
tahirm@symbian.org
parents:
diff changeset
   226
	}