|
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_ |