sipproviderplugins/sipprovider/sipstatemachine/inc/MSIPCPR.h
changeset 0 307788aac0a8
equal deleted inserted replaced
-1:000000000000 0:307788aac0a8
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // MSIPCPR definition file.
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file
       
    20  @internalComponent
       
    21 */
       
    22 
       
    23 #ifndef SIPSCPR_SIPCPR_H
       
    24 #define SIPSCPR_SIPCPR_H
       
    25 
       
    26 #include <ss_subconnprov.h>
       
    27 #include "transitionengine.h"
       
    28 
       
    29 
       
    30 /**This interface cannot be defined neither in SIPCPR nor in SIPSCPR
       
    31 because both SIPSCPR and SIPCPR must be able to link to it 
       
    32 (link to IfSIPCPRTid - see below).
       
    33 */
       
    34 const TUint KUidSIPInterfaces = 0x10274C38; //same as SIP CPR Factory ID
       
    35 #define IfSIPCPRTid MSIPCPR::GetSTypeId()
       
    36 
       
    37 class MSIPCPR
       
    38 /** The interface SIPSCPR expects from its connection provider.
       
    39 
       
    40 
       
    41 @internalComponent
       
    42 @released since v9.2
       
    43 */
       
    44 	{
       
    45 public:	    
       
    46     static const Meta::STypeId GetSTypeId()
       
    47         {
       
    48         const Meta::STypeId id = Meta::STypeId::CreateSTypeId(KUidSIPInterfaces, 0);
       
    49         return id;
       
    50         }
       
    51         
       
    52   	/**
       
    53 	Called by the SIPSCPR to obtain the TransitionEngine it requires to function.
       
    54 	
       
    55 	@param a pointer to the transition engine or NULL if error.
       
    56 	*/	
       
    57     virtual CSIPTransitionEngine* GetTransitionEngine() = 0;
       
    58     
       
    59 	/**
       
    60 	Called by the SIPSCPR to obtain the MSubConnectionControlClient that is
       
    61 	awaiting to pick up an incoming connection. 'this' should reset
       
    62 	the held pointer so that the next time this method is called,
       
    63 	it returns NULL (unless someone subscribe for the incoming request
       
    64 	again).
       
    65 	
       
    66 	@param a pointer to the MSubConnectionControlClient or NULL if nobody's awaiting.
       
    67 	*/	
       
    68     virtual MSubConnectionControlClient* ResetIncomingSubConClient() = 0;
       
    69     
       
    70 	/**
       
    71 	Called by the SIPSCPR to obtain the 'from' field associated with 'this'.
       
    72 	
       
    73 	@return a pointer to the buffer holding the 'from' field. The buffer
       
    74 	must be valid throughout the lifetime of 'this'.
       
    75 	@exception failure to retrieve the from 'field'.
       
    76 	*/	
       
    77     virtual const TPtrC8 GetFromFieldL() = 0;
       
    78 	};
       
    79 	
       
    80 	
       
    81 
       
    82 #endif	// SIPSCPR_SIPCPR_H