diff -r 000000000000 -r 3553901f7fa8 telephonyserver/etelmultimode/CETEL/mm_hold.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserver/etelmultimode/CETEL/mm_hold.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,448 @@ +// Copyright (c) 2000-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: +// Contains method definitions for CMmPtrHolder and all of the classes that derive from it +// +// + +/** + @file +*/ + +// From core API +#include + +// Multimode header files +#include +#include "mm_hold.h" + + +// +// CMmPtrHolder - class owned by RMobile... objects to contain the TPtr8's and other member +// data required by asynchronous functions so that any additional functions will not require +// breaking BC. +// + +/* +CMmPtrHolder* CMmPtrHolder::NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray) + { + CMmPtrHolder* p = new (ELeave) CMmPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } +*/ +CMmPtrHolder::CMmPtrHolder() +/** Standard C++ constructor */ + {} + +CMmPtrHolder::~CMmPtrHolder() +/** Standard destructor */ + { + iPtrArray.Close(); + iPtrCArray.Close(); + } + +void CMmPtrHolder::ConstructL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method constructs the two arrays: one to hold TPtr8's and the other TPtrC8's + */ + { + TPtr8 ptr(NULL,0); + + TInt i; + for (i = 0; i < aSizeOfPtrArray; i++) + { + User::LeaveIfError(iPtrArray.Append(ptr)); + } + + TPtrC8 ptrC(NULL,0); + for (i = 0; i < aSizeOfPtrCArray; i++) + { + User::LeaveIfError(iPtrCArray.Append(ptrC)); + } + } + +TPtr8& CMmPtrHolder::Ptr(TInt aIndex) +/** + * This method returns a reference to the TPtr8 at aIndex within the array + * + * @param aIndex The array location of the desired TPtr8 + * @return TPtr8& + */ + { + return iPtrArray[aIndex]; + } + +TPtrC8& CMmPtrHolder::PtrC(TInt aIndex) +/** + * This method returns a reference to the TPtrC8 at aIndex within the array + * + * @param aIndex The array location of the desired TPtrC8 + * @return TPtrC8& + */ + { + return iPtrCArray[aIndex]; + } + +// +// CMobilePhonePtrHolder +// + +CMobilePhonePtrHolder* CMobilePhonePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobilePhone ptr holder object + * Array sizes depend on number of RMobilePhone requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobilePhonePtrHolder* p = new (ELeave) CMobilePhonePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +CMobilePhonePtrHolder::CMobilePhonePtrHolder() : + iStoreNetworkPtr(NULL,0,0),iStoreWlanSIDPtr(NULL,0,0) +/** +Constructor +*/ + {} + + +CMobilePhonePtrHolder::~CMobilePhonePtrHolder() +/** +Destructor +*/ + { + delete iStoreNetworkBuf; + delete iStoreWlanSIDBuf; + } + +// +// CMobileLinePtrHolder +// + +CMobileLinePtrHolder* CMobileLinePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileLine ptr holder object + * Array sizes depend on number of RMobileLine requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobileLinePtrHolder* p = new (ELeave) CMobileLinePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +// +// CMobileCallPtrHolder +// + +CMobileCallPtrHolder* CMobileCallPtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileCall ptr holder object + * Array sizes depend on number of RMobileCall requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobileCallPtrHolder* p = new (ELeave) CMobileCallPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +// +// CSmsMessagingPtrHolder +// + +CSmsMessagingPtrHolder* CSmsMessagingPtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileSmsMessaging ptr holder object + * Array sizes depend on number of RMobileSmsMessaging requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CSmsMessagingPtrHolder* p = new (ELeave) CSmsMessagingPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +CSmsMessagingPtrHolder::CSmsMessagingPtrHolder() : + iSmspPtr(NULL,0,0) + { + } + +CSmsMessagingPtrHolder::~CSmsMessagingPtrHolder() + { + delete iSmspBuf; + } + +// +// CCbsMessagingPtrHolder +// + +CCbsMessagingPtrHolder* CCbsMessagingPtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileBroadcastMessaging ptr holder object + * Array sizes depend on number of RMobileBroadcastMessaging requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CCbsMessagingPtrHolder* p = new (ELeave) CCbsMessagingPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +CCbsMessagingPtrHolder::CCbsMessagingPtrHolder() : + iBroadcastIdPtr(NULL,0,0) + { + } + +CCbsMessagingPtrHolder::~CCbsMessagingPtrHolder() + { + delete iBroadcastIdBuf; + } + +// +// CMobilePhoneStorePtrHolder +// + +CMobilePhoneStorePtrHolder* CMobilePhoneStorePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobilePhoneStore ptr holder object + * Array sizes depend on number of RMobilePhoneStore requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobilePhoneStorePtrHolder* p = new (ELeave) CMobilePhoneStorePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +// +// CSmsStorePtrHolder +// + +CSmsStorePtrHolder* CSmsStorePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileSmsStore ptr holder object + * Array sizes depend on number of RMobileSmsStore requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CSmsStorePtrHolder* p = new (ELeave) CSmsStorePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +// +// CNamStorePtrHolder +// + +CNamStorePtrHolder* CNamStorePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileNamStore ptr holder object + * Array sizes depend on number of RMobileNamStore requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CNamStorePtrHolder* p = new (ELeave) CNamStorePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +CNamStorePtrHolder::CNamStorePtrHolder() : + iNamPtr(NULL,0),iNamPtrV4(NULL,0) + { + } + +CNamStorePtrHolder::~CNamStorePtrHolder() + { + delete iNamBuf; + delete iNamBufV4; + } + +// +// CONStorePtrHolder +// + +CONStorePtrHolder* CONStorePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileONStore ptr holder object + * Array sizes depend on number of RMobileONStore requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CONStorePtrHolder* p = new (ELeave) CONStorePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +CONStorePtrHolder::CONStorePtrHolder() : + iONPtr(NULL,0) + { + } + +CONStorePtrHolder::~CONStorePtrHolder() + { + delete iONBuf; + } + +// +// CPhoneBookStorePtrHolder +// + +CPhoneBookStorePtrHolder* CPhoneBookStorePtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobilePhoneBookStore ptr holder object + * Array sizes depend on number of RMobilePhoneBookStore requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CPhoneBookStorePtrHolder* p = new (ELeave) CPhoneBookStorePtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + +// +// CMobileConferenceCallPtrHolder +// + +CMobileConferenceCallPtrHolder* CMobileConferenceCallPtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileConferenceCall ptr holder object + * Array sizes depend on number of RMobileConferenceCall requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobileConferenceCallPtrHolder* p = new (ELeave) CMobileConferenceCallPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + } + + +// +// CMobileSmartCardEapPtrHolder +// + +/** +This method creates the RMobileSmartCardEap ptr holder object. +Array sizes depend on number of RMobileSmartCardEap requests that +require ptr holder slots. + +@param aSizeOfPtrArray Number of TPtr8 slots required +@param aSizeOfPtrCArray Number of TPtrC8 slots required +@return Pointer to a new CMobileSmartCardEapPtrHolder object +*/ +CMobileSmartCardEapPtrHolder* CMobileSmartCardEapPtrHolder::NewL(TInt aSizeOfPtrArray, TInt aSizeOfPtrCArray) + { + CMobileSmartCardEapPtrHolder* self = new (ELeave) CMobileSmartCardEapPtrHolder(); + CleanupStack::PushL(self); + self->ConstructL(aSizeOfPtrArray, aSizeOfPtrCArray); + CleanupStack::Pop(); + return self; + } + +/** +Default constructor. +*/ +CMobileSmartCardEapPtrHolder::CMobileSmartCardEapPtrHolder() +: iReqAuthData(NULL,0) + { + // NOP + } + +/** +Default destructor. +*/ +CMobileSmartCardEapPtrHolder::~CMobileSmartCardEapPtrHolder() + { + // NOP + } + + +// +// CMobileLocationServicesPtrHolder +// + +CMobileLocationServicesPtrHolder* CMobileLocationServicesPtrHolder::NewL(TInt aSizeOfPtrArray,TInt aSizeOfPtrCArray) +/** + * This method creates the RMobileLocationServices ptr holder object + * Array sizes depend on number of RMobileLocationServices requests that require ptr holder slots + * + * @param aSizeOfPtrArray Number of TPtr8 slots required + * @param aSizeOfPtrCArray Number of TPtrC8 slots required + * @return CMobilePhonePtrHolder* Pointer to newly created ptr holder object + */ + { + CMobileLocationServicesPtrHolder* p = new (ELeave) CMobileLocationServicesPtrHolder(); + CleanupStack::PushL(p); + p->ConstructL(aSizeOfPtrArray,aSizeOfPtrCArray); + CleanupStack::Pop(); + return p; + }