cbsref/csyrefplugins/csy27010/inc/ChannelMgrCmdData.h
branchRCL_3
changeset 65 630d2f34d719
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
       
     1 //
       
     2 // * Copyright 2004 Neusoft America Inc.
       
     3 // * All rights reserved.
       
     4 // * This component and the accompanying materials are made available
       
     5 // * under the terms of the Eclipse Public License v1.0
       
     6 // * which accompanies this distribution, and is available
       
     7 // * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 // *
       
     9 // * Contributors:
       
    10 // * Keith Collins (Neusoft America Inc.)  original software development and additional code and modifications.
       
    11 // * Thomas Gahagen (Neusoft America Inc.)  additional code and modifications.
       
    12 // * Zhen Yuan (Neusoft America Inc.)  additional code and modifications.
       
    13 // *
       
    14 // * Description: This file contains the declaration for class CChannelMgrCmdData.
       
    15 // *              This class contains the behavior for a single 3GPP 27.010 logical
       
    16 // *              channel (DLC) for either a command or and data channel.
       
    17 // *
       
    18 //
       
    19 
       
    20 // ChannelMgrCmdData.h
       
    21 
       
    22 /** @file CChannelMgrCmdData.h
       
    23  *
       
    24  * .
       
    25  */
       
    26 
       
    27 #ifndef _CHANNELMGRCMDDATA_H_
       
    28 #define _CHANNELMGRCMDDATA_H_
       
    29 
       
    30 #include "CsyGlobals.h"
       
    31 #include "ChannelMgrBase.h"
       
    32 #include "Mux0710Protocol.h"
       
    33 
       
    34 class CPortFactory;
       
    35 class CCsyMsgBufBpFrame;
       
    36 
       
    37 /** @class CChannelMgrCmdData ChannelMgrCmdData.h "ChannelMgrCmdData.h"
       
    38  *  @brief Class CChannelMgrCmdData contains the behavior for a single
       
    39  *  3GPP 27.010 logical channel (DLC) for a command/data channel.
       
    40  *  This includes methods to open, close, initialize, configure
       
    41  *  and use the channel to transmit frames.
       
    42  */
       
    43 class CChannelMgrCmdData : public CChannelMgrBase
       
    44 	{
       
    45 public:
       
    46 	static CChannelMgrCmdData* NewL(const TUint8 aDlcNum,
       
    47 									CPortFactory& aPortFactory,
       
    48 									CMux0710Protocol& aMux0710Protocol);
       
    49     virtual ~CChannelMgrCmdData();
       
    50 
       
    51 	void Open(CPortC32InterfaceBase* aPort);
       
    52 	void Close(CPortC32InterfaceBase* aPort);
       
    53 	void SetOwner(CPortC32InterfaceBase* aPort);
       
    54 
       
    55 	// link for our parent's (port factory) single linked list
       
    56 	TSglQueLink iLink;
       
    57 
       
    58 private:
       
    59     CChannelMgrCmdData(const TUint8 aDlcNum, 
       
    60 					   CPortFactory& aPortFactory,
       
    61 					   CMux0710Protocol& aMux0710Protocol);
       
    62 	void ConstructL();
       
    63 
       
    64 	void ProcessRecvUihFrame(CCsyMsgBufBpFrame* aBpFrame);
       
    65 	void SetupCmdChannelsForATCmdsL();
       
    66 
       
    67 private:
       
    68 
       
    69 	TUint8 iCount; 
       
    70 	RArray<CPortC32InterfaceBase*> iPortArray;
       
    71 
       
    72 	};
       
    73 
       
    74 
       
    75 #endif  // _CHANNELMGRCMDDATA_H_