linklayerprotocols/tundriver/src/tundrivermcprfactory.cpp
branchRCL_3
changeset 63 425d8f4f7fa5
equal deleted inserted replaced
58:8d540f55e491 63:425d8f4f7fa5
       
     1 /**
       
     2 *   Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 *   All rights reserved.
       
     4 *   This component and the accompanying materials are made available
       
     5 *   under the terms of "Eclipse Public License v1.0"
       
     6 *   which accompanies this distribution, and is available
       
     7 *   at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *   
       
     9 *   Initial Contributors:
       
    10 *   Nokia Corporation - initial contribution.
       
    11 *   
       
    12 *   Contributors:
       
    13 *
       
    14 *   Description:
       
    15 *   Factory implementation for tunnel driver mcpr.
       
    16 * 
       
    17 *
       
    18 */
       
    19 
       
    20 /**
       
    21  @file tundrivermcprfactory.cpp
       
    22  @internalTechnology
       
    23 */
       
    24 
       
    25 #include <ecom/implementationproxy.h>
       
    26 #include "tundrivermcprfactory.h"
       
    27 #include "tundrivermcpr.h"
       
    28 #include <comms-infras/ss_log.h>
       
    29 #include <ss_glob.h>
       
    30 #include <ecom/ecom.h>
       
    31 
       
    32 #include <comms-infras/ss_msgintercept.h>
       
    33 
       
    34 using namespace ESock;
       
    35 
       
    36 CTunDriverMetaConnectionProviderFactory* CTunDriverMetaConnectionProviderFactory::NewL(TAny* aParentContainer)
       
    37 /**
       
    38 * CTunDriverMetaConnectionProviderFactory::NewL constructs a Default MCPR Flow Factory
       
    39 * @param aParentContainer construction data passed by ECOM
       
    40 * @returns pointer to a constructed factory object.
       
    41 */
       
    42 	{
       
    43  	return new (ELeave) CTunDriverMetaConnectionProviderFactory(TUid::Uid(CTunDriverMetaConnectionProviderFactory::iUid), *(reinterpret_cast<CMetaConnectionFactoryContainer*>(aParentContainer)));
       
    44 	}
       
    45 
       
    46 CTunDriverMetaConnectionProviderFactory::CTunDriverMetaConnectionProviderFactory(TUid aFactoryId, CMetaConnectionFactoryContainer& aParentContainer)
       
    47 	: CMetaConnectionProviderFactoryBase(aFactoryId, aParentContainer)
       
    48 /**
       
    49 * CTunDriverMetaConnectionProviderFactory::CTunDriverMetaConnectionProviderFactory is a default constructor.
       
    50 * @return
       
    51 */
       
    52 	{
       
    53 	}
       
    54 
       
    55 ESock::ACommsFactoryNodeId* CTunDriverMetaConnectionProviderFactory::DoCreateObjectL(ESock::TFactoryQueryBase& aQuery)
       
    56 /**
       
    57 * CTunDriverMetaConnectionProviderFactory::DoCreateObjectL is called from UpperlLayer.
       
    58 * @return
       
    59 */
       
    60 	{
       
    61 	const TMetaConnectionFactoryQuery& query = static_cast<const TMetaConnectionFactoryQuery&>(aQuery);
       
    62 	CMetaConnectionProviderBase* provider = CTunDriverMetaConnectionProvider::NewL(*this, query.iProviderInfo);
       
    63 	
       
    64 	ESOCK_DEBUG_REGISTER_GENERAL_NODE(iUid, provider);
       
    65 
       
    66 	return provider;
       
    67 	}
       
    68 
       
    69