telephonyutils/etel3rdpartyapi/ExampleApps/Shared/CISVAPIAsync.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     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 //
       
    15 
       
    16 
       
    17 #ifndef __CISVAPIASYNC_H__
       
    18 #define __CISVAPIASYNC_H__
       
    19 
       
    20 #include "CISVAPIBase.h"
       
    21 
       
    22 /**
       
    23 Extended interface providing functionality for a member active object to
       
    24 interact with its owning class. Execution is not predicable and so uses
       
    25 notifications to alert applications when state changes occur.
       
    26 */
       
    27 class MExecAsync : public MExecController
       
    28 	{
       
    29 public:
       
    30 	/**
       
    31 	Provides functionality for member objects to notify the Menu object (their
       
    32 	owner) that they have completed their request.
       
    33 	*/
       
    34 	virtual void ExecComplete(TTelISVExampleType aDerivedType) = 0;
       
    35 
       
    36 	/**
       
    37 	Provides functionality for member objects to notify the Menu object	(their
       
    38 	owner) that they have been notified of a change.
       
    39 	*/
       
    40 	virtual void ExecNotify(TTelISVExampleType aDerivedType) = 0;
       
    41 	};
       
    42 
       
    43 /**
       
    44 Extended class providing functionality for objects to make Etel 3rd party
       
    45 function calls and interact with their owning class.
       
    46 */
       
    47 class CISVAPIAsync : public CISVAPIBase
       
    48 	{
       
    49 public:
       
    50 	CISVAPIAsync(MExecAsync* aController,
       
    51 			     TTelISVExampleType aExampleType);
       
    52 
       
    53 	/**
       
    54 	Calls ExecComplete() through the iController instance.
       
    55 	*/
       
    56 	void ExampleComplete();
       
    57 
       
    58 	/**
       
    59 	Calls ExecNotify() through the iController instance.
       
    60 	*/
       
    61 	void ExampleNotify();
       
    62 
       
    63 protected:
       
    64 	/**
       
    65 	Specifies if a completing request is a notification or not.
       
    66 	*/
       
    67 	TBool iRequestNotify;
       
    68 
       
    69 	};
       
    70 
       
    71 #endif // __CISVAPIASYNC_H__