organizer_plat/searchfw_launcher_api/inc/searchplugin.inl
author Simon Howkins <simonh@symbian.org>
Mon, 22 Nov 2010 16:01:09 +0000
branchRCL_3
changeset 93 d216ae5a8733
parent 0 f979ecb2b13e
permissions -rw-r--r--
Adjusted to avoid exports, etc, from a top-level bld.inf

/*
* Copyright (c) 2006-2007 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:  ECom search interface definition
*
*/


// INCLUDE FILES
#include <ecom/ecom.h>
#include <searchcommon.h>

// ============================ MEMBER FUNCTIONS ===============================

	
// -----------------------------------------------------------------------------
// CSearchPlugin::NewL
// Ecom interface static factory method implementation.
// -----------------------------------------------------------------------------
//
inline CSearchPlugin* CSearchPlugin::NewL( TUid aImpUid )
	{
	CSearchPlugin* self = CSearchPlugin::NewLC( aImpUid );	
	CleanupStack::Pop();
	return self;
	}

// -----------------------------------------------------------------------------
// CSearchUi::NewLC
// Ecom interface static factory method implementation.
// -----------------------------------------------------------------------------
//
inline CSearchPlugin* CSearchPlugin::NewLC( TUid aImpUid )
	{
	TAny* implementation = REComSession::CreateImplementationL ( aImpUid,
	    _FOFF ( CSearchPlugin, iDtor_ID_Key ) );
	CSearchPlugin* self = REINTERPRET_CAST( CSearchPlugin*, implementation );
	self->iPluginId = aImpUid;
	CleanupStack::PushL( self );
	return self;
	}

// -----------------------------------------------------------------------------
// CSearchPlugin::~CSearchPlugin
// Destructor
// -----------------------------------------------------------------------------
//
inline CSearchPlugin::~CSearchPlugin()
	{
	REComSession::DestroyedImplementation( iDtor_ID_Key );
	}

// -----------------------------------------------------------------------------
// CSearch::ListAllImplementationsL
// Lists all implementations which satisfy this ecom interface
//  (KSearchEcomInterfaceUid).
// -----------------------------------------------------------------------------
//
inline void CSearchPlugin::ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray )
	{
	REComSession::ListImplementationsL( KSearchPluginInterfaceUid, aImplInfoArray );
	}

// -----------------------------------------------------------------------------
// CSearch::ListAllImplementationsL
// Gets the plugin id.
// 
// -----------------------------------------------------------------------------
//
inline TUid CSearchPlugin::PluginId() const
  {
  return iPluginId;
  }