diff -r 630d2f34d719 -r 07a122eea281 cbsref/telephonyrefplugins/atltsy/atcommand/generic/inc/atcommandbase.h --- a/cbsref/telephonyrefplugins/atltsy/atcommand/generic/inc/atcommandbase.h Tue Aug 31 16:23:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,278 +0,0 @@ -// Copyright (c) 2009 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: -// @file atcommandbase.h -// This contains CAtCommandBase which is the base class for AT command -// - -#ifndef ATCOMMANDBASE_H_ -#define ATCOMMANDBASE_H_ - -// system include -#include -#include - -// user include -#include "atcommandtype.h" -#include "ltsycommondefine.h" -#include "respondbufparser.h" -#include "requestbase.h" -#include "globalphonemanager.h" - - -// const defination -const TUint KLtsyGenericBufferSize = 200; - -// forward class -class CGlobalPhonemanager; -class CAtManager; -class CCommEngine; -class CCtsyDispatcherCallback; -class MAtCommandExecuteObserver; -class CRequestBase; -class CATSwitchOnLineMode; - -/** -* This class provide the common functionalities for AT Command -* -*/ -class CAtCommandBase : public CRequestBase - { -public: - /** - * Destructor - * - */ - virtual ~CAtCommandBase(); -public:// pure virtual functions - - /** - * Pure virtual function. Start Execute AT Command - */ - virtual void ExecuteCommand()=0; - - /** - * Cancel the AT Command execution - */ - virtual void CancelCommand(); - -public:// virtual functions - /** - * Must be called after the AT Command execution get complete - */ - virtual void Complete(); - - /** - * It can be overrided by inherited class - * - * @param aResponseBuf Line buf reading from baseband which is - * parsered by class CAtCommandBase or CAtCommandBase's subtype - */ - virtual void ParseResponseL(const TDesC8& aResponseBuf); - - /** - * Virtual Function - * This function would be called after one of @see TAtEventSource happened. - * Subclass should implement this function. - * - * @param aEventSource One of them: EReadCompletion, EWriteCompletion and ETimeoutCompletion - * @param aStatus KErrNone if the event was complete without any error, or otherwise. - */ - virtual void EventSignal(TAtEventSource aEventSource, TInt aStatus); -public: - /** - * Return the AT Type - * @return TLtsyATCommandType The AT Type and @see TLtsyATCommandType - */ - TLtsyATCommandType AtType(); - - /** - * Add expected response string after an AT Command was executed - * - * @param aExpectStr - */ - void AddExpectStringL(const TDesC8& aExpectStr); - - /** - * Add expected response string after an AT Command was executed - * - * @param aExpectStr - */ - void RemoveExpectString(const TDesC8& aExpectStr); - - /** - * Reset and clean all the expect string - * - */ - void RemoveAllExpectString(); - - /** - * Add an AT Command to ATCommandStore - * - */ - void AddUnsolicitedAtCommand(); - - /** - * Remove an AT Command in ATCommandStore - * - */ - void RemoveAtCommand(); - - /** - * Issue writing AT Command to baseband - * - */ - void Write(); - - /** - * Set write and read timout - */ - void SetTimeOut(TInt aWriteTimeOut, TInt aReadTimeOut); - - /** - * Clean the whole buffer received from baseband - */ - void ClearBuffer(); - - /** - * Clean the current line in the buffer - */ - void ClearCurrentLine(); - - /** - * The buffer for storing the all received data from comms engine - */ - TPtrC8 Buffer() const; - - /** - * The current line in the buffer - */ - TPtrC8 CurrentLine() const; - /** - * The last line which had not matched in the buffer - */ - TPtrC8 PrecedingLine() const; - - /** - * Check if the passed string was matched with Expected AT String - * - * @param aReadLine - * @return TBool ETrue if matched, otherwise EFalse - */ - virtual TBool MatchExpectString(const TDesC8& aReadLine); - /** - * Set AT command observer - * If the observer was set, the AT command should return the data from baseband back to it but not Dispatcher Callback handler. - * - * @param aAtCommandObserver The AT command observer @see MAtCommandExecuteObserver - */ - void SetAtCommandObserver(MAtCommandExecuteObserver* aAtCommandObserver); - - /** - * Remove the AT command observer - * - */ - void RemoveAtCommandObserver(); - /** - * Will be called by AT Manager whenever a event was triggered - * - * @param aEventSource - * @param aStatus - */ - void GenericEventSignal(TAtEventSource aEventSource, TInt aStatus); -protected: - /** - * Constructor - * - * @param aAtManager - * @param aCommEngine - * @param aAtCommandObserver - */ - CAtCommandBase(CGlobalPhonemanager& aGloblePhone, CCtsyDispatcherCallback& aCtsyDispatcherCallback); - - /** - * 2nd Constructor - * This function must be called in his subtype class for - * creating instance of class CRespondBufParser - */ - void ConstructL(); - /** - * Start timer and would be expired after time periond of aTimeOut seconds - */ - void StartTimer(const TInt aTimeOut); -private: - /** - * Stop the timer - */ - void StopTimer(); - -protected: - /** - * Identify the Type of AT Command - */ - TLtsyATCommandType iAtType; - - /** - * The array of strings which contain the expected Response Message from BaseBand - */ - RArray iExpectingArray; - - /** - * The buffer contains the "AT" String which should be sent to BaseBand Modem - */ - TBuf8 iTxBuffer; - - /** - * The expired time in which the Writing of AT command should be complete - */ - TInt iWriteTimeOut; - - /** - * The expired time in which the response message should be received - */ - TInt iReadTimeOut; - - /** - * The pointer to class CRespondBufParserparser for parsering response - * message buffer - * - */ - CRespondBufParser* iParser; - - /** - * The dispacher callback handler - */ - CCtsyDispatcherCallback& iCtsyDispatcherCallback; -private: - /** - * The AT command observer. - * In most of cases, when the AT command was complete, it should use dispathcer callback handler to return data back to CTSY. - * But in some of cases, AT command should return the data back to the AT Command Observer which actually return the composed data - * (some of them were collected from other AT commands) - * back to CTSY. - * - * Not own - */ - MAtCommandExecuteObserver* iAtCommandObserver; - - /** - * The buffer contains the line which had not matched - */ - TBuf8 iNoMatchedLastLine; - - - CATSwitchOnLineMode* iATSwitchOnLineMode; - - }; - -#endif /*ATCOMMANDBASE_H_*/