browserplugins/browsergpsplugin/src/GpsPlugin.cpp
changeset 51 48e827313edd
parent 37 481242ead638
child 53 f427d27b98d8
--- a/browserplugins/browsergpsplugin/src/GpsPlugin.cpp	Tue Feb 02 00:12:41 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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:  Interface to Browser for handling embedded Gps requests.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <npupp.h>
-#include <E32HAL.H>
-#include "GpsPlugin.h"
-#include "GpsObserver.h"
-#include <CSatelliteInfoUI.h>
-
-
-// CONSTANTS
-
-enum TIdentifiersNames {
-    EIdLatitude,
-    EIdLongitude,
-    EIdAlt,
-    EIdHorizontalAccuracy,
-    EIdVerticalAccuracy,
-    EIdOnGps,
-    EIdSatelliteStatus,
-    EIdTickCount,
-    EIdLast
-    };
-
-const NPUTF8 *GpsPluginIdentifierNames[EIdLast]
-= { "latitude",              // 0
-    "longitude",             // 1
-    "altitude",              // 2
-    "horizontalaccuracy",    // 3
-    "verticalaccuracy",      // 4
-    "ongps",                 // 5
-    "showsatellitestatus",   // 6
-    "tickcount",             // 7
-  };
-
-const TBool IsMethod[] = {
-    EFalse, // latitude,
-    EFalse, // longitude,
-    EFalse, // altitude
-    EFalse, // horizontalaccuracy
-    EFalse, // verticalaccuracy
-    EFalse, // ongps
-    ETrue,  // showSatelliteStatus
-    EFalse, // tickcount
-    };
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::CGpsPlugin
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-CGpsPlugin::CGpsPlugin()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-CGpsPlugin* CGpsPlugin::NewL()
-    {
-    CGpsPlugin* self = new (ELeave) CGpsPlugin;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-void CGpsPlugin::ConstructL()
-    {
-    iGpsPluginIdentifiers = new (ELeave) NPIdentifier[EIdLast];
-    NPN_GetStringIdentifiers( GpsPluginIdentifierNames, EIdLast,
-                              iGpsPluginIdentifiers );
-
-    iGpsObserver = CGpsObserver::NewL( this );
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::Destructor
-// ----------------------------------------------------------------------------
-CGpsPlugin::~CGpsPlugin()
-    {
-    delete [] iGpsPluginIdentifiers;
-    delete iGpsObserver;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::Deallocate
-// ----------------------------------------------------------------------------
-void CGpsPlugin::Deallocate ()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::InvokeCallback
-// ----------------------------------------------------------------------------
-bool CGpsPlugin::InvokeCallback( TDesC8& name,
-                                 const NPVariant *args, uint32_t argCount )
-    {
-    CGpsPluginEcomMain* lGpsPPluginEcomMain = (CGpsPluginEcomMain*) Dll::Tls();
-    NPNetscapeFuncs* lNetscapeFuncs = lGpsPPluginEcomMain->Funcs();
-    if (lNetscapeFuncs && iInstanceHandle)
-        {
-        void* value = 0;
-        NPError npErr
-          = lNetscapeFuncs->getvalue( iInstanceHandle, NPNVWindowNPObject,
-                                      (void*)&value );
-        if (npErr == NPERR_NO_ERROR)
-            {
-            NPVariant resultVariant;
-            VOID_TO_NPVARIANT( resultVariant );
-            NPIdentifier ident
-              = NPN_GetStringIdentifier( (const NPUTF8 *)(name.Ptr()) );
-            return NPN_Invoke( iInstanceHandle, (NPObject*)value,
-                               ident, args, argCount, &resultVariant );
-            }
-        }
-    return false;
-    }
-
-// ----------------------------------------------------------------------------
-// CWidgetManagerPlugin::HasMethod
-// ----------------------------------------------------------------------------
-
-bool CGpsPlugin::HasMethod( NPIdentifier name )
-    {
-    for ( TInt i= 0; i < EIdLast; i++ )
-        {
-        if ( name == iGpsPluginIdentifiers[i] )
-            {
-            return IsMethod[i];
-            }
-        }
-    return false;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::HasProperty
-// ----------------------------------------------------------------------------
-bool CGpsPlugin::HasProperty( NPIdentifier name )
-    {
-    for ( TInt i= 0; i < EIdLast; i++ )
-        {
-        if ( name == iGpsPluginIdentifiers[i] )
-            {
-            return !IsMethod[i];
-            }
-        }
-    return false;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::GetProperty
-// ----------------------------------------------------------------------------
-bool CGpsPlugin::GetProperty( NPIdentifier name, NPVariant *variant )
-    {
-    // default variant value maps to javascript undefined
-    VOID_TO_NPVARIANT( *variant );
-    if ( name == iGpsPluginIdentifiers[EIdLatitude] )
-        {
-        DOUBLE_TO_NPVARIANT( iGpsObserver->Latitude(), *variant );
-        }
-    else if ( name == iGpsPluginIdentifiers[EIdLongitude] )
-        {
-        DOUBLE_TO_NPVARIANT( iGpsObserver->Longitude(), *variant );
-        }
-    else if ( name == iGpsPluginIdentifiers[EIdAlt] )
-        {
-        DOUBLE_TO_NPVARIANT( iGpsObserver->Altitude(), *variant );
-        }
-    else if ( name == iGpsPluginIdentifiers[EIdHorizontalAccuracy] )
-        {
-        DOUBLE_TO_NPVARIANT( iGpsObserver->HorizontalAccuracy(), *variant );
-        }
-    else if ( name == iGpsPluginIdentifiers[EIdVerticalAccuracy] )
-        {
-        DOUBLE_TO_NPVARIANT( iGpsObserver->VerticalAccuracy(), *variant );
-        }
-    else if ( name == iGpsPluginIdentifiers[EIdTickCount] )
-        {
-        INT32_TO_NPVARIANT( iGpsObserver->TickCount(), *variant );
-        }
-    else
-        {
-        return  EFalse;
-        }
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::Invoke
-// ----------------------------------------------------------------------------
-bool CGpsPlugin::Invoke( NPIdentifier name,
-                         NPVariant* /*args*/,
-                         uint32_t /*argCount*/,
-                         NPVariant *result )
-    {
-    VOID_TO_NPVARIANT( *result );
-    if ( name == iGpsPluginIdentifiers[EIdSatelliteStatus] )
-        {
-        TRAP_IGNORE(
-            CSatelliteInfoUI* satelliteUI = CSatelliteInfoUI::NewL();
-            (void) satelliteUI->ExecuteLD( _L("BrowserGpsPlugin") ) );
-        }
-    return true;
-    }
-
-// ----------------------------------------------------------------------------
-// CGpsPlugin::SetPropertyL
-// ----------------------------------------------------------------------------
-bool CGpsPlugin::SetPropertyL( NPIdentifier name, NPVariant *variant )
-    {
-    if ( name == iGpsPluginIdentifiers[EIdOnGps] )
-        {
-        NPString str = NPVARIANT_TO_STRING( *variant );
-        iGpsObserver->RequestNotificationL(str);
-        }
-    else
-        {
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ----------------------------------------------------------------------------
-// CBAPPlugin::SetWindowL
-// Called by Browser for window creation.
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-void CGpsPlugin::SetWindowL(
-    MPluginAdapter* /*aPluginAdapter*/,  // Allows callback to Browser
-    const TRect& /*aRect*/)              // Window information
-    {
-    }
-//  End of File