public void Disconnect() { try { uint requestId = 0; m_MbnConnection.Disconnect(out requestId); rootPage.NotifyUser("Waiting for Disconnect to complete for requestId: " + requestId.ToString(), NotifyType.StatusMessage); } catch (Exception e) { rootPage.NotifyUser(ParseExceptionCode(e), NotifyType.ErrorMessage); } }
private void disconnectFromPc() { try { LogMessage("Disconnecting from PC..."); IMbnConnection connection = ((IMbnConnection[])m_MbnConnectionManager.GetConnections())[0]; uint requestId; connection.Disconnect(out requestId); } catch (Exception ex) { LogMessage("Disconnect failed - " + ex.ToString()); } }
void ExecuteAction(ActionType action) { IMbnInterfaceManager interfaceManager = null; IMbnInterface inf = null; IMbnSubscriberInformation subscriber = null; try { interfaceManager = (IMbnInterfaceManager) new MbnInterfaceManager(); inf = interfaceManager.GetInterface(InterfaceID); subscriber = inf.GetSubscriberInformation(); XmlDocument xml = new XmlDocument(); xml.LoadXml(mobileProfileTemplate); xml["MBNProfile"]["SubscriberID"].InnerText = subscriber.SubscriberID; xml["MBNProfile"]["SimIccID"].InnerText = subscriber.SimIccID; //Console.WriteLine("Profile: " + xml.OuterXml); IMbnConnection conn = null; try { conn = inf.GetConnection(); //MBN_ACTIVATION_STATE state; //string profile; //conn.GetConnectionState(out state, out profile); uint requestId; if (action == ActionType.Connect) { conn.Connect(MBN_CONNECTION_MODE.MBN_CONNECTION_MODE_TMP_PROFILE, xml.OuterXml, out requestId); } else { conn.Disconnect(out requestId); } } finally { if (conn != null) { Marshal.FinalReleaseComObject(conn); } } } finally { if (subscriber != null) { Marshal.FinalReleaseComObject(subscriber); } if (inf != null) { Marshal.FinalReleaseComObject(inf); } if (interfaceManager != null) { Marshal.FinalReleaseComObject(interfaceManager); } } }