dosservices/tsrc/dsytesttool/AccessoryTestControl/inc/CtfTestControlObserver.h
author hgs
Thu, 01 Jul 2010 11:20:10 +0300
changeset 41 c87e5f80c17d
parent 0 4e1aa6a622a0
permissions -rw-r--r--
201025_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     1
/*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     2
* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     3
* All rights reserved.
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     4
* This component and the accompanying materials are made available
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     6
* which accompanies this distribution, and is available
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     8
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     9
* Initial Contributors:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    10
* Nokia Corporation - initial contribution.
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    11
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    12
* Contributors:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    13
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    14
* Description:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    15
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    16
*/
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    17
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    18
#ifndef __CTFTESTCONTROLOBSERVER_H__
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    19
#define __CTFTESTCONTROLOBSERVER_H__
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    20
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    21
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    22
#include "CtfAccessoryTestControl.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    23
#include "TfAccessoryTestControlTypes.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    24
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    25
#include <AccessoryMode.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    26
#include <AccessorySettings.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    27
#include <AccessoryConnection.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    28
#include <AccessoryControl.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    29
#include <AccessoryAudioControl.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    30
#include <AccessoryBTControl.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    31
#include <AccessorySingleConnection.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    32
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    33
#include <AccPolGenericID.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    34
#include <AccPolGenericIDarray.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    35
#include <AccConfigFileParser.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    36
#include <AccPolCommonNameValuePairs.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    37
#include <AccConfigFileParser.h>
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    38
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    39
class CTFAccessoryTestControl;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    40
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    41
class CTFTestControlObserver : public CActive
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    42
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    43
    public:  
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    44
        
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    45
        //CTFAccessoryTestControl aTestControl
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    46
		static CTFTestControlObserver* NewL(CTFAccessoryTestControl& aTestControl); 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    47
               		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    48
        CTFTestControlObserver(CTFAccessoryTestControl& aTestControl);                       
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    49
        	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    50
        ~CTFTestControlObserver();                       
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    51
        
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    52
        //
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    53
        // Accessory Connction
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    54
        //
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    55
        void NotifyNewAccessoryConnected(TAccPolGenericID& aGenericId);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    56
                
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    57
        void NotifyAccessoryDisconnected(TAccPolGenericID& aGenericId);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    58
        
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    59
        void NotifyBooleanAccessoryValueChanged(TAccPolGenericID& aGenericId, const TUint32& aName);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    60
        
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    61
        void NotifyIntegerAccessoryValueChanged(TAccPolGenericID& aGenericId, const TUint32& aName);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    62
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    63
        void NotifyObjectAccessoryValueChanged(TAccPolGenericID& aGenericId, const TUint32& aName);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    64
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    65
		void GetAccessoryConnectionStatus(TAccPolGenericIDArray& aGenericIdArray);                                
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    66
		//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    67
		// Accessory Mode
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    68
		//                                
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    69
        void NotifyAccessoryModeChanged();   
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    70
        
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    71
        void GetAccessoryMode();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    72
						
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    73
 		//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    74
 		// Accessory Bluetooth Control
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    75
 		//               
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    76
        void NotifyBluetoothAudioLinkOpenReq(); 			           
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    77
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    78
		void NotifyBluetoothAudioLinkCloseReq(); 			  
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    79
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    80
		void ConnectBTAccessory(TBTDevAddr& btaddr); 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    81
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    82
		void DisconnectBTAccessory(TBTDevAddr& btaddr);						           
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    83
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    84
		// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    85
		// Accessory Audio Control
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    86
		//		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    87
		void AccessoryAudioLinkOpen( TAccPolGenericID& aGenericI, TUint32 aAudioType );   
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    88
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    89
		void NotifyAccessoryAudioLinkOpened(TAccPolGenericID& aGenericId);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    90
				
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    91
		void NotifyAccessoryAudioLinkClosed(TAccPolGenericID& aGenericId);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    92
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    93
		void AccessoryAudioLinkClose(TAccPolGenericID& aGenericId, TUint32 aAudioType );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    94
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    95
		void NotifyAccessoryConnectionStatusChanged(TAccPolGenericIDArray& aGenericIdArray);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    96
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    97
		// Accessory Control
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    98
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    99
		void ConnectAccessory(TAccPolGenericID& aGenericId, TUint64 aHWDeviceID);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   100
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   101
		void DisconnectAccessory(TAccPolGenericID& aGenericId);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   102
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   103
		// Support functions
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   104
		TBool FindRequest(TTFRequestType aRequestType);		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   105
		
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   106
    public: // 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   107
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   108
		static const TInt iOffset;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   109
            
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   110
    protected:  // Functions from base classes       
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   111
        void DoCancel();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   112
	    void RunL();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   113
	    TInt RunError( TInt aError );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   114
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   115
	private:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   116
	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   117
		void SetRequestType( TTFRequestType aRequestType) {iRequestType=aRequestType;}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   118
	private:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   119
      
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   120
      	friend class 					CTFAccessoryTestControl;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   121
      	TSglQueLink iSlink;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   122
      	TAccPolAccessoryMode 			iAccMode;	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   123
      	CTFAccessoryTestControl&	 	iAccessoryTestControl;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   124
        TTFRequestType			 		iRequestType;                
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   125
        TTFRequestType			 		iRequestCompleted;                
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   126
        TInt64							iValue;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   127
        TUint32                         iCapabilityName;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   128
        TAccValueTypeTBool	 			iBooleanValue;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   129
        TAccValueTypeTInt 				iIntegerValue;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   130
        TAccValueTypeObject             iObjectValue;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   131
        TAccAudioType					iAudioType;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   132
        TBTDevAddr                      iBTaddr;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   133
        HBufC8*                         iObjectValueBuf;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   134
    };
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   135
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   136
#endif //__CTFTESTCONTROLOBSERVER_H__