ginebra2/emulator/BrowserMainS60.h
author hgs
Fri, 06 Aug 2010 17:23:08 -0400
changeset 9 b39122337a00
parent 3 0954f5dd2cd0
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
*
hgs
parents:
diff changeset
     5
* This program is free software: you can redistribute it and/or modify
hgs
parents:
diff changeset
     6
* it under the terms of the GNU Lesser General Public License as published by
hgs
parents:
diff changeset
     7
* the Free Software Foundation, version 2.1 of the License.
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* This program is distributed in the hope that it will be useful,
hgs
parents:
diff changeset
    10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
hgs
parents:
diff changeset
    11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
hgs
parents:
diff changeset
    12
* GNU Lesser General Public License for more details.
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* You should have received a copy of the GNU Lesser General Public License
hgs
parents:
diff changeset
    15
* along with this program.  If not,
hgs
parents:
diff changeset
    16
* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
hgs
parents:
diff changeset
    17
*
hgs
parents:
diff changeset
    18
* Description:
hgs
parents:
diff changeset
    19
*
hgs
parents:
diff changeset
    20
*/
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#ifndef BROWSERMAINS60_H_
hgs
parents:
diff changeset
    23
#define BROWSERMAINS60_H_
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#include <QtGui/QS60MainApplication>
hgs
parents:
diff changeset
    26
#include <QtGui/QS60MainDocument>
hgs
parents:
diff changeset
    27
#include <QtGui/QS60MainAppUi>
hgs
parents:
diff changeset
    28
#include <QDebug>
hgs
parents:
diff changeset
    29
#include <QtGui>
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
#include "browser.h"
hgs
parents:
diff changeset
    32
#include "singleton.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
/*
hgs
parents:
diff changeset
    35
 * Handles calls from other apps to QDesktopServices.openUrl
hgs
parents:
diff changeset
    36
 */
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
class BrowserMainAppUiS60 : public QS60MainAppUi
hgs
parents:
diff changeset
    39
{
hgs
parents:
diff changeset
    40
  public:
hgs
parents:
diff changeset
    41
    BrowserMainAppUiS60() : QS60MainAppUi() {};
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
    // This function handles when an app calls QDesktopServices.openUrl when the browser is already started
hgs
parents:
diff changeset
    44
    MCoeMessageObserver::TMessageResponse HandleMessageL(TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid, const TDesC8 &aMessageParameters);
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
    // These functions handle when an app calls QDesktopServices.openUrl when the browser isn't already started
hgs
parents:
diff changeset
    47
    TBool ProcessCommandParametersL(TApaCommand aCommand,TFileName& aFilename);
hgs
parents:
diff changeset
    48
    TBool ProcessCommandParametersL(TApaCommand aCommand,TFileName& aFilename, const TDesC8& aTail);
hgs
parents:
diff changeset
    49
};
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
class BrowserMainDocumentS60 : public QS60MainDocument
hgs
parents:
diff changeset
    52
{
hgs
parents:
diff changeset
    53
  public:
hgs
parents:
diff changeset
    54
    BrowserMainDocumentS60(CEikApplication &eikApp) : QS60MainDocument(eikApp) {};
hgs
parents:
diff changeset
    55
    CEikAppUi *CreateAppUiL();
hgs
parents:
diff changeset
    56
};
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
class BrowserMainApplicationS60 : public  QS60MainApplication
hgs
parents:
diff changeset
    59
{
hgs
parents:
diff changeset
    60
  
hgs
parents:
diff changeset
    61
  public:
hgs
parents:
diff changeset
    62
    BrowserMainApplicationS60();
hgs
parents:
diff changeset
    63
    void SetInitialUrl(QString url) { initialUrl = url; }
hgs
parents:
diff changeset
    64
    QString InitialUrl() { return initialUrl; }
hgs
parents:
diff changeset
    65
    void setUrlHandler(GinebraBrowser *uh);
hgs
parents:
diff changeset
    66
    GinebraBrowser *UrlHandler() { return urlHandler; }
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
  protected:
hgs
parents:
diff changeset
    69
    CApaDocument *CreateDocumentL();
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
  private:
hgs
parents:
diff changeset
    72
    QString initialUrl;
hgs
parents:
diff changeset
    73
    GinebraBrowser *urlHandler;
hgs
parents:
diff changeset
    74
};
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
// Define the Meyer's singleton for BrowserMainApplicationS60
hgs
parents:
diff changeset
    77
typedef Singleton<BrowserMainApplicationS60, CreateGamma> CBrowserMainAppSingleton;
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
#endif /* BROWSERMAINS60_H_ */