usbuis/rndisui/src/rndisrefusalnotifier.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 09:14:30 +0200
changeset 0 1e05558e2206
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2005-2009 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:  Source file for RNDIS refusal notifier
*
*/

/**
@file
@internalComponent
*/

#include <ecom/implementationproxy.h>
#include <rndis/rndisuiinterfaces.h>
#include "rndisrefusalnotifier.hrh"
#include "rndisrefusalnotifier.h"

using namespace UsbRndis;

//Number of notifier needed.
const TInt KNotfierCount = 1;

CRndisNetworkConnectionRefusalNotifier* CRndisNetworkConnectionRefusalNotifier::NewLC()
	{
	CRndisNetworkConnectionRefusalNotifier* self = new (ELeave) CRndisNetworkConnectionRefusalNotifier;
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
	}

CRndisNetworkConnectionRefusalNotifier::CRndisNetworkConnectionRefusalNotifier()
	{
	}

CRndisNetworkConnectionRefusalNotifier::~CRndisNetworkConnectionRefusalNotifier()
	{
	}

void CRndisNetworkConnectionRefusalNotifier::ConstructL()
	{
	}

void CRndisNetworkConnectionRefusalNotifier::Release()
	{
	delete this;
	}

MEikSrvNotifierBase2::TNotifierInfo CRndisNetworkConnectionRefusalNotifier::RegisterL()
	{
	iInfo.iUid=TUid::Uid(KUidNetworkConnectionRefusalNotifierImp);
	iInfo.iChannel = TUid::Uid(KUidNetworkConnectionRefusalNotifierImp);
	iInfo.iPriority=ENotifierPriorityHigh;
	return iInfo;
	}

MEikSrvNotifierBase2::TNotifierInfo CRndisNetworkConnectionRefusalNotifier::Info() const
	{
	return iInfo;
	}

TPtrC8 CRndisNetworkConnectionRefusalNotifier::StartL(const TDesC8& aBuffer)
	{
	return aBuffer;
	}
 
void CRndisNetworkConnectionRefusalNotifier::StartL(const TDesC8& /*aBuffer*/, TInt /*aReplySlot*/, const RMessagePtr2& aMessage)
	{
	aMessage.Complete(KErrNone);
	}

void CRndisNetworkConnectionRefusalNotifier::Cancel()
	{
	}

TPtrC8 CRndisNetworkConnectionRefusalNotifier::UpdateL(const TDesC8& aBuffer)
	{
	return aBuffer;
	}

CArrayPtr<MEikSrvNotifierBase2>* NotifierArrayL()
	{
	CArrayPtr<MEikSrvNotifierBase2>* array = new(ELeave) CArrayPtrFlat<MEikSrvNotifierBase2>(KNotfierCount);
	CleanupStack::PushL(array);
	array->AppendL(CRndisNetworkConnectionRefusalNotifier::NewLC()); 
	CleanupStack::Pop(2, array);
	return array;
	}

// ECom plugin entry point
const TImplementationProxy ImplementationTable[] =
	{ 		
	IMPLEMENTATION_PROXY_ENTRY(KUidNetworkConnectionRefusalNotifierImp, NotifierArrayL) 
	};

EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
	{
	aTableCount = sizeof(ImplementationTable)/sizeof(TImplementationProxy);
	return ImplementationTable;
	}