diff -r 594d59766373 -r 7d48bed6ce0c convergedcallengine/csplugin/inc/cspconferencecall.h --- a/convergedcallengine/csplugin/inc/cspconferencecall.h Thu Aug 19 10:28:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,316 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Implements CSPConferenceCall for CS Call Plug-in -* -*/ - - - -#ifndef CSPCONFERENCECALL_H -#define CSPCONFERENCECALL_H - -#include -#include -#include -#include -#include -#include - -#include "mcspconferencestatusobserver.h" -#include "cspconsts.h" -#include "cspetelconferencecallrequester.h" // For the requester and TConferenceRequestType - - -class MCCPForwardProvider; -class MCCPTransferProvider; -class MCCPObserver; -class MCSPCallInformation; -class CSPConferenceCallObserver; -class RMobileConferenceCall; -class CSPEtelConferenceStatusMonitor; -class CSPEtelConferenceEventMonitor; -class CSPEtelConferenceCapsMonitor; - - -/** -* Call class for CS Call Plug-in. Implements the API defined by CCP in classes -* MCCPCall and MCCPCSCall -* -* @lib csplugin.dll -*/ -class CSPConferenceCall : public CBase, - public MCCPConferenceCall, - public MCSPConferenceStatusObserver - { - - public: - /* - * Creates a new CSPConferenceCall object. - * @param aPhone reference to phone object - * @return pointer to created call object - * @param aServiceId the service id - */ - static CSPConferenceCall* NewL( - RMobilePhone& aPhone, - MCSPCallInformation& aCallInfo, - TUint32 aServiceId ); - - /* - * C++ default destructor - */ - virtual ~CSPConferenceCall( ); - - /** - * Getter for observer - * @return observer for CS calls. - */ - MCCPCallObserver* Observer() const; - - /** - * Notifies call specific event to observers. - * @param aEvent conference event that was occurred - * @param aCallName the name of the related call object - */ - void NotifyEvent( - MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent, - TName& aCallName ); - - /** - * Notifies non-'call specific' event to observers. - * @param aEvent conference event that was occurred, - */ - void NotifyEvent( - MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent ); - - /** - * Notifies about conference call request related errors. - */ - void NotifyConferenceError( TCCPConferenceCallError aErr ); - - /** - * Handles caps change. - * @param aNewCaps new caps - */ - void ConferenceCapsChanged( TUint32 aNewCaps ); - -// from base class MCSPConferenceStatusObserver - - /** - * From MCSPConferenceStatusObserver. - * Notifies event to observers. - * @param aStatus new status of the conference call - */ - void NotifyStateChange( - MCSPConferenceStatusObserver::TCSPConferenceState aStatus ); - -// from base class MCCPConferenceCall - - /** - * From MCCPConferenceCall. - * Adds new call to conference call. - * @param aCall Call to be added to conference - * @return Leaves in case of an error. - * KErrArgument, KErrNoMemory - */ - void AddCallL( MCCPCall* aCall ); - - /** - * From MCCPConferenceCall. - * Removes call from conference call. - * @param aCall Call to be removed from conference - * @return In error case leaves. - * KErrArgument, KErrNotFound - */ - void RemoveCallL( MCCPCall* aCall ); - - /** - * From MCCPConferenceCall. - * Returns number of calls in conference call. - * @param aCallCount Number of calls in conference. - * @return KErrNone if succesfull, otherwise system wide error code. - */ - TInt CallCount( ) const; - - /** - * From MCCPConferenceCall. - * Switch to a private call with one call from conference call. - * @param aCall Call to be removed from conference - * @return In error case leaves. - * KErrArgument, KErrNotFound - */ - void GoOneToOneL( MCCPCall& aCall ); - - /** - * Adds current calls (1 hold + connected ) - * to part of conference - * @leave In case of an error system wide error code - */ - void CurrentCallsToConferenceL(); - - /** - * From MCCPConferenceCall - * Returns serviceId - * @since S60 3.2 - * @return TUint32 ServiceId - */ - TUint32 ServiceId() const; - - /** - * From MCCPConferencCall - * Ends an ongoing call. - * @since S60 3.2 - */ - TInt HangUp(); - - /** - * From MCCPConferenceCall - * Puts the specified call on hold. - * @since S60 3.2 - */ - TInt Hold(); - - /** - * From MCCPConferenceCall - * Resumes the call. - * @since S60 3.2 - */ - TInt Resume(); - - /** - * From MCCPConferenceCall - * Swaps a connected call to its opposite state either active or on hold - * @since S60 3.2 - */ - TInt Swap(); - - /** - * Adds a new observer for the conference call object. - * @since S60 3.2 - * @param aObserver the conference observer to be added - */ - void AddObserverL( const MCCPConferenceCallObserver& aObserver ); - - /** - * Removes an observer. - * @since S60 3.2 - * @param aObserver the observer to be removed - * @return system wide error code - */ - TInt RemoveObserver( const MCCPConferenceCallObserver& aObserver ); - - /** - * Get conference participants. - * @since S60 5.0 - * @param aCallArray array where participating calls are stored - * @return system wide error code - */ - TInt GetCallArray( RPointerArray& aCallArray ); - - private: - - /* - * C++ default constructor - * @param aPhone handle to the ETel Phone - * @param aCallInfo call information - * @param aServiceId service id - */ - CSPConferenceCall( RMobilePhone& aPhone, - MCSPCallInformation& aCallInfo, - TUint32 aServiceId ); - - /* - * Constructing 2nd phase. - * @since S60 3.2 - * @param aObserver the CCP call observer, - */ - void ConstructL( ); - - /** - * Get conference state from ETel. - * @since S60 5.0 - * @param aState param for storing conference call state - * @return system wide error code - */ - TInt GetConferenceCallState( - MCCPConferenceCallObserver::TCCPConferenceCallState& aState ); - - private: - - /** - * Call status monitor. - * Own. - */ - CSPEtelConferenceStatusMonitor* iCallStatusMonitor; - - /** - * Call event monitor. - * Own. - */ - CSPEtelConferenceEventMonitor* iCallEventMonitor; - - /** - * Call caps monitor. - * Own. - */ - CSPEtelConferenceCapsMonitor* iCallCapsMonitor; - - /** - * ETel call object - */ - RMobileConferenceCall iCall; - - /** - * ETel phone - */ - RMobilePhone& iPhone; - - /** - * Conference call state. - */ - MCCPConferenceCallObserver::TCCPConferenceCallState iCallState; - - /** - * Makes the asynchronic requests for various purposes. - */ - CSPEtelConferenceCallRequester* iRequester; - - /** - * Observer array for conference states, events and errors. - */ - RPointerArray iObservers; - - /** - * Call count for adding call. - */ - TInt iCallCountForAddCall; - - /** - * Call Information for resolving call pointers from - * the call names. - */ - MCSPCallInformation& iCallInfo; - - /** - * Service ID - */ - TUint32 iServiceId; - - /** - * Call name of a last call added to this conference.. - */ - TName iAddedCallName; - - }; - -#endif // CSPCONFERENCECALL_H \ No newline at end of file