diff -r 4baee4f15982 -r 6385c4c93049 browserplugins/browsergpsplugin/inc/GpsPlugin.h --- a/browserplugins/browsergpsplugin/inc/GpsPlugin.h Thu Aug 19 09:57:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,251 +0,0 @@ -/* -* Copyright (c) 2007 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: -* -*/ - - -#ifndef GPSPLUGIN_H -#define GPSPLUGIN_H - -// INCLUDES -#include -#include -#include // For base class MPluginNotifier - -// FORWARD DECLARATIONS -class CGpsObserver; - -// CLASS DECLARATION - -/****************************************** -This class is specific to ECom Style Plugin. This is used for passing -plugin specific initialization information to and from browser. -*******************************************/ -IMPORT_C NPError InitializeFuncs( NPPluginFuncs* aPpf ); - -// CONSTANTS -const TInt KFirstGpsImplementationValue = 0x10282870; - -/** -* CGpsPluginEcomMain -* Used for passing plugin specific initialization information to and from browser. -* @lib npGpsPlugin.lib -* @since S60 v3.2 -*/ -NONSHARABLE_CLASS(CGpsPluginEcomMain) : public CEcomBrowserPluginInterface - { - public: // Functions from base classes - - /** - * Two-phased constructor. - */ - static CGpsPluginEcomMain* NewL( TAny* aInitParam ); - - /** - * Destructor - */ - virtual ~CGpsPluginEcomMain(); - - /** - * Passed from the browser to the plugin and delcares what - * functions the browser makes available - */ - NPNetscapeFuncs* Funcs() const { return iNpf; } - - private: - - // Default constructor - CGpsPluginEcomMain( NPNetscapeFuncs* aNpf ); - - // By default Symbian 2nd phase constructor is private. - void ConstructL( NPPluginFuncs* aPluginFuncs ); - - // Netscape Function Pointer - NPNetscapeFuncs* iNpf; - }; - -/** -* CGpsPlugin class -* Interfaces to Browser, used to pass information between browser and plugin -* @lib npGpsPlugin.lib -* @since S60 v3.2 -*/ -NONSHARABLE_CLASS(CGpsPlugin) : public CBase - { - public: - static CGpsPlugin* NewL(); - - virtual ~CGpsPlugin(); - - public: - void Deallocate (); - bool HasMethod( NPIdentifier name ); - bool Invoke( NPIdentifier name, - NPVariant *args, - uint32_t argCount, - NPVariant *result ); - bool HasProperty( NPIdentifier name ); - bool GetProperty( NPIdentifier name, NPVariant *variant ); - bool SetPropertyL( NPIdentifier name, NPVariant *variant ); - - public: - void SetInstance( NPP instance ) { iInstanceHandle = instance; } - bool InvokeCallback( TDesC8& name, const NPVariant *args, uint32_t argCount ); - - /** - * SetWindowL - * @since 2.8 - * @param MPluginAdapter *pluginAdapter: Pointer to Browser adapter class - * @param const TRect& aRect: rectangle representing current UI - * @return void - */ - void SetWindowL( MPluginAdapter *pluginAdapter, const TRect& aRect ); - - private: - CGpsPlugin(); - void ConstructL(); - - private: - NPP iInstanceHandle; - NPIdentifier* iGpsPluginIdentifiers; // not owned - - // Interface to Browser - MPluginAdapter* iPluginAdapter; // not owned - - // gpsplugin feature class instance - CGpsObserver* iGpsObserver; // owned - }; - -/** -******************************************************************************** - Plugin API methods. Source located in CGpsApi.cpp -********************************************************************************* -*/ - -/** - * Create a plugin. - */ - -NPError GpsNewp( NPMIMEType pluginType, NPP instance, uint16 mode, - CDesCArray* argn, CDesCArray* argv, NPSavedData* saved ); - -/** - * Wrapper the errors - */ -void GpsConstructL( NPP aInstance, CDesCArray* argn, CDesCArray* argv ); - -/** - * Destroy a plugin. - */ -NPError GpsDestroy( NPP instance, NPSavedData** save ); - -/** - * Generic hook to retrieve values/attributes from the plugin. - */ -NPError GpsGetvalue( NPP instance, NPPVariable variable, void *ret_value ); - -/** - * This is the parent window of a plugin. - */ -NPError GpsSetwindow(NPP instance, NPWindow* window); - -/** -******************************************************************************** - Gps Plugin API methods. Source located in CGpsApi.cpp -********************************************************************************* -*/ -typedef struct - { - NPObject object; - CGpsPlugin *plugin; - } GpsPluginObject; - -/** - * GpsPluginAllocate - */ -NPObject* GpsPluginAllocate( NPP /*npp*/, NPClass* /*aClass*/ ); - -/** - * GpsPluginDeallocate - */ -void GpsPluginDeallocate( GpsPluginObject* obj ); - -/** - * GpsPluginInvalidate - */ -void GpsPluginInvalidate( NPObject* /*obj*/ ); - -/** - * GpsPluginHasMethod - */ -bool GpsPluginHasMethod( GpsPluginObject* obj, - NPIdentifier name ); - -/** - * GpsPluginInvoke - */ -bool GpsPluginInvoke( GpsPluginObject* obj, - NPIdentifier name, - NPVariant* args, - uint32_t argCount, - NPVariant* result ); - -/** - * GpsPluginHasProperty - */ -bool GpsPluginHasProperty( GpsPluginObject* obj, - NPIdentifier name ); - -/** - * GpsPluginGetProperty - */ -bool GpsPluginGetProperty( GpsPluginObject* obj, - NPIdentifier name, - NPVariant* variant ); - -/** - * GpsPluginSetProperty - */ -bool GpsPluginSetProperty( GpsPluginObject* obj, - NPIdentifier name, - NPVariant* variant ); - -/** - * _GpsPluginClass - */ -static NPClass _GpsPluginClass = - { - 0, // structVersion - (NPAllocateFunctionPtr) GpsPluginAllocate, - (NPDeallocateFunctionPtr) GpsPluginDeallocate, - (NPInvalidateFunctionPtr) GpsPluginInvalidate, - (NPHasMethodFunctionPtr) GpsPluginHasMethod, - (NPInvokeFunctionPtr) GpsPluginInvoke, - (NPInvokeDefaultFunctionPtr) 0, - (NPHasPropertyFunctionPtr) GpsPluginHasProperty, - (NPGetPropertyFunctionPtr) GpsPluginGetProperty, - (NPSetPropertyFunctionPtr) GpsPluginSetProperty, - (NPRemovePropertyFunctionPtr) 0, - (NPEnumerationFunctionPtr) 0 - }; - -/** - * static instance of the function pointer table - */ -static NPClass* GpsPluginClass = &_GpsPluginClass; - -#endif // GPSPLUGIN_H - -// End of File