telephonyserverplugins/attestltsy/atcommand/generic/inc/atmanager.h
author Tom Pritchard <tomp@symbian.org>
Tue, 09 Feb 2010 12:31:43 +0000
branchAT_Test_LTSY
changeset 1 4047d69ee0e4
permissions -rw-r--r--
Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     7
//
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    10
//
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    11
// Contributors:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    12
//
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    13
// Description:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    14
// @file atmanager.h
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    15
// This contains CAtManager which manage AT commands
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    16
//
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    17
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    18
#ifndef ATMANAGER_H_
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    19
#define ATMANAGER_H_
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    20
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    21
// system include
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    22
#include <e32base.h>
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    23
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    24
// user include
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    25
#include "mcommobserver.h"
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    26
#include "atcommandbase.h"
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    27
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    28
//class forward
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    29
class CActiveCommandStore;
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    30
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    31
/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    32
 * This class is acting an interface between Comms Engine and AT commands, which manage to find active
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    33
 * AT command and send the Event to it.
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    34
 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    35
 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    36
class CAtManager : public CBase, 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    37
				   public MCommReadLineNotifier, 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    38
				   public MCommEngineObserver
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    39
	{
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    40
public:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    41
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    42
	 * Factory function
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    43
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    44
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    45
	static CAtManager* NewL();
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    46
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    47
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    48
	 * Factory function
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    49
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    50
	static CAtManager* NewLC();
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    51
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    52
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    53
	 * Destructor
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    54
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    55
	virtual ~CAtManager();
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    56
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    57
public:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    58
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    59
	 * Set current active solicited AT Command.
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    60
	 * By default, one one solicited AT command should be currently Active
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    61
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    62
	 * @param aSolicitedCommand The solicited AT command
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    63
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    64
	void SetSolicitedAtCommand(CAtCommandBase* aSolicitedCommand);
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    65
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    66
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    67
	 * Get the Active Commands store: only one solicited and number of unsoclited AT Commands
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    68
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    69
	 * CActiveCommandStore The active commands store
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    70
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    71
	CActiveCommandStore* GetActiveCommandStore() const;
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    72
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    73
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    74
	 * From MCommEngineObserver
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    75
	 * This function would be called when the event @see TAtEventSource happened.
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    76
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    77
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    78
	virtual void ReadOrWriteComplete(TAtEventSource aEvent, TInt aStatus);
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    79
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    80
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    81
	 * From MCommReadLineNotifier
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    82
	 * This function would be called when one line string were found 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    83
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    84
	virtual TBool NotifyOneLineFoundL(TInt aStatus, const TDesC8& aLineBuf);
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    85
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    86
protected:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    87
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    88
	 * Constructor
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    89
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    90
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    91
	CAtManager();
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    92
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    93
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    94
	 * 2nd constructor
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    95
	 * 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    96
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    97
	void ConstructL();
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    98
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    99
private:
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   100
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   101
	 * The active solicited AT command
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   102
	 * Not Own
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   103
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   104
	CAtCommandBase* iSolicitedCommand; 
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   105
	
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   106
	/**
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   107
	 * The active command store
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   108
	 * Own
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   109
	 */
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   110
	CActiveCommandStore* iActiveCommandStore;
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   111
	};
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   112
4047d69ee0e4 Initial upload of Nokia's AT based test LTSY which uses the dispatcher
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   113
#endif /*ATMANAGER_H_*/