diff -r 000000000000 -r ff3b6d0fd310 phonesrv_plat/incoming_call_monitor_api/inc/icmapi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/incoming_call_monitor_api/inc/icmapi.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,90 @@ +/* +* Copyright (c) 2002-2005 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: SDK Publish&Subscribe definitions of the +* Incoming Call monitor API +* +*/ + + +#ifndef __ICMAPI_H +#define __ICMAPI_H + +// INCLUDES +#include // TInt etc definitions +#include // P&S support + +/** +* @file icmapi.h +* +* The ICM API provides P&S key for incoming call notifications. +* ICM abbreviation comes from Incoming Call Monitor. Key can be updated by the +* client application. This key provide UID to the ICM, that UID will then be forwared +* to Converged Call Engine(CCE). CCE will address plugin component identified by the given +* UID - in order to handle the pending incoming call. The plugin will be loaded if it +* is not yet so. +* +* ICM has defined the property and monitors value changes made by clients to that property. +* +* This interface relies on the Publish and Subscribe (P&S) interface provided by Symbian. +* +* The P&S UID is #KPSUidICMIncomingCall category and following key is provided: +* - #KPropertyKeyICMPluginUID +* +* Client application requires capabilities TODO 16112007: no capabilities defined yet! +* in order to use the service +* +* +* @code +* // example of notifying ICM about call provider plug-in (UID=0x123456789) having an +* // incoming call +* #include +* TICMUIDValueType pluginuid = 0x123456789 +* +* // KErrNone is returned if all was ok. +* // KErrNotFound if property is not defined +* // KErrPermissionDenied is client does have required capabilities +* TInt result = RProperty::Set( KPSUidICMIncomingCall, +* KPropertyKeyICMPluginUID, +* pluginuid ); +* @endcode +* +*/ + +/** +P&S UID for all incoming call monitor keys +*/ +const TUid KPSUidICMIncomingCall = { 0x10202867 }; + + +/** +* P&S key to represent the UID of the plugin to handle the incoming call. +* The client will place the UID of the call provider plug-in to this property. +* @see KPSUidICMIncomingCall +*/ +const TUint32 KPropertyKeyICMPluginUID = 0x00000001; + +/** +ICM P&S property parameter value type +*/ +typedef TInt32 TICMUIDValueType; + +/** +Property type, used by entity defining the property +*/ +const TInt TICMUIDPropertyType = RProperty::EInt; + + +#endif //__ICMAPI_H + +