61 @param[in,out] itemDataHelper Control Panel item data helper object. |
60 @param[in,out] itemDataHelper Control Panel item data helper object. |
62 */ |
61 */ |
63 |
62 |
64 CpWlanEntryItemData::CpWlanEntryItemData(CpItemDataHelper &itemDataHelper) : |
63 CpWlanEntryItemData::CpWlanEntryItemData(CpItemDataHelper &itemDataHelper) : |
65 CpSettingFormEntryItemData(itemDataHelper, hbTrId("txt_occ_dblist_wireless_lan")), |
64 CpSettingFormEntryItemData(itemDataHelper, hbTrId("txt_occ_dblist_wireless_lan")), |
66 mWlanStatusInfo(new WlanStatusInfo(this)) |
65 mWlanStatusInfo(new WlanStatusInfo(this)), |
|
66 mProcessing(false), |
|
67 mRequest(0) |
67 { |
68 { |
68 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY); |
69 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY); |
69 |
70 |
70 // Listen for WLAN status updates |
71 // Listen for WLAN status updates |
71 bool connectStatus = connect( |
72 bool connectStatus = connect( |
86 */ |
87 */ |
87 |
88 |
88 CpWlanEntryItemData::~CpWlanEntryItemData() |
89 CpWlanEntryItemData::~CpWlanEntryItemData() |
89 { |
90 { |
90 OstTraceFunctionEntry0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY); |
91 OstTraceFunctionEntry0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY); |
|
92 delete mRequest; |
91 OstTraceFunctionExit0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT); |
93 OstTraceFunctionExit0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT); |
92 } |
94 } |
93 |
95 |
|
96 void CpWlanEntryItemData::handleOk(const QVariant &result) |
|
97 { |
|
98 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_HANDLEOK_ENTRY); |
|
99 Q_UNUSED(result); |
|
100 mProcessing = false; |
|
101 |
|
102 delete mRequest; |
|
103 mRequest = NULL; |
|
104 |
|
105 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
|
106 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::handleOk() service request completed OK"); |
|
107 #endif |
|
108 OstTraceFunctionExit0(CPWLANENTRYITEMDATA_HANDLEOK_EXIT); |
|
109 } |
|
110 |
|
111 |
|
112 void CpWlanEntryItemData::handleError(int errorCode, const QString& errorMessage) |
|
113 { |
|
114 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_HANDLEERROR_ENTRY); |
|
115 TPtrC tmp(errorMessage.utf16(),errorMessage.length()); |
|
116 OstTraceExt2(TRACE_FLOW, CPWLANENTRYITEMDATA_HANDLEERROR, "CpWlanEntryItemData::handleError;errorCode=%d;errorMessage=%S", errorCode, tmp); |
|
117 |
|
118 mProcessing = false; |
|
119 |
|
120 delete mRequest; |
|
121 mRequest = NULL; |
|
122 |
|
123 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
|
124 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::handleOk() service request completed with error"); |
|
125 #endif |
|
126 OstTraceFunctionExit0(CPWLANENTRYITEMDATA_HANDLEERROR_EXIT); |
|
127 } |
|
128 |
|
129 |
94 /*! |
130 /*! |
95 Function for handling the entry item click. |
131 Function for handling the entry item click. |
96 */ |
132 */ |
97 |
133 |
98 CpBaseSettingView *CpWlanEntryItemData::createSettingView() const |
134 CpBaseSettingView *CpWlanEntryItemData::createSettingView() const |
99 { |
135 { |
100 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_ENTRY); |
136 OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_ENTRY); |
|
137 |
|
138 if (mProcessing) { |
|
139 OstTrace0(TRACE_NORMAL, CPWLANENTRYITEMDATA_CREATESETTINGVIEW, "CpWlanEntryItemData::createSettingView:already processing, return"); |
|
140 return 0; |
|
141 } |
|
142 mProcessing = true; |
101 |
143 |
102 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
144 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
103 qInstallMsgHandler(XQSERVICEMESSAGEHANDLER); |
145 qInstallMsgHandler(XQSERVICEMESSAGEHANDLER); |
104 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView requesting listView()"); |
146 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView requesting listView()"); |
105 #endif |
147 #endif |
106 |
148 |
107 // Execute synchronous WLAN Sniffer list view |
149 // Execute asynchronous WLAN Sniffer list view |
108 XQApplicationManager aiwMgr; |
150 mRequest = mAiwMgr.create( |
109 XQAiwRequest *request = aiwMgr.create( |
|
110 "wlansniffer", |
151 "wlansniffer", |
111 XQI_WLAN_SNIFFER, |
152 XQI_WLAN_SNIFFER, |
112 XQOP_WLAN_SNIFFER, |
153 XQOP_WLAN_SNIFFER, |
113 true); |
154 true); |
114 |
155 |
115 // The WLAN Sniffer service must always exist |
156 // The WLAN Sniffer service must always exist |
116 Q_ASSERT(request); |
157 Q_ASSERT(mRequest); |
117 |
158 |
118 // The service is synchronous & embedded |
159 // The service is asynchronous & embedded |
119 request->setSynchronous(true); |
160 mRequest->setSynchronous(false); |
120 |
161 |
121 // Window title needs to be set to "Control Panel" |
162 // Window title needs to be set to "Control Panel" |
122 XQRequestInfo reqInfo; |
163 XQRequestInfo reqInfo; |
123 reqInfo.setInfo(XQINFO_KEY_WINDOW_TITLE, hbTrId("txt_cp_title_control_panel")); |
164 reqInfo.setInfo(XQINFO_KEY_WINDOW_TITLE, hbTrId("txt_cp_title_control_panel")); |
124 request->setInfo(reqInfo); |
165 mRequest->setInfo(reqInfo); |
125 |
166 |
126 bool status = request->send(); |
167 connect(mRequest, SIGNAL(requestOk(QVariant)), SLOT( handleOk(QVariant)), Qt::QueuedConnection); |
127 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
168 connect(mRequest, SIGNAL(requestError(int, QString)), SLOT(handleError(int, QString))); |
128 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView listView() service request completed"); |
169 |
|
170 bool status = mRequest->send(); |
|
171 #ifdef WLANENTRYPLUGIN_SERVICETRACES |
|
172 XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView listView() service request sent"); |
129 #endif |
173 #endif |
130 Q_ASSERT(status); |
174 Q_ASSERT(status); |
131 delete request; |
|
132 |
175 |
133 OstTraceFunctionExit0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_EXIT); |
176 OstTraceFunctionExit0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_EXIT); |
134 return 0; |
177 return 0; |
135 } |
178 } |
136 |
179 |